- 如何在 LaTeX 文档的文本中插入“\”(反斜杠)?
- 那么如何插入“~”(波浪号)?(如果插入
\~
,它会在后面的字母上添加一个波浪号作为重音符号。)
我认为\backslash
可以用于数学公式,但不能用于文本本身。Lamport、Kopka 和 Mittelbach 的文本已经说了很多(但没有更多),所以让我不知道如何在常规文本中使用反斜杠。
答案1
总结
\textbackslash
在文本模式下产生反斜杠。数学模式$\sim$
和\texttildelow
(来自textcomp
包)是下划线的选项(同时\~{}
在\textasciitilde
文本模式下产生凸起的波浪符号)
长答案:
这全面的 LaTeX 符号列表是你的朋友。正确的链接似乎一直在变化,但如果你有一个完整的 TeX Live 安装,该命令texdoc symbols-a4
将显示你的本地副本。
\textbackslash
并\textasciitilde
在文档的几个地方找到,但LaTeX 2e ASCII 表(截至撰写本文时为表 529)和以下讨论是所有 ASCII 字符的便捷资源。特别是,讨论指出\~{}
和\textasciitilde
产生凸起的波浪线,而数学模式$\sim$
和\texttildelow
是低波浪线的选项;后者在textcomp
包中,并且在除电脑现代。如果你正在排版文件名或者url,文档推荐使用url
包。
记住将 TeX 宏与周围文本分隔开来,例如bar\textasciitilde{}foo
。
答案2
规范答案
现在有广泛的讨论和规范答案在这个网站上。使用那里描述的解决方案。 tl;dr:
对于 URL 或文件路径,使用url
(或者hyperref
)。 否则:
如果您使用标准电脑现代字体,
txfonts
或者pxfonts
:使用此解决方法:\usepackage{textcomp} \newcommand{\textapprox}{\raisebox{0.5ex}{\texttildelow}}
...或者改用拉丁现代字体(参见下一点)。
如果你正在使用PostScript/Type1 字体通过以下包
mathptmx
或者lm
:将字体编码设置为 T1(通过\usepackage[T1]{fontenc}
) 并使用\textasciitilde
。如果您通过 XeTeX 或 LuaTeX 使用 TTF 或 OTF 字体:用于
\char`~
插入波浪号。
过时的答案,为后人保留
textcomp
的\texttildelow
其实是一个非常糟糕的选择:它也对于大多数字体来说,这个值较低。
A很多可以通过以下步骤实现更好的渲染,调整(否则太宽)的外观$\sim$
:
{\raise.17ex\hbox{$\scriptstyle\sim$}}
这是从任意 LateX 参考…该页面还提供了一个很好的比较表:
使用时\texttt
,我会\mathtt
在波浪号周围添加一个,以使其更好地适合字体:
{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}}
差异虽小但很明显。
答案3
您还可以使用“纯 TeX”方法索引当前字体中的实际 ascii 字符:
\char`\\
\char`\~
我经常使用前者来编写需要打字机字体反斜杠的宏;\textbackslash
有时仍会根据字体设置使用罗马字体。当然,如果您经常使用这些,您应该为它们定义自己的宏:
\newcommand\SLASH{\char`\\}
答案4
好吧,如果这不令人讨厌的话:
\textbackslash
\texttt{\char`\~} or $\sim$