我无法在自定义新环境中设置特殊注释(注释包)命令的字体属性。在 MWE 示例中,enonce
当为真(假)时,我希望其中的文本为蓝色(黑色)wans
,当为红色时,希望其中的文本answer
为红色。
谢谢您的帮助,
梅威瑟:
\documentclass{article}
\usepackage{comment}
\usepackage{etoolbox}
\usepackage{xcolor}
\usepackage{lipsum}
\newbool{wans}
\booltrue{wans}
%\boolfalse{wans}
\newenvironment{enonce}{\ifbool{wans}{\itshape\color{blue}}{\normalfont\color{black}}}{}
\specialcomment{answer}{\begingroup\normalfont\color{red}}{\endgroup}
\ifbool{wans}{\includecomment{answer}}{\excludecomment{answer}}
\begin{document}
\begin{enonce}
\begin{itemize}
\item[Q1] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\item[Q2] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\end{itemize}
\end{enonce}
\end{document}
enter code here
答案1
引用文档:
使用 \specialcomment 你可以不是必须额外添加 \includecomment{smalltt}
因此您必须像这样启用评论:
\documentclass{article}
\usepackage{comment}
\usepackage{etoolbox}
\usepackage{xcolor}
\usepackage{lipsum}
\newbool{wans}
\booltrue{wans}
%\boolfalse{wans}
\newenvironment{enonce}{\ifbool{wans}{\itshape\color{blue}}{\normalfont\color{black}}}{}
\ifbool{wans}{\specialcomment{answer}{\begingroup\normalfont\color{red}}{\endgroup}}{\excludecomment{answer}}
\begin{document}
\begin{enonce}
\begin{itemize}
\item[Q1] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\item[Q2] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\end{itemize}
\end{enonce}
\end{document}
答案2
无包解决方案etoolbox
\documentclass{article}
\usepackage{comment}
\usepackage{xcolor}
\usepackage{lipsum}
\newif\ifwans
\wansfalse
%\wanstrue
\newenvironment{enonce}
{\ifwans \itshape\color{blue}\else\normalfont\normalcolor\fi}
{}
\ifwans
\specialcomment{answer}{\begingroup\normalfont\color{red}}{\endgroup}%
\else \excludecomment{answer}%
\fi
\begin{document}
\begin{enonce}
\begin{itemize}
\item[Q1] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\item[Q2] \lipsum[1]
\begin{answer}
\lipsum[1]
\end{answer}
\end{itemize}
\end{enonce}
\end{document}