在 alltt 环境中电传打字 \textbackslash

在 alltt 环境中电传打字 \textbackslash

alltt软件包提供了一个增强的verbatim环境,其中\{}不按字面意义处理。可以使用插入文字反斜杠\textbackslash,但是它没有与其余逐字文本相同的电传字体。我尝试了一些变体,例如\texttt{\textbackslash}但这些似乎没有帮助。在使用时,有什么想法如何在电传字体中插入反斜杠(或花括号)alltt

答案1

这与 alltt 无关。您需要 T1 编码。如果没有它,\textbackslash 将从符号字体中获取。检查差异:

\documentclass{article}
%\usepackage[T1]{fontenc}
\pagestyle{empty}
\begin{document}
\ttfamily \textbackslash abc
\end{document}

答案2

此外,您不必使用T1字体编码。默认OT1就足够了。在这种情况下,符号\在罗马字体系列中不可用,但它在 tyrewriter 系列中可用。

您可以使用

\symbol{`\\}

\随时获取。如果字体中有,则应该正确输出反斜杠。您可以为其定义一个命令:

\documentclass{article}
\usepackage{alltt}
\newcommand\bslash{\symbol{`\\}}
\begin{document}

\begin{alltt}
\bslash{}^_^/
\end{alltt}

\end{document}

毕竟,T1对于大多数文档来说,使用编码是一种好的方式。

答案3

虽然使用不同编码的建议是好的,但如果正在使用的字体中存在等宽符号,这种技术应该可以在任何地方使用。

输入字符前加上

\char`\

因此反斜杠、开括号和闭括号的输入形式为

\char`\\ \char`\{ \char`\}

这是 TeX 本身的内置功能,而不是由任何特定的“风格” (例如 LaTeX 或 ConTeXt) 定义的。

编辑:该\char命令将引用与其参数相对应的 ascii/utf-8/(相关字体编码)位置上的任何字形。因此,只有当反斜杠(或其他)是实际上在字体中的该位置您将获得所需的形状。我最初的回答是为了具体参考cmtt10和其他字体编码,以便输入的字符与该字体位置的字形完全匹配。

相关内容