
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
não precisa trabalhar em todos os exercícios novamente e
fazer com que as soluções sejam compactadas e não espalhadas por muitas páginas
(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
\jobname
conté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.tex
contendo 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}