
Я пытаюсь создать несколько упражнений для студентов. Идея была в том, чтобы использовать команду, которая просто делает решение белым, если счетчик решений установлен на 0, и которая показывает решение, если счетчик установлен на 1.
(Кроме того, я создал поле, которое показывает клетчатую бумагу (для вычислений), если счетчик установлен на 0, и рамку с белым фоном и решение, если счетчик установлен на 1; но я хочу пока не усложнять задачу, поэтому просто сосредоточьтесь на команде)
Итак, вот минимальный рабочий пример команды:
\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}
Работает вполне хорошо и нормально, но:
Теперь я хочу создать обзор всех решений. Поэтому я просто хочу показать решения, не показывая упражнений. Лучшее, на что я могу надеяться, это что-то вроде: «Не показывать ничего, кроме вещей в команде \whf» или что-то в этом роде.
Я создал кучу упражнений прямо сейчас и надеюсь, что есть решение, с помощью которого я
не нужно работать над каждым упражнением снова и снова
располагайте решения компактно и не разбрасывайте их по многим страницам
(бонус) количество упражнений (еще один счетчик) показано вместе с решением в соответствии с упражнением
Так что я надеюсь, что мой английский не слишком плох, и извините за длинное описание. Надеюсь, вы поймете мою проблему и сможете предложить мне решение.
Спасибо.
решение1
Если решения просто слова, не включающие код TeX, вы можете записать решения в отдельный файл. Чтобы открыть файл, используйте
\newwrite\solfile
\immediate\openout\solfile\jobname Solutions.tex
\jobname
содержит имя текущего основного TeX-файла, поэтому файл с решениями будет иметь имя XXXSolutions.tex
, если основной файл называетсяXXX.tex
.
Для записи в файл используйте
\immediate\write\solfile{...}
Это запишет то, что находится между скобками, в\solfile
. Содержимое расширяется, поэтому вам нужно принять меры предосторожности, чтобы правильные токены попали в файл.
Приведенный ниже код, помещенный в файл test.tex
, сгенерирует файл testSolutions.tex
, содержащий одну строку
\solution {Test}
Вы можете форматировать ответы, определив макрос\solution
.
Ваш код с командами файла:
\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}