问题
我现在正在为下个季度要教的课程准备练习。我有两个顾虑
- 将问题描述和相应的解决方案写在两个单独的文件中非常烦人,因为以后可能需要大量的复制和粘贴。
- 使用超链接在问题描述和解决方案之间跳转也很烦人,因为有些问题描述相当长并且涉及很多细节,这会让我和学生的生活变得更加困难。
我想知道是否有一种机制可以隐藏选定的文本部分全局设置。我知道我可以使用comment
但是
- 看来我需要对所有个别点进行评论。我不知道如何对所有需要评论的部分进行评论(我计划编写 200 多个练习)。
答案1
\documentclass{article}
\usepackage{environ}
\usepackage{etoolbox}
\newtoggle{doPrintStuff} % the toggle is initially false
% Uncomment this if you don't want spaces after \end{maybePrint} to be
% discarded (the default is \environfinalcode{\ignorespacesafterend}, which
% causes such spaces to be ignored):
%
%\environfinalcode{}
\NewEnviron{maybePrint}{%
\iftoggle{doPrintStuff}{\BODY}{}%
}
\begin{document}
X%
\begin{maybePrint}
$\langle$environment contents$\rangle$
\end{maybePrint}
Y
\toggletrue{doPrintStuff}
X%
\begin{maybePrint}
$\langle$environment contents$\rangle$
\end{maybePrint}
Y
X%
\begin{maybePrint}%
$\langle$environment contents$\rangle$%
\end{maybePrint}
Y
\end{document}
答案2
您可以定义宏,例如,\comment
当激活某些 if-switch 时隐藏其内容。以下代码引入了这样的宏,并且\comment
可以通过启用/禁用部分来处理内容的可见性\commenttrue
。
\documentclass{article}
\newif\ifcomment
\def\comment#1{%
\ifcomment\relax\else #1\fi}
% \commenttrue
\begin{document}
%------------------------
Problem statement\dots
\comment{Solution of the problem: \dots}
%------------------------
\end{document}