alltt 中非 texttt 下划线与下划线包一起启用

alltt 中非 texttt 下划线与下划线包一起启用

以下给出了alltt环境中奇怪的凸起点而不是下划线:

\documentclass{article}
\usepackage{alltt}
\usepackage{underscore}
\begin{document}

\textsf{This_is_fine}

\begin{alltt}
\textsf{This_is_not}
\end{alltt}

\end{document}

有什么办法可以解决这个问题吗?如果我使用\textrm而不是 ,\textsf问题是一样的。但是,\texttt有效。

答案1

该包underscore通过创建一个活动字符来工作_,但是此设置在包中被覆盖alltt,而是设置_为可打印字符。

解决方案 1

_恢复活跃alltt

\documentclass{article}
\usepackage{alltt}
\usepackage{underscore}
\usepackage{etoolbox}
\appto\alltt{\catcode`\_=\active}
\begin{document}
\textsf{This_is_fine}

\begin{alltt}
\textsf{This_is_not}
\end{alltt}

\end{document}

解决方案 2

加载fontenc包,以便可打印下划线可以打印出一些好的东西。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{alltt}
\usepackage{underscore}
\begin{document}
\textsf{This_is_fine}

\begin{alltt}
\textsf{This_is_not}
\end{alltt}

\end{document}

相关内容