$\LaTeX$编写题目的时候,为了实现一键显示/隐藏题目的答案,并且增加一个参数,用来控制隐藏答案时,题后所留空白的大小,可以采用如下代码:
\newtoks\patchtoks % 辅助令牌寄存器
\def\longpatch#1% % 工作宏
{\let\myoldmac#1%
\long\def#1##1{\patchtoks={##1}\myoldmac{\the\patchtoks}}}
\longpatch{\phantom}
\NewDocumentEnvironment{solution}{ o +b }{%
\ifsolution
{\heiti\textcolor{cyan}{解析}}\quad #2
\else
\IfValueTF{#1}{% 如果新参数有值
\vspace{#1}% 使用指定的空白宽度
}{% 如果新参数无值
\phantom{\parbox{\textwidth}{#2}}% 原来的空白处理方式(可根据需要调整)
}
\fi
}{}
\newif\ifsolution
\solutiontrue % 设置为显示解析内容,可根据实际需求切换为 \solutionfalse 或者注释此句
在上述代码中:

这样就实现了让\else
情况输出的空白可控制,你可以根据具体文档排版需求灵活调整那个可选参数传入的空白宽度值。
-=||=-收藏赞 (9)
评论前必须登录!
立即登录 注册