破壞源頭的人物
如何在不換行的情況下輸入百分比、美元、& 符號、底線、大括號。
破壞原始碼的字符
LaTeX 保留了一些日常字元作為語法,在您想要的文字字元處鍵入字元要麼會停止編譯,要麼會默默地破壞輸出。每個保留字元都有一個轉義符,整個集合可以放在一張小桌子上。
| 查爾 | 代碼 |
|---|---|
| % | \% |
| $ | \$ |
| & | \& |
| # | \# |
| _ | \_ |
| { } | \{ \} |
| 〜 | \textasciitilde |
| \ | \textbackslash |
角色未轉義的行為
% 開始註釋,因此從它到行尾的所有內容都將被丟棄。這是常見的「我的句子消失了」錯誤:在報告中寫入 50%,而該行的其餘部分消失了,根本沒有錯誤。 $ 切換數學模式,因此一個流浪者會默默地使文字變成斜體,或引發遠離拼字錯誤的錯誤。 & 是表格和 align 區塊中的對齊選項卡;在它們之外,它會失敗並顯示「對齊選項卡錯位」。 ‘#’標記宏參數。 _ 和 ^ 屬於數學模式,在文本中它們會引發“插入了 Missing $”,這有它自己的教訓。 ~ 是一個不間斷的空格,因此在 URL 或路徑中鍵入的波形符號會悄悄地變成空格。 \ 開始每個命令,這就是它無法轉義自身的原因:\\ 是換行符,文字字元需要 \textbackslash。
實踐中的逃逸
對於前六個字符,轉義是反斜線前綴,它在其他命令中的作用相同:
The run reached 87\% accuracy; results are in\texttt{results\_v2.csv}, and the job cost \$40.請注意,即使在 \texttt 內,下劃線也需要轉義。兩個命令式轉義符「\textasciitilde」和「\textbackslash」後面應跟著「{}」或在接下來出現字母時加一個空格,這樣命令名稱就不會吞沒後面的單字。
對於整個程式碼區塊、路徑或 URL,請完全跳過轉義。 \verb|...| 和 verbatim 環境完全按照鍵入的方式列印其內容,每個特殊字元都被解除,並且 url 套件的 \url{...} 處理帶有波浪號的連結。
最痛苦的角色是那些默默失敗的角色,而「%」在該名單中名列前茅。貼上文字是常見的罪魁禍首:URL、shell 命令和財務資料都帶有保留字元。當 PDF 中缺少一個句子時,請在原始程式碼的該行中搜尋空的“%”,然後再搜尋其他內容。