
我想使用清單來格式化 bash 命令,以便過長的行會自動用反斜線分隔。我知道這個prebreak
選項,但似乎不可能將文字反斜線字元傳遞給prebreak
.
我從中學到了這個答案我可以使用 指定反斜杠\textbackslash
,但使用它會產生以下警告訊息:
LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
(Font) using `OMS/cmsy/m/n' instead for symbol `textbackslash' on input line 8.
雖然這仍然允許文件編譯,但看起來不知\textbackslash
何故避免了根據basicstyle
選項進行格式化。如下例所示,清單完全能夠正確設定手動輸入的反斜線樣式。
是否可以使清單自動用正確樣式的反斜線來分隔長行?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{document}
% Automatic line break
\begin{lstlisting}[basicstyle=\ttfamily,breaklines,breakatwhitespace,prebreak={\textbackslash}]
long string of text to test line breaking for the listings package
\end{lstlisting}
% Manual line break
\begin{lstlisting}[basicstyle=\ttfamily,breaklines,breakatwhitespace]
long string of text to test line breaking for the \
listings package
\end{lstlisting}
\end{document}
答案1
我找到了我的問題的兩個答案,這兩個答案都允許在用於列表自動換行時正確設置反斜線的樣式:
坎帕的建議新增
\usepackage[T1]{fontenc}
到序言中修復了\textbackslash
用於prebreak
選項時的樣式問題。找到了替代解決方案問題我在自己的問題中已經連結到了。雖然這個問題涉及返回符號,但他們提供的範例程式碼包括使用 指定反斜線的不同方法
\char`\\
。事實證明,設定prebreak
with\char`\\
會產生正確樣式的反斜杠,而無需使用\usepackage[T1]{fontenc}
.
了解 非常有幫助\char
,因為我預計在未來的情況下可能有必要將特殊字元傳遞給選項。然而,對於這種特殊情況以及一般情況下使用 LaTeX 進行寫作,我想我會堅持使用\usepackage[T1]{fontenc}
因為它具有以下概述的好處這個答案。