Eine strukturiertere Methode zum Setzen von Zuweisungen in LaTeX


8

Ich schreibe einige Aufgaben mit der Grundstruktur

Problem Problemnummer

Lösung

und ich bin nicht wirklich zufrieden mit der LaTeX-Quelle, die ich mache. Zum Beispiel

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

Diese Lösung ist nicht sehr gut, da sie nicht die automatischen Zähler verwendet. Obwohl die Zuordnungen kurz sind, habe ich möglicherweise später längere und benötige ein Inhaltsverzeichnis.

Jetzt sind Probleme in meinem Kontext logische Abschnitte meiner Dokumente, und daher ist \ section sinnvoll. Würde ein neuer Befehl sagen, dass \ problem sinnvoller ist?


2
Auf Stack Overflow finden Sie mehr LaTeX-Fragen und -Antworten als auf Superuser : stackoverflow.com/questions/tagged/latex . Unter Meta-Fragen meta.stackexchange.com/questions/7135/… und meta.stackexchange.com/questions/12918/… finden Sie einige Informationen dazu, wo solche Fragen am besten geeignet sind.
dmckee --- Ex-Moderator Kätzchen

Bei Stack Overflow fühlte es sich nicht angemessen an, da dies eine mathematischere Hausaufgabe war und LaTeX nicht sehr programmiert ist.
Flamme

1
Es ist nicht ganz klar, aber es scheint mehr LaTeXer auf SO als auf SU zu geben, das ist alles ...
dmckee --- Ex-Moderator Kätzchen

Antworten:


3

Ich habe dieses Beispiel gefunden. Es ist nicht genau das, was Sie wollen, aber wenn Sie mit Zählern und den Definitionen für neue Befehle und Erneuerungsbefehle nachschlagen, sollten Sie in der Lage sein, genau das zu tun, was Sie wollen, was mir nicht ganz klar war.

\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}

9

Ich benutze die Prüfungsdokumentklasse für diese Aufgabe. Ein Basisdokument sieht dann so aus:

\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}

Bevor ich die Prüfungsklasse entdeckte, verwendete ich die hmcpset- Dokumentenklasse der Mathematikabteilung am Harvey Mudd College.


1

Ich würde vorschlagen, Enumerate zu verwenden, um Probleme zu organisieren und Abschnitte zu verwenden, um sie zu gruppieren. Zum Beispiel:

\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}

Aus pangaea.stanford.edu LaTeX als Beispiel entnommen

Auf diese Weise erhalten Sie viel mehr Flexibilität bei der Strukturierung der Details Ihrer individuellen Aufgaben. Sie können beispielsweise so tief aufzählen, wie Sie möchten, aber nur Abschnitte auf drei Ebenen erstellen.


1

Für so etwas würde ich wahrscheinlich das theoremPaket verwenden. Mit ihm können Sie eine Theorem-ähnliche Umgebung wie folgt definieren:

\newtheorem{problem}{Problem}[chapter]

Hier [chapter]besagt das optionale Argument , dass die Nummerierung pro Kapitel erfolgen soll, sodass Sie eine Nummerierung wie 1.1, 1.2 im ersten Kapitel, 2.1 im zweiten Kapitel usw. erhalten. Wenn Sie nur eine fortlaufende Nummerierung im gesamten Dokument wünschen, lassen Sie dieses Argument ganz weg.

Und Sie würden es so verwenden:

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

Natürlich möchten Sie ihm eine aussagekräftigere Bezeichnung geben als nur prob:1.

Außerdem setzt der Standardsatz den Text kursiv. Sie können dies ändern, indem Sie die Definition durch etwas wie ersetzen

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

Ich habe die Schriftartenänderung {}so eingeschlossen, dass sie nur diese Umgebungsdefinition betrifft und keine anderen, die Sie möglicherweise haben.


Ich habe das immer gemacht; Dann entdeckte ich Dokumentklassen, die für diese Aufgabe entwickelt wurden.
las3rjock

0

Eine Möglichkeit besteht darin, die Gleichungsumgebung zu verwenden:

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

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

Das gibt Ihnen nummerierte Gleichungen und eine Möglichkeit, auf sie zu verweisen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.