使用下划线包时禁用 \texttt 中的换行符

使用下划线包时禁用 \texttt 中的换行符

通常\texttt不会导致自动连字符或换行。但是,使用underscore包时显然会导致自动连字符或换行:

\documentclass{article}
\usepackage[nohyphen]{underscore}
\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam diam \texttt{_nonumynonumy} eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

\end{document}

结果是在此处输入图片描述

下划线显示在第一行,其余部分显示在第二行。如果没有该[nohyphen]选项,它甚至会添加连字符。我需要下划线包,因为否则 LaTeX 只允许_在数学模式下使用。

如何禁用换行并且仍然使用下划线\texttt

答案1

这就是我想要的。在下划线后面\usc@dischyph插入,也就是,带选项的话nohyphen(不带选项的话\discretionary{}{}{}会是)。\-

您可以改变 的含义\usc@dischyph,因此下划线后不允许换行。

\documentclass{article}
\usepackage[nohyphen]{underscore}

\makeatletter
\def\usc@dischyph{}
\makeatother

\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 
diam \texttt{_nonumynonumy} eirmod tempor invidunt ut labore et 
dolore magna aliquyam erat, sed diam voluptua.

\end{document}

在此处输入图片描述

相关内容