有不同的软件包可以将练习答案添加到文档中,例如答案和锻炼,但它们都有点过度,例如,它们重新格式化并重新编号我文档中的练习列表。
我想要实现的只是这一点:我有一个练习列表,这些练习在标准枚举环境中格式化,我想将解决方案放在下面,但在文档的开头,我希望能够定义某种“标志”。 如果标志为“开”,则文档应打印出带有解决方案的讲义,如果标志为“关”,则它应该跳过解决方案并打印出文档,就好像解决方案从未存在过一样(因此也不会留下空白或类似的东西)。
理想情况下是这样的:
List of exercises:
\begin{enumerate}
\item 2+2
\begin{solution}
4
\end{solution}
\item 3-1
\begin{solution}
2
\end{solution}
\item 5+2
\begin{solution}
7
\end{solution}
\end{enumerate}
如果标志关闭,则所有解决方案都应被彻底跳过。
有没有办法做到这一点,最好尽可能简单?
答案1
如果没有环境,只需\solution
:
\documentclass{article}
\newif\ifsolution
\def\solution#1{\ifsolution #1 \else \relax\fi}
\begin{document}
\solutiontrue
\begin{enumerate}
\item 2+2
\solution{4}
\item 3-1
\solution{2}
\item 5+2
\solution{7}
\end{enumerate}
\solutionfalse
\begin{enumerate}
\item 2+2
\solution{4}
\item 3-1
\solution{2}
\item 5+2
\solution{7}
\end{enumerate}
\end{document}