幻像和换行符

幻像和换行符

我想使用 LaTeX 进行完形填空测试。我的想法是使用以下\phantom命令生成空格:

Some text \underline{\phantom{some text to complete}} some more text.

现在的问题是,\phantom似乎将“一些要完成的文本”处理为一个单词,并且不会换行。

\documentclass{minimal}

\begin{document}

Some text \underline{\phantom{some  text to complete some  text to complete
some  text to complete some  text to complete some  text to complete some    text
to complete some  text to complete}} some more text.

\end{document}

答案1

\underline不允许\phantom换行,因为它们使用所谓的受限水平模式,即与 相同\mbox{...}。您的应用程序让我想起了censor能够删除文本并将其替换为黑条或下划线的包。但是,它似乎也不支持换行。该ulem\uline以可换行的方式为文本添加下划线。您可以使用它并重新定义内部宏,将文本设置为使用幻影框。请注意,这只允许在正常空格处换行,而不允许连字符。

\documentclass{article}
\usepackage[normalem]{ulem}

\makeatletter
\def\UL@putbox{\ifx\UL@start\@empty \else % not inner
  \vrule\@width\z@ \LA@penalty\@M
  {\UL@skip\wd\UL@box \UL@leaders \kern-\UL@skip}%
    \phantom{\box\UL@box}%
  \fi}
\makeatother

\begin{document}

Some text \uline{some text to complete some  text to complete
some  text to complete some  text to complete some  text to complete some    text
to complete some  text to complete} some more text.

\end{document}

结果或输出

答案2

我通过使用color包将幻影线写成白色来解决了这个问题:

\usepackage{color}

\newcommand{\white}[1]{{\textcolor{white}{#1}}}

Some text \underline{\white{some text to complete}} some more text.

相关内容