Une façon plus structurée de composer des affectations dans LaTeX

8

Je tape des devoirs avec la structure de base

Problème numéro de problème

Solution

et je ne suis pas vraiment satisfait de la source LaTeX que je fais. Par exemple

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

Cette solution n'est pas très bonne car elle n'utilise pas les compteurs automatiques et bien que les affectations soient courtes, je pourrais en avoir plus tard et avoir besoin d'une table des matières.

Maintenant, les problèmes dans mon contexte sont des sections logiques de mes documents, et donc \ section est logique. Un nouveau type de commande dirait-il que \ problem aurait plus de sens?

Flamme
la source
2
Vous trouverez plus de questions et réponses LaTeX sur Stack Overflow que de super utilisateur: stackoverflow.com/questions/tagged/latex . Voir les méta-questions meta.stackexchange.com/questions/7135/… et meta.stackexchange.com/questions/12918/… pour une discussion sur l'endroit où ces questions sont les plus appropriées.
dmckee --- chaton ex-modérateur
Cela ne semblait pas approprié sur Stack Overflow car il s'agissait d'un devoir plus mathématique et LaTeX n'était pas très programmé.
Flame
1
Ce n'est pas parfaitement clair, mais il semble y avoir plus de LaTeXers sur SO que sur SU, c'est tout ...
dmckee --- chaton ex-modérateur

Réponses:

3

J'ai trouvé cet exemple. Ce n'est pas exactement ce que vous voulez, mais si vous recherchez à l'aide de compteurs et des définitions de nouvelle commande et de renouvellement de commande, vous devriez pouvoir faire exactement ce que vous voulez, ce qui n'était pas totalement clair pour moi.

\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
la source
9

J'utilise la classe de documents d' examen pour cette tâche. Un document de base ressemble alors à ceci:

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

Avant de découvrir la classe d'examen, j'ai utilisé la classe de document hmcpset du département de mathématiques du Harvey Mudd College.

las3rjock
la source
1

Je suggérerais d'utiliser énumérer pour organiser les problèmes et utiliser des sections pour les regrouper. Par exemple:

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

Extrait de pangea.stanford.edu LaTeX par l'exemple

Cela vous donne beaucoup plus de flexibilité pour structurer les détails de vos affectations individuelles - par exemple, vous pouvez énumérer aussi profondément que vous le souhaitez, mais vous ne pouvez prendre des sections que sur 3 niveaux.

DaveParillo
la source
1

Pour ce genre de chose, j'utiliserais probablement le theorempaquet. En l'utilisant, vous pouvez définir un environnement de type théorème comme celui-ci:

\newtheorem{problem}{Problem}[chapter]

Ici, l'argument facultatif [chapter]indique que la numérotation doit être effectuée par chapitre, vous obtenez donc une numérotation comme 1.1, 1.2 dans le premier chapitre, 2.1 dans le deuxième chapitre et ainsi de suite. Si vous voulez juste une numérotation séquentielle dans tout le document, laissez cet argument complètement.

Et vous l'utiliseriez comme ceci:

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

Bien sûr, vous voudriez lui donner une étiquette plus descriptive que juste prob:1.

En outre, la composition par défaut met le texte en italique. Vous pouvez changer cela en remplaçant la définition par quelque chose comme

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

J'ai encapsulé le changement de police {}afin qu'il n'affecte que cette définition d'environnement et pas les autres que vous pourriez avoir.

jk.
la source
J'avais l'habitude de faire cela; puis j'ai découvert des classes de documents conçues pour cette tâche.
las3rjock
0

Une façon de le faire est d'utiliser l'environnement d'équation:

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

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

Cela vous donne des équations numérotées et un moyen de s'y référer.

legoscia
la source