Como evitar a compilação de alguns dos meus novos comandos em látex

Como evitar a compilação de alguns dos meus novos comandos em látex

Estou escrevendo um exame para meus alunos e defini três comandos para inserir espaços permitindo \dotfillque eles escrevam suas respostas: \rep, \replarge, \repLargepara respostas curtas e grandes:

\newcommand{\rep}{\noindent \dotfill 

 \noindent\dotfill

\noindent\dotfill

\noindent\dotfill

}
\newcommand{\repshort}\rep \rep 

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

Então, minhas perguntas são:

  1. existe alguma maneira de melhorar esses comandos?
  2. como posso produzir duas versões do pdf na hora de compilar: uma com os espaços produzidos com os comandos e outra sem os espaços?

Responder1

Aqui está uma solução rápida e suja para a segunda questão e um link para soluções mais avançadas (os comentários acima também contêm links úteis para ambas as questões):

a) Crie dois arquivos principais onde você (1) fornece os comandos com espaços e (2) fornece os mesmos comandos que comandos vazios (você também pode simplesmente anexar algo como \renewcommand{\rep}{}e comentar dentro ou fora).

OU

b) Use parâmetros para o seu documento e use um Makefile. Veja as respostas paraPassando parâmetros para um documentopara alguma inspiração. Aqui está um exemplo de como seria a aparência de um Makefile e como seu arquivo .tex pode usá-lo:

Makefile:

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}

informação relacionada