Cómo evitar la compilación de algunos de mis nuevos comandos en látex.

Cómo evitar la compilación de algunos de mis nuevos comandos en látex.

Estoy escribiendo un examen para mis alumnos y he definido 3 comandos para insertar espacios que \dotfillles permitan escribir sus respuestas: \rep, \replarge, \repLargepara respuestas cortas y grandes:

\newcommand{\rep}{\noindent \dotfill 

 \noindent\dotfill

\noindent\dotfill

\noindent\dotfill

}
\newcommand{\repshort}\rep \rep 

\newcommand{\repLarge}\rep \rep \rep \rep

Entonces, mis preguntas son:

  1. ¿Hay alguna manera de mejorar esos comandos?
  2. ¿Cómo puedo producir dos versiones en pdf al compilar: una con los espacios generados con los comandos y la otra sin los espacios?

Respuesta1

Aquí hay una solución rápida y sucia para la segunda pregunta y un enlace a soluciones más avanzadas (los comentarios anteriores también contienen enlaces útiles para ambas preguntas):

a) Cree dos archivos principales donde (1) proporcione los comandos con espacios y (2) proporcione los mismos comandos que los comandos vacíos (también puede simplemente agregar algo como \renewcommand{\rep}{}y comentar esto dentro o fuera).

O

b) Utilice parámetros para su documento y utilice un Makefile. Mira las respuestas aPasar parámetros a un documentoen busca de inspiración. A continuación se muestra un ejemplo de cómo podría verse un Makefile de este tipo y cómo su archivo .tex puede utilizarlo:

Archivo Make:

default: Exercise.pdf Solution.pdf

Exercise.pdf: *.tex
    -rm Exercise.pdf
    pdflatex -file-line-error --jobname=Exercise '\def\isexercise{1} \input{main.tex}'
    pdflatex -file-line-error --jobname=Exercise '\def\isexercise{1} \input{main.tex}'

Solution.pdf: *.tex
    -rm Solution.pdf
    pdflatex -file-line-error --jobname=Solution '\input{main.tex}'
    pdflatex -file-line-error --jobname=Solution '\input{main.tex}'

principal.tex:

\documentclass{article}

\newcommand{\rep}{}

\ifdefined\isexercise
  \renewcommand{\rep}{
        \noindent\dotfill 

        \noindent\dotfill

        \noindent\dotfill

        \noindent\dotfill
  }
\fi

\begin{document}

Exercise 1: \rep

\end{document}

información relacionada