Bardziej uporządkowany sposób składania przypisań w LaTeX

8

Piszę kilka zadań z podstawową strukturą

Problem problemem numer

Rozwiązanie

i nie jestem bardzo zadowolony ze źródła LaTeX, które tworzę. Na przykład

\section*{Problem 1}
In order to solve $a^2+b^2 = c^2$ ...

To rozwiązanie nie jest zbyt dobre, ponieważ nie korzysta z automatycznych liczników i chociaż zadania są krótkie, mogę mieć dłuższe i potrzebować spisu treści.

Teraz problemy w moim kontekście są logicznymi sekcjami moich dokumentów, więc \ sekcja ma sens. Czy jakieś nowe polecenie powiedziałoby, że \ problem ma większy sens?

Płomień
źródło
2
Znajdziesz więcej pytań i odpowiedzi LaTeX na Stack Overflow niż superużytkownik: stackoverflow.com/questions/tagged/latex . Zobacz meta pytania meta.stackexchange.com/questions/7135/… i meta.stackexchange.com/questions/12918/..., aby uzyskać dyskusję na temat tego, gdzie takie pytania są najbardziej odpowiednie.
dmckee --- były moderator kociak
Nie było to odpowiednie w przypadku przepełnienia stosu, ponieważ było to bardziej matematyczne zadanie domowe, a LaTeX nie jest zbyt programowy.
Płomień
1
Nie jest to do końca jasne, ale wydaje się, że na SO jest więcej LaTeXerów niż SU, to wszystko ...
dmckee --- były moderator kociak

Odpowiedzi:

3

Znalazłem ten przykład. Nie jest to dokładnie to, czego chcesz, ale jeśli spojrzysz w górę za pomocą liczników i nowych poleceń i odnów definicje poleceń, powinieneś być w stanie zrobić dokładnie to, co chcesz, co nie było dla mnie całkowicie jasne.

\documentclass{article}
\begin{document}

\newcounter{set}
\setcounter{set}{2}
\newcounter{problem}[set]

\newcommand{\problem}{\refstepcounter{problem}{\vspace{2\baselineskip}\noindent\large \bfseries Problem~\arabic{set}.\arabic{problem}}\\}

\problem
\textit{Sum-product algorithm:}  Consider the sum-product\ldots.

\problem
\textit{Max-marginals:} Consider the max-marginals\ldots.

\stepcounter{problem}
\problem
Demonstraction of \verb"\stepcounter"

\addtocounter{problem}{-1}
\problem
Counter increments can be negative!

\end{document}
dlamblin
źródło
9

Do tego zadania używam klasy dokumentu egzaminacyjnego . Podstawowy dokument wygląda następująco:

\documentclass[answers]{exam}
\begin{document}
\firstpageheader{}{}{\bf\large Name \\ Class \\ Assignment \\ Due Date}
\runningheader{Name}{Class Assignment}{Due Date}

\begin{questions}
\question
    This is the question.

\begin{solution}
    This is the solution to the question.
\end{solution}

\end{questions}
\end{document}

Zanim odkryłem klasę egzaminacyjną, korzystałem z klasy dokumentów hmcpset z wydziału matematyki w Harvey Mudd College.

las3rjock
źródło
1

Sugerowałbym użycie wyliczenia do uporządkowania problemów i użycia sekcji do ich grupowania. Na przykład:

\begin{enumerate}
\item
The ``enumerate'' environment numbers the list elements, like this.

Items in a list can contain multiple paragraphs.
These paragraphs are appropriately spaced and indented according to their
position in the list.
  \begin{itemize}
  \item The ``itemize'' environment sets off list items with ``bullets'',
like this. Finally, the ``description'' environment lets you put your own
    \begin{description}
    \item[A] label on each item, like this ``A''.
    \item[If the label is long,] the first line of the item text will
be spaced over to the right as needed.
    \end{description} 
\end{enumerate}

Zaczerpnięte z pangea.stanford.edu LaTeX przez przykład

Rozwiązanie to daje sposób większą elastyczność strukturyzacji szczegóły indywidualnych zadań - na przykład można wyliczyć, jak głęboko, jak trzeba, ale można wziąć tylko sekcje na 3 poziomach.

DaveParillo
źródło
1

Do tego rodzaju rzeczy prawdopodobnie użyłbym theorempakietu. Za jego pomocą możesz zdefiniować środowisko podobne do twierdzeń, takie jak to:

\newtheorem{problem}{Problem}[chapter]

W tym przypadku opcjonalny argument [chapter]mówi, że numeracja ma być wykonywana dla każdego rozdziału, więc otrzymujesz numerację taką jak 1.1, 1.2 w pierwszym rozdziale, 2.1 w drugim rozdziale i tak dalej. Jeśli chcesz po prostu numerować sekwencyjnie w całym dokumencie, całkowicie pomiń ten argument.

I użyłbyś tego w ten sposób:

\begin{problem}\label{prob:1}
  ... text here
\end{problem}

Oczywiście, chciałbyś nadać mu bardziej opisową etykietę niż tylko prob:1.

Ponadto domyślne składanie powoduje pisanie kursywą. Możesz to zmienić, zastępując definicję czymś takim

{\theorembodyfont{\rmfamily}\newtheorem{problem}{Problem}[chapter]}

Wprowadziłem zmianę czcionki {}, aby miała ona wpływ tylko na tę definicję środowiska, a nie na inne, które możesz mieć.

jk.
źródło
Robiłem to; potem odkryłem klasy dokumentów przeznaczone do tego zadania.
las3rjock
0

Jednym ze sposobów na to jest użycie środowiska równań:

\begin{equation}
\label{myeq}
a^2 + b^2 = c^2
\end{equation}

In order to solve \eqref{myeq} ...

To daje numerowane równania i sposób na odniesienie się do nich.

legoscia
źródło