![在 alltt 环境中电传打字 \textbackslash](https://linux22.com/image/236666/%E5%9C%A8%20alltt%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%94%B5%E4%BC%A0%E6%89%93%E5%AD%97%20%5Ctextbackslash.png)
该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
和其他字体编码,以便输入的字符与该字体位置的字形完全匹配。