
Estoy intentando crear algunos ejercicios para los estudiantes. Entonces, la idea era usar un comando que simplemente haga que la solución sea blanca, si el contador de la solución está configurado en 0 y que muestre la solución si el contador está configurado en 1.
(Además, creé un cuadro que muestra papel cuadriculado (para cálculos) si el contador está configurado en 0 y un cuadro enmarcado con fondo blanco y la solución si el contador está configurado en 1; pero quiero mantenerlo simple por el momento, así que solo centrarse en el comando)
Así que aquí hay un ejemplo mínimo del comando:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\newcounter{wf}
\setcounter{wf}{1}
\newcommand{\whf}[1]{%
\ifnum\value{wf}=0%
\textit{#1}%
\else%
\textcolor{white}{\itshape #1}%
\fi%
}
\begin{document}
The following word is white sometimes: \whf{Test}, hope it works.
\end{document}
Funciona bastante bien y estaba bien, pero:
Ahora quiero crear una descripción general de todas las soluciones. Entonces solo quiero mostrar las soluciones sin mostrar los ejercicios. Lo mejor que puedo esperar es algo como: "Mostrar nada excepto las cosas en el comando \whf" más o menos.
He creado toneladas de ejercicios ahora mismo y espero que haya una solución donde pueda
No tienes que trabajar en cada ejercicio una y otra vez.
tener las soluciones compactas juntas y no distribuidas en muchas páginas
(bonus) se muestra el número de ejercicios (otro contador) junto con la solución según el ejercicio
Así que espero que mi inglés no sea tan malo y perdón por la descripción tan larga. Espero que entiendas mi problema y puedas ofrecerme una solución.
Gracias.
Respuesta1
Si las soluciones son solo palabras, que no involucran código TeX, puede escribir las soluciones en un archivo separado. Para abrir el archivo, utilice
\newwrite\solfile
\immediate\openout\solfile\jobname Solutions.tex
\jobname
contiene el nombre del archivo TeX principal actual, por lo que el archivo con las soluciones se llamará XXXSolutions.tex
, si el archivo principal se llama XXX.tex
.
Para escribir en el archivo, utilice
\immediate\write\solfile{...}
Esto escribirá el contenido entre llaves en \solfile
. El material está expandido, por lo que debes tomar precauciones para que los tokens correctos terminen en el archivo.
El código siguiente, colocado en un archivo test.tex
, generará el archivo testSolutions.tex
que contiene la línea única
\solution {Test}
Puede formatear las respuestas definiendo la macro \solution
.
Su código con los comandos del archivo:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\newcounter{wf}
\setcounter{wf}{1}
\newwrite\solfile % <<<<<<<<<<<<<<<<<<<<<<
\immediate\openout\solfile\jobname Solutions.tex% <<<<<<<<<<<<<<<<<<<<<<
\newcommand{\whf}[1]{%
\ifnum\value{wf}=0%
\textit{#1}%
\else%
\textcolor{white}{\itshape #1}%
\fi%
\immediate\write\solfile{\noexpand\solution{#1}}% <<<<<<<<<<<<<<<<<<<<<<
}
\begin{document}
The following word is white sometimes: \whf{Test}, hope it works.
\end{document}