考虑下面给出的 MWE。
我正在尝试用 修补解决方案环境\raggedright
。但似乎不起作用。但是,当\raggedright
在同一环境的启动时发出显式命令时,它可以工作。
\documentclass{exam}
\printanswers
\unframedsolutions
\usepackage{etoolbox}
\AtBeginEnvironment{solution}{\raggedright}
\usepackage{lipsum}
\begin{document}
\begin{questions}
\question Question
\begin{solution}
Text without explicit \verb@\raggedright@.
\lipsum[2]
\end{solution}
\begin{solution}
Text with explicit \verb@\raggedright@.
\raggedright
\lipsum[2]
\end{solution}
\end{questions}
\end{document}
答案1
内部 TheSolution 环境明确将\lineskip
和重置\rightskip
为 0pt,从而取消\raggedright
。必须稍后发出该命令才能生效:
\documentclass{exam}
\printanswers
\unframedsolutions
\usepackage{etoolbox}
\appto\TheSolution{\raggedright}
\usepackage{lipsum}
\begin{document}
\begin{questions}
\question Question
\begin{solution}
Text without explicit \verb@\raggedright@.
\lipsum[2]
\end{solution}
\begin{solution}
Text with explicit \verb@\raggedright@.
\raggedright
\lipsum[2]
\end{solution}
\end{questions}
\end{document}