
Quiero imprimir (volcar) las soluciones a las preguntas al final del libro. Si solo uso, \printsolutions
obtengo cada solución en una nueva línea (como un nuevo párrafo).
Necesito tenerlos en la misma línea (solo números, sin nombres), algo como esto:
1)Tan solitario.2)Sol dos.3)... etc.
¿Existe alguna forma/solución alternativa para lograr esto?
En caso afirmativo, ¿hay alguna manera de incluir automáticamente el nombre de la sección/subsección en la lista (en la misma línea)? Como
Sección 1. Subsección primera. 1)Tan solitario.2)Sol dos.Subsección segunda. 1)Tan solitario.2)Sol dos.Sección 2.ª Subsección 1.1)Tan solitario ...
Editar:
Después de cgnieder Edit, estoy tratando de encontrar una manera de evitar el etiquetado manual y '\nameref'. Se me ocurrió algo pero no funciona como debería: 'printsolutions' da el mismo nombre a las secciones. Consulte también el texto en línea y los comentarios. ¡Ayuda!
\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}
Respuesta1
La lista que desea es posible usando la inline-nr
instancia de encabezados y con una configuración \exsheets_par:
igual a \scan_stop:
. El segundo punto impide exsheets
a) insertar a \par
después de sus entornos y b) insertar espacio vertical después de \par
. Esta es una característica no documentada pero incorporada como extra para este propósito. Agregaré una interfaz de usuario oficial para ello.
Desafortunadamente, actualmente no hay forma de obtener la lista completa automáticamente con los títulos de las secciones insertados en los lugares apropiados. Pero puedes usar el mecanismo exsheets
' \exlabel
tal vez junto con nameref
una solución 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
Con la versión 0.13 (11/05/2014) exsheets
se ofrece la opción section-hook
. En combinación con nameref
las propiedades de la pregunta y se puede utilizar de la siguiente manera para lograr el mismo diseño con solounollamada 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}