Filtre o conteúdo do Tex-File

Filtre o conteúdo do Tex-File

Estou tentando criar alguns exercícios para os alunos. Então a ideia era usar um comando que apenas deixasse a solução branca, se o contador da solução estivesse definido como 0 e que mostrasse a solução se o contador estivesse definido como 1.

(Além disso, criei uma caixa que mostra papel quadrado (para cálculos) se o contador estiver definido como 0 e uma caixa emoldurada com fundo branco e a solução se o contador estiver definido como 1; mas quero manter isso simples por enquanto, então apenas concentre-se no comando)

Então aqui está um exemplo mínimo de trabalho do 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 muito bem e estava bem, mas:

Agora quero criar uma visão geral de todas as soluções. Então quero apenas mostrar as soluções sem mostrar os exercícios. O melhor que posso esperar é algo como: "Não mostrar nada exceto as coisas no comando \whf" ou algo assim.

Eu criei vários exercícios agora e espero que haja uma solução onde eu

  1. não precisa trabalhar em todos os exercícios novamente e

  2. fazer com que as soluções sejam compactadas e não espalhadas por muitas páginas

  3. (bônus) o número de exercícios (outro contador) são mostrados junto com a solução de acordo com o exercício

Espero que meu inglês não seja tão ruim e desculpe pela longa descrição. Espero que você entenda meu problema e possa me oferecer uma solução.

Obrigado.

Responder1

Se as soluções forem apenas palavras, não envolvendo código TeX, você poderá gravá-las em um arquivo separado. Para abrir o arquivo, use

\newwrite\solfile
\immediate\openout\solfile\jobname Solutions.tex

\jobnamecontém o nome do arquivo TeX principal atual, portanto o arquivo com as soluções será nomeado XXXSolutions.tex, se o arquivo principal for chamado XXX.tex.

Para gravar no arquivo, use

\immediate\write\solfile{...}

Isso escreverá o que está entre os colchetes em \solfile. O material é expandido, então você deve tomar cuidado para que os tokens corretos acabem no arquivo.

O código abaixo, colocado em um arquivo test.tex, irá gerar o arquivo testSolutions.texcontendo a única linha

\solution {Test}

Você pode formatar as respostas definindo a macro \solution.

Seu código com os comandos do arquivo:

\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}

informação relacionada