如何在 URL 中排版反斜杠并换行?

如何在 URL 中排版反斜杠并换行?

我的文档中有很多 Windows 文件/文件夹路径和注册路径。我遇到了两个问题:

  1. \视为转义字符,这显然无法编译。\\开始新行而不是转义\。我$$也试过了,但也没用。
  2. 没有换行,因此路径超出了页边距。

第一个问题,有没有快速解决这个问题的方法,而不是全部\改变/

对于第二个问题,我尝试\path{}url包中进行操作,但没有帮助。

答案1

  1. 你说得对。反斜杠是 TeX 的(默认)转义字符;它向 TeX 发出信号,表示后面的内容与“普通文本”不同。因此,简单地输入\不会在输出中产生反斜杠。(顺便说一句,如果你输入\后跟任意数量的空格,则只会产生所谓的控制空间,而不是反斜杠。)

    要在文本模式下排版反斜杠,请使用 \textbackslash;在数学模式下,请使用\backslash

    现在,如果您发现(就像我一样)\textbackslash每次输入都很麻烦,您可以随时定义一个名称更短且功能完全相同的宏,如下所示:

    \newcommand\bs\textbackslash
    

    然后在整个文件中使用该宏而不是\textbackslash

    还有一件事:您应该怎么做才能产生以下输出?

    C:\我的文档

    你可以试试

    C:\textbackslashMy documents
    

    但这样做是行不通的,因为 TeX 会将其解释\textbackslashMy为宏,找不到任何定义,并会对你大加指责。要获得所需的输出,请{}在 后插入一个空格或一个空组 ( ) \textbackslash,如下所示

    C:\textbackslash{}My documents
    
  2. url在这方面,该软件包可让您的生活更轻松。将其加载到我们的前言中,然后使用\url命令排版 URL;该软件包将为您处理换行。请注意,您不需要使用\textbackslashinside \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},等等。希望这对某些人有所帮助。

相关内容