
Tengo una colección de apuntes de conferencias que tienen ejercicios repartidos por todas partes. Me gustaría proporcionar una clave para estos ejercicios que es un archivo separado de las notas compiladas, pero cuyo código TeX correspondiente está en el mismo código que las notas y se refiere al capítulo/sección del que proviene el ejercicio.
Por ejemplo, si el código de las conferencias tuviera este aspecto:
\begin{document}
\chapter{Lecture 1}
...
\begin{exercise}
What is 2 + 2?
\end{exercise}
\begin{solution}
4
\end{solution}
...
\begin{exercise}
What is 2 * 3?
\end{exercise}
\begin{solution}
6
\end{solution}
\chapter{Lecture 2}
...
\begin{exercise}
How many Canadian provinces are there?
\end{exercise}
\begin{solution}
10
\end{solution}
...
\begin{exercise}
What is the capital of Nova Scotia?
\end{exercise}
\begin{solution}
Halifax
\end{solution}
\end{document}
Luego, el PDF correspondiente a las notas de la clase tendría las Clases 1 y 2 con los ejercicios, sin soluciones, pero los PDF separados contendrían las soluciones a los ejercicios de la clase 1, otro PDF para las soluciones de la clase 2, y esos PDF conocerían el contenido mostrado. La solución fue la del ejercicio 2 de la lección 1, y así sucesivamente.
La solución más obvia que se me ocurre es usar etoolbox
los controles para mostrar solo las notas con los ejercicios o solo las soluciones, pero entonces tendría \iftoggle
todas partes y tendría que crear manualmente el PDF de las soluciones de cada conferencia, lo que rápidamente se volverá tedioso si hay varias conferencias o si necesito regresar y hacer cambios que cambien la numeración de un problema o conferencia.
(Las soluciones que no son TeX que involucran scripts de shell estarían bien para mí si no hay una buena manera de hacerlo en LaTeX).
Respuesta1
Aquí hay una manera de usarrespuestaspaquete y\includeonly
el archivo principal (controlador)myfile.tex
\documentclass{book}
\usepackage{answers}
\newtheorem{exercise}{Exercise}[chapter]
\Newassociation{solution}{Soln}{mycor}
\renewcommand{\Solnlabel}[1]{\textbf{Answer #1}}
\includeonly{Lectures}
%\includeonly{Lecture1}
%\includeonly{Lecture2}
\begin{document}
\include{Lectures}
\include{Lecture1}
\include{Lecture2}
\end{document}
el archivo principal (fuente)Lectures.tex
\Opensolutionfile{mycor}[Lecture1]
\chapter{Lecture 1}
...
\begin{exercise}
What is 2 + 2?
\begin{solution}
4
\end{solution}
\end{exercise}
...
\begin{exercise}
What is 2 * 3?
\begin{solution}
6
\end{solution}
\end{exercise}
\Closesolutionfile{mycor}
\Opensolutionfile{mycor}[Lecture2]
\chapter{Lecture 2}
...
\begin{exercise}
How many Canadian provinces are there?
\begin{solution}
10
\end{solution}
\end{exercise}
...
\begin{exercise}
What is the capital of Nova Scotia?
\begin{solution}
Halifax
\end{solution}
\end{exercise}
\Closesolutionfile{mycor}