我的文档中有很多 Windows 文件/文件夹路径和注册路径。我遇到了两个问题:
- 被
\
视为转义字符,这显然无法编译。\\
开始新行而不是转义\
。我$$
也试过了,但也没用。 - 没有换行,因此路径超出了页边距。
第一个问题,有没有快速解决这个问题的方法,而不是全部\
改变/
?
对于第二个问题,我尝试\path{}
从url
包中进行操作,但没有帮助。
答案1
你说得对。反斜杠是 TeX 的(默认)转义字符;它向 TeX 发出信号,表示后面的内容与“普通文本”不同。因此,简单地输入
\
不会在输出中产生反斜杠。(顺便说一句,如果你输入\
后跟任意数量的空格,则只会产生所谓的控制空间,而不是反斜杠。)要在文本模式下排版反斜杠,请使用
\textbackslash
;在数学模式下,请使用\backslash
。现在,如果您发现(就像我一样)
\textbackslash
每次输入都很麻烦,您可以随时定义一个名称更短且功能完全相同的宏,如下所示:\newcommand\bs\textbackslash
然后在整个文件中使用该宏而不是
\textbackslash
。还有一件事:您应该怎么做才能产生以下输出?
C:\我的文档
你可以试试
C:\textbackslashMy documents
但这样做是行不通的,因为 TeX 会将其解释
\textbackslashMy
为宏,找不到任何定义,并会对你大加指责。要获得所需的输出,请{}
在 后插入一个空格或一个空组 ( )\textbackslash
,如下所示C:\textbackslash{}My documents
url
在这方面,该软件包可让您的生活更轻松。将其加载到我们的前言中,然后使用\url
命令排版 URL;该软件包将为您处理换行。请注意,您不需要使用\textbackslash
inside\url{...}
,因为\url
已经“去标记化”了其参数。快乐的日子!
以下代码说明了这两点:
\documentclass{article}
\newcommand\bs\textbackslash % shorthand for \textbackslash
\usepackage{url}
\begin{document}
\noindent
A backslash in text mode: \bs \\
A backslash in math mode: $\backslash$\\[2em]
A long URL: \url{C:\Program Files\Steam\Jubobsgame\procrastinators__paradise\level_one\five_years_into_the_PhD}
\end{document}
对应的输出如下:
答案2
我发现这个论坛中的许多答案仅适用于 LaTeX,而不一定适用于纯 TeX。我们使用纯 TeX,因此答案有时根本不起作用。
但是,我找到了一种适合我们的显示 TeX 特殊字符的解决方案,所以我想分享一下。我不知道它是否适用于 LaTeX,尽管看起来应该可以。
您可以使用 来包含一个字符,\char
后跟该字符的十进制 ASCII 代码。我们将其括在{
和中}
,但我不确定这是否有必要,除非后面的文本是另一个数字。因此,例如,要显示反斜杠,请使用{\char92}
,要显示左括号,请使用{\char123}
,等等。希望这对某些人有所帮助。