%3F.png)
amigos---
Tengo una pregunta que no estoy seguro de cómo resolver. Estoy reuniendo un compendio de las preguntas de mi examen en un solo pdf que me gustaría compartir con otros profesores que también usan LaTeX. El problema es que, si bien LaTeX produce un hermoso pdf, puede ser bastante difícil copiar/pegar del pdf en un archivo TeX diferente, si alguien más quisiera usar mi problema. Por supuesto, proporcionaría el código fuente para cada problema en su propio pequeño archivo de problemas, pero buscar en una carpeta completa o en un solo archivo para encontrar un problema en particular puede ser un poco complicado.
Lo sé... parecen quejas tan pequeñas que no valen la pena y son en su mayoría producto de la pereza. Pero si se pueden resolver, trabajar en esto con otros sería un poco menos propenso a errores y sería un poco más sencillo revisar, copiar y modificar problemas en el futuro.
Lo que espero es poder hacer algo como:
\documentclass[options]{exam}
\usepackage{graphicx}
\usepackage{tikz}
\tikzlibrary{blahblah}
\usepackage{listings}
\usepackages{any other necessary packages to make this work}
\begin{document}
\begin{questions}
\some-command-to-duplicate-question,but-in-a-lstlistings-sort-of-environment{%
\question A question?
\begin{solution}
The solution
\end{solution}
}
\same-command-as-before{%
\includegraphics{diagramforquestion}%could also be for Tikz drawings, tables, other figures, etc
\question Another question?
\begin{solution}
Another solution.
\end{solution}
}
\end{questions}
\end{document}
De esa forma en el pdf quedaría:
Una lista de preguntas, completa con diagramas, etc., que están escritos correctamente en LaTeX;
algunos lstlistings o entorno similar, que muestran el código fuente de ese problema.
Obviamente, podría simplemente copiar y pegar el texto de la pregunta en un entorno de lista, pero si se realizan cambios, la persona que colabora conmigo y que realiza cambios en una pregunta (o, más probablemente, yo) tendrá que acordarse de copiar todos los cambios en el segundo entorno, mientras que si hubiera alguna forma de emitir algún comando o redefinir algún entorno para este compendio donde se escribiríaygenere el código fuente para copiarlo fácilmente, con solo un lugar necesario para modificarlo, lo que haría que los archivos problemáticos individuales sean mucho más limpios y más fáciles de mantener con el tiempo.
¡Gracias por cualquier ayuda que puedan ofrecer!
Respuesta1
Ambos input
y lstinputlisting
son tus amigos aquí.
También puede modificar el \question
comando para incluir archivos para las soluciones, lo único es que si se usan, \input
deben ser TeX válidos.
\documentclass[10pt]{article}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily,breaklines=true}
\newcommand{\question}[4]{
#1
The question is
\begin{center}
\input{#2}
\end{center}
For copy-pasting, the question is
\lstinputlisting{#2}
The solution is here:
\begin{center}
#3
\end{center}
#4
}
\begin{document}
Introduction
\begin{enumerate}
\item \question{For undergraduates:}{q1}{My solution}{
A figure to help explain
\begin{tikzpicture}
\draw (0,0) -- (2,0) -- (2,2) -- (0,0);
\end{tikzpicture}
}
\item \question{For grad students:}{q1}{Another solution}{No figure needed for grad students}
\end{enumerate}
\end{document}
Para que esto sea un verdadero MWE, tengo un archivo llamado q1.tex
en el mismo directorio que es este:
If $n = 3$, $x^n + y^n = z^n$ has no integer solutions. If you have extra time, please prove this for all other $n > 2$.