LaTeX/常見問題解答
LaTeX 的預設邊距可能看起來太大。在大多數情況下,這是首選的預設值,並且可以提高可讀性。
如果您仍然不同意,您可以輕鬆地使用以下方法更改它們
\usepackage{geometry}
% or
\usepackage[margin=1.5in]{geometry}
|
請參見 頁面佈局。
太多一行或兩行的段落看起來不太好。
請記住 TeX 規則
- 如果找到兩個或多個連續的換行符,TeX 將開始一個新段落。
- 如果只找到一個換行符,TeX 會插入一個空格,前提是它前面或後面沒有空格。
您可能很想一直放置空白行來提高原始碼的可讀性,但這會影響格式。解決方案很簡單:在空白行的開頭放置一個註釋。這將阻止 TeX 看到另一個換行符——註釋後的所有字元(包括下一個換行符)都會被忽略。
示例
We are in the first paragraph here.
%
We are still in the first paragraph.
This time, this is another paragraph.
|
只要您的計算環境支援 UTF-8,您就可以直接輸入特殊字元,而不是輸入 TeX 命令來表示變音符號和其他擴充套件字元。例如,
R\'esum\'e can also be written résumé.
|
這需要
- 您的文字編輯器支援並設定為以 UTF-8 儲存您的檔案;
- 在序言中新增
\usepackage[utf8]{inputenc}行。
避免使用 latin1。請參見 特殊字元。
在您的序言中新增以下幾行
\usepackage[utf8]{inputenc}
\usepackage{marvosym}
\DeclareUnicodeCharacter{20AC}{\EUR{}}
|
有些人不喜歡 \paragraph{...} 將標題與內容寫在同一行的方式。這實際上在很多文件中都很常見,並沒有看起來那麼奇怪。
但是,有一些方法可以繞過預設行為;請參見 \paragraph 換行符 瞭解更多資訊。
您一定是使用 OT1 編碼(預設編碼)的變音符號(例如重音)。切換到 T1 編碼
\usepackage[T1]{fontenc}
|
如果您在更改字型編碼後遇到難看的鋸齒字型,那麼您沒有可用的 Type1 相容字型。安裝 Computer Modern Super 或 Latin Modern(軟體包名稱可能是 lm)。要使用 Latin Modern,您需要包含軟體包
\usepackage{lmodern}
|
請參見 字型 以獲取解釋。
您確實應該避免手動換行和分頁。TeX 引擎負責這些。手動格式化的一大問題是它不是動態的。即使它第一次看起來很正確,如果您在手動格式化之前更改了任何內容,內容很可能最終會呈現得很糟糕。
建議在文件的分節最高層級(例如,部分或章節)中使用分頁符(儘管當您開始一個新的部分或章節時,LaTeX 通常會為您執行此操作)。當您手動插入分頁符時,您應該使用 \clearpage 或 \cleardoublepage,這將列印當前浮動圖片,然後開始一個新頁面。
如果您絕對必須手動插入換行符或分頁符,您應該在確保完成文件後執行此操作,這樣以後您就不必再回來更新它了。
TeX 有一條不直觀的規則:如果控制序列(命令)後面沒有一對花括號(無論中間是否有引數),那麼後面的空格字元將被忽略。LaTeX 不會列印任何空格,並且命令(例如 TeX 或 LaTeX 的徽標)會與後面的單詞連在一起。
要解決這個問題,請在命令後面使用一對花括號,即使沒有引數。例如
\LaTeX is great. % BAD !
\LaTeX{} is great. % GOOD !
|
(技術解釋:控制序列名稱只能由字元碼為 11 的字元組成,預設情況下即為 A-Z 和 a-z。TeX 透過反斜槓知道控制序列名稱的起始位置,並在遇到第一個非字元碼為 11 的字元時知道控制序列名稱的結束位置。然後跳過該字元。由於連續的空格已經連線成一個空格,因此沒有空格被考慮在內。)
可以透過使用 xspace 包來定義宏,該宏將動態插入空格。
- 如果命令後面沒有花括號並且有空格,則會追加一個額外的空格。
- 如果有花括號,則不會列印額外的空格。
示例
\usepackage{xspace}
\let\latexold\LaTeX
\renewcommand{\LaTeX}{\textrm{\latexold}\xspace}
...
\LaTeX is followed by a space.
\LaTeX{} is followed by a space.
\LaTeX{}is not followed by a space.
|
從排版角度來說,在段落中間使用粗體或下劃線格式通常是不好的做法。這已經成為傳統文字處理軟體使用者的常見習慣,因為這兩個功能很容易使用(以及斜體)。
然而,粗體和下劃線會使文字顯得過重,分散讀者注意力。當您開始閱讀一個段落,其中間有一個粗體字時,您經常會先閱讀強調的部分,從而破壞了內容並打亂了想法的順序。斜體不那麼明顯,而且不像普通字元那樣顯得更重,因此在強調少量文字時通常是更好的選擇。
粗體和下劃線的原始和更恰當的用法是用於特殊部分,例如標題、索引、術語表等。(實際上,下劃線在專業環境中很少使用。)
LaTeX 有一個宏 \emph{...},用於使用斜體強調文字。它應該優先於 \textit{...},因為 \emph{...} 將在其他斜體文字中以常規字型正確列印強調的文字。
習慣使用 Microsoft Word 或 LibreOffice 等所見即所得文字處理軟體的使用者經常會對圖形感到沮喪。答案很簡單:圖形不是圖片!
如果您使用 \includegraphics 而不將其包含在 figure 環境中,它將與文字處理軟體中的行為相同,將圖片放置在原始碼中放置圖片的位置。
圖形是一種浮動物件,它是一種虛擬物件,LaTeX 可以將其放置在與建立位置不同的位置,這有助於防止文字因圖片和表格而變得雜亂。
有關更多詳細資訊,請參閱匯入圖形和浮動物件、圖形和標題。
您很可能在某個時候使用了 \raggedleft、\raggedright 或 \centering,並忘記將其關閉。這些命令是開關——它們一直處於活動狀態,直到作用域結束,或者如果沒有作用域,則直到文件結束。有關更多資訊,請參閱段落對齊。
LaTeX 會為您做一些工作,但不是所有工作。特別是關於標點符號,您可以隨意做您想做的事情。每種語言的標點符號規則都不同。在英語中,標點符號之前沒有空格,之後有一個空格。
有很多規則,但您可以快速檢視維基百科。
這是 Babel 的一個限制。刪除.aux檔案(或清理專案),然後嘗試再次編譯。
如今,使用搜索引擎和複製貼上網頁內容來“學習”非常普遍。與任何程式語言一樣,這通常是一種不好的方法,會導致缺乏控制、意外結果以及很多沮喪。真正學習 LaTeX 並不難,而且也不需要很長時間。本書中的大多數章節都專門針對特定的用法,因此基礎知識實際上很快就能學會。
如果您對某個特定軟體包感到沮喪,請確保閱讀其官方文件,這通常是最好的資訊來源。在網上找到的內容,即使在這本書中,也不如官方文件那麼準確。不準確的資訊可能會導致錯誤,而您卻不知道原因。
您花在學習上的時間是值得的,並且它很快就會彌補您如果沒有正確學習而一直卡住而損失的時間。
這個有用的功能大多數新手都瞭解,儘管它在大多數所見即所得文字處理軟體上都可用。兩個標記(例如單詞、標點符號)之間的不間斷空格可以防止處理器在它們之間插入換行符。這對一致閱讀非常重要。LaTeX 使用“~”符號作為不間斷空格。
您通常會為某些語言中的標點符號、單位和貨幣、首字母縮寫詞等使用不間斷空格。
例如,在法語排版中,您會在所有兩部分標點符號之前放置一個不間斷空格。例如
Il répondit~: «~Ce pain coûte-t-il 2~€~?~»
|
請注意,像這樣寫法語可能會非常痛苦。幸運的是,Babel 具有 frenchb 選項,它將處理所有標點符號的不間斷空格。在上面的例子中,只需保留歐元符號的不間斷空格。
所有由字母、變數或其他符號指定的虛擬物件都應使用專門的格式。對於數學和其他許多領域,LaTeX 數學格式是完美的。例如,如果您想引用一個物件A,請寫
Speaking of $A$, let's say...
|
如果您想在一個句子中引用多個物件,則相同。
Speaking of $A$, $B$ and $C$...
|
如果您引用一組物件,您仍然可以使用數學符號。
The family $(A, B, C)$ is...
|
請注意,這與通常的文字括號不同。
A sentence. ($A$, $B$, and $C$ are not concerned, but we do not mean the $(A, B, C)$ family.)
|
光柵(點陣圖)圖形縮放效果很差,並且經常會產生鋸齒或低質量的結果,與文件質量衝突,特別是在列印時。
使用向量(線型)圖形代替,無論是透過 LaTeX 的原生繪圖工具還是透過從您的繪圖或圖表工具匯出向量格式,都將產生更高質量的結果。在可能的情況下,您應該優先考慮 PDF、EPS 或 SVG 圖形而不是 PNG 或 JPG。
嘗試使用預設的 tabular 環境拉伸表格,通常會導致意外結果。不錯的 tabu 軟體包將實現您想要的功能,甚至更多。或者,如果您無法使用 tabu 軟體包,您可以嘗試 tabularx 或 tabulary 軟體包。參閱表格。
即使表格章節相當長,也值得一讀。最終,你只需要瞭解你選擇的環境的一些知識。
一些 LaTeX 編輯器具有表格助手功能。此外,許多電子表格應用程式具有 LaTeX 匯出功能(或外掛)。同樣,有關更多詳細資訊,請參閱表格。
LaTeX 有時寫起來很麻煩,特別是如果你沒有使用合適的編輯器。請參閱編輯器以瞭解一些有趣的選項。
你可以定義別名以縮短一些命令。
\usepackage{xspace}
\newcommand{\tss}[1]{\textsuperscript{#1}}
\newcommand{\tbs}[1]{\textbackslash\xspace}
|
這裡xspace 包裹可以幫助避免吞掉空格。
對於列表,你可能想嘗試使用easylist 包裹。現在編寫列表就像
\usepackage[ampersand]{easylist}
% ...
\begin{easylist}
& Item 1
& Item 2
&& Subitem 1
&&& Subsubitem 1
& Item 3
&& Subitem 1
\end{easylist}
|
安裝 文章詳細介紹瞭如何在 100 MB 以內手動安裝一個功能齊全的 TeX 環境,包括 LaTeX 和其他功能。
