如何在 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},等等。

相關內容