Uma maneira mais estruturada de compor atribuições no LaTeX

7

Estou escrevendo algumas tarefas com a estrutura básica

Problem problem number

Solution

e eu não estou realmente satisfeito com a fonte do LaTeX que estou fazendo. Por exemplo

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

Esta solução não é muito boa, pois não usa os contadores automáticos e, embora as atribuições sejam curtas, eu poderia ter mais contagens mais tarde e precisar de um índice.

Agora, problemas no meu contexto são seções lógicas dos meus documentos e, portanto, \ section faz sentido. Algum tipo de comando novo diria \ problema faz mais sentido?

    
por Flame 21.10.2009 / 16:32

5 respostas

3

Eu encontrei este exemplo. Não é exatamente o que você quer, mas se você olhar para cima usando contadores e as definições newcommand e renewcommand, você deve ser capaz de fazer exatamente o que você quer, o que não foi totalmente claro para mim.

\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}
    
por 21.10.2009 / 18:09
8

Eu uso a classe de documento exame para essa tarefa. Um documento básico fica assim:

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

Antes de descobrir a aula de exame, usei a classe de documento hmcpset o departamento de matemática do Harvey Mudd College.

    
por 21.10.2009 / 19:51
1

Sugiro usar o enumerate para organizar problemas e usar seções para agrupá-los. Por exemplo:

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

Extraído de pangea.stanford.edu LaTeX por exemplo

Fazer isso dá a você maneira mais flexibilidade para estruturar os detalhes de suas tarefas individuais - por exemplo, você pode enumerar o mais profundamente necessário, mas só pode levar seções a três níveis.

    
por 21.10.2009 / 17:09
1

Para esse tipo de coisa, provavelmente usaria o pacote theorem . Usando isso, você pode definir um ambiente semelhante a um teorema assim:

\newtheorem{problem}{Problem}[chapter]

Aqui, o argumento opcional [chapter] diz que a numeração deve ser executada por capítulo, assim você obtém numeração como 1.1, 1.2 no primeiro capítulo, 2.1 no segundo capítulo e assim por diante. Se você quer apenas numeração sequencial em todo o documento, deixe de lado esse argumento.

E você usaria assim:

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

Claro, você gostaria de dar um rótulo mais descritivo do que apenas prob:1 .

Além disso, a formatação padrão coloca o texto em itálico. Você pode mudar isso substituindo a definição por algo como

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

Eu encapsulei a alteração da fonte em {} , de modo que ela afeta apenas essa definição de ambiente e não qualquer outra que você possa ter.

    
por 21.10.2009 / 18:32
0

Uma maneira de fazer isso é usar o ambiente da equação:

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

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

Isso lhe dá equações numeradas e uma maneira de se referir a elas.

    
por 21.10.2009 / 17:11

Tags