
Quero imprimir (despejar) as soluções das questões no final do livro. Se eu apenas usar, \printsolutions
obtenho todas as soluções em uma nova linha (como um novo parágrafo).
Preciso tê-los na mesma linha (apenas números, sem nomes), algo assim:
1)Tão solitário.2)Sol dois.3)... etc.
Existe uma maneira/solução alternativa para conseguir isso?
Se sim, existe uma maneira de incluir automaticamente o nome da seção/subseção na lista (na mesma linha)? Como
Seção 1. Subseção um. 1)Tão solitário.2)Sol dois.Subseção dois. 1)Tão solitário.2)Sol dois.Seção 2. Subseção 1. 1)Tão solitário ...
Editar:
Seguindo o cgnieder Edit, estou tentando encontrar uma maneira de evitar a rotulagem manual e '\nameref'. Eu inventei algo, mas não está funcionando como deveria - 'printsolutions' dá o mesmo nome para seções. Por favor, veja o texto embutido e os comentários também. Ajuda!
\documentclass{scrartcl}
\usepackage{exsheets}
\setlength{\parindent}{0pt}
\DeclareQuestionProperty{section-title}
\SetupExSheets{counter-within=section ,
headings=inline-nr ,
counter-format=qu)}
\newcommand{\lsection}[1]{
\def\secName{#1}
\section{#1}
}
\SetupExSheets{section-hook = \noindent\bfseries
Section \GetQuestionProperty{section-title}{\CurrentQuestionID}
\space}
\begin{document}
\lsection{One}
\begin{question}
\SetQuestionProperties{section-title= \secName }
foo
\end{question}
\begin{solution}
foo
\end{solution}
\begin{question}
\SetQuestionProperties{section-title= \secName }
bar
\end{question}
\begin{solution}
bar
\end{solution}
Solutions for section "\secName" are: \printsolutions[section]\\ % OK
ALL the solutions until here are: \printsolutions % OK
\lsection{Two}
\begin{question}
\SetQuestionProperties{section-title= \secName }
baz
\end{question}
\begin{solution}
baz
\end{solution}
\begin{question}
\SetQuestionProperties{section-title= \secName }
foobar
\end{question}
\begin{solution}
foobar
\end{solution}
Solutions for section "\secName" are: \printsolutions[section]\\ % OK
ALL the solutions at this point are wrong, the 1st section name is "Two" instead of "One": \printsolutions % WRONG!!
\lsection{Answers} %changing '\lsection' to '\section' makes all the section names as "Two"
This is the output of 'printsolutions' wrongly showing the same section name throuhout (the last name used):
\printsolutions
\end{document}
Responder1
A lista que você deseja é possível usando a inline-nr
instância de títulos e com configuração \exsheets_par:
igual a \scan_stop:
. O segundo ponto impede exsheets
a) inserir a \par
após seus ambientes eb) inserir espaço vertical após o \par
. Este é um recurso não documentado, mas extra integrado para essa finalidade. Adicionarei uma interface de usuário oficial para isso.
Infelizmente, atualmente não há como obter a lista completa automaticamente com os títulos das seções inseridos nos locais apropriados. Mas você pode usar o mecanismo exsheets
' \exlabel
talvez junto com nameref
uma solução semiautomática:
\documentclass{scrartcl}
\usepackage[load-headings]{exsheets}
\SetupExSheets{counter-within=section}
\usepackage{nameref}
% place \label and \exlabel simultaneously:
\newcommand*\mylabel[1]{\label{#1}\exlabel{#1}}
\begin{document}
\section{One}\mylabel{sec:foo}
\begin{question}
foo
\end{question}
\begin{solution}
foo
\end{solution}
\begin{question}
bar
\end{question}
\begin{solution}
bar
\end{solution}
\section{Two}\mylabel{sec:bar}
\begin{question}
baz
\end{question}
\begin{solution}
baz
\end{solution}
\begin{question}
foobar
\end{question}
\begin{solution}
foobar
\end{solution}
\section{Solutions}
\ExplSyntaxOn
\cs_set_eq:NN \exsheets_par: \scan_stop:
\ExplSyntaxOff
\SetupExSheets{headings=inline-nr,counter-format=qu)}
\textbf{Section \nameref{sec:foo}} \printsolutions[section={\S{sec:foo}}]
\textbf{Section \nameref{sec:bar}} \printsolutions[section={\S{sec:bar}}]
\end{document}
Editar
Com a versão 0.13 (11/05/2014) exsheets
disponibiliza a opção section-hook
. Em combinação com nameref
propriedades de perguntas e pode ser usado da seguinte maneira para obter o mesmo layout com apenasumchamada de \printsolutions
:
\documentclass{scrartcl}
\usepackage[load-headings]{exsheets}[2014/05/11]
\SetupExSheets{counter-within=section}
\DeclareQuestionProperty{section-title}
\usepackage{nameref}
\begin{document}
\section{One}\label{sec:foo}
\begin{question}
\SetQuestionProperties{section-title=\nameref{sec:foo}}
foo
\end{question}
\begin{solution}
foo
\end{solution}
\begin{question}
\SetQuestionProperties{section-title=\nameref{sec:foo}}
bar
\end{question}
\begin{solution}
bar
\end{solution}
\section{Two}\label{sec:bar}
\begin{question}
\SetQuestionProperties{section-title=\nameref{sec:bar}}
baz
\end{question}
\begin{solution}
baz
\end{solution}
\begin{question}
\SetQuestionProperties{section-title=\nameref{sec:bar}}
foobar
\end{question}
\begin{solution}
foobar
\end{solution}
\section{Solutions}
\SetupExSheets{
headings = inline-nr , % numbered and inline
counter-format = qu) , % numbers 1) 2) ...
section-hook = % code to be added before solutions of a new section
% are printed
% \par begin a new paragraph for a new section
\noindent\bfseries
Section \GetQuestionProperty{section-title}{\CurrentQuestionID}%
\space
}
\printsolutions
\end{document}