规范答案

规范答案
  • 如何在 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)。 否则:

  1. 如果您使用标准电脑现代字体,txfonts或者pxfonts:使用此解决方法:

     \usepackage{textcomp}
     \newcommand{\textapprox}{\raisebox{0.5ex}{\texttildelow}}
    

    ...或者改用拉丁现代字体(参见下一点)。

  2. 如果你正在使用PostScript/Type1 字体通过以下包mathptmx或者lm:将字体编码设置为 T1(通过\usepackage[T1]{fontenc}) 并使用\textasciitilde

  3. 如果您通过 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$

相关内容