LaTeX 中英文報告 preamble 設定(2018)

承先前在 LaTeX 中/英文報告 preamble 設定 中的討論,最近在試的時候發現 preamble 的設定可以再更精簡。以下開始。

latex_project_logo

在開始編輯文件前,一樣將編譯環境設定為 XeLaTeX,並使用 UTF-8 編碼。

文章的起頭為:

\documentclass[a4paper, 12pt]{article}

格式為文章(article),A4 的紙張大小,字體為 12 號字。紙張若要 B5 則用 b5paper 選項。中文字小於 12 號字都太小了,14 號字以上可用 extsizes 套件來支援。

接著引入 xeCJK 套件,來支援中日韓書寫,這個部分更動較大的:

\usepackage{xeCJK}
    \xeCJKsetup{AutoFakeBold=true, AutoFakeSlant=true}
    \setCJKmainfont{標楷體}
    \setmainfont{Times New Roman}

這邊把中文字體設定為「標楷體」,英文為 Times New Roman,是典型的學術界的搭法。字體的部分可以依個人喜好去配置。如果 \setmainfont 這一行不加則會用 LaTeX 預設的 Computer Modern 字體,跟楷體字搭配上也很 OK。

在套件相容性的部分,用 xeCJKsetup 來做細部設定比較不會有問題。AutoFakeBold=true 開啟支援粗體字,也可以填數字自己設計粗體強度。AutoFakeBold=1 就有很不錯的效果;AutoFakeSlant=true 則開啟支援斜體字,一樣可自填數字調整,AutoFakeSlant=.4 效果還不錯。若要關閉粗體或斜體選項請設定成 false 或移除上面 \xeCJKsetup... 那一行。

至於網路上建議的中文環境一定要加的 \XeTeXlinebreaklocale "zh"\XeTeXlinebreakskip = 0pt plus 1pt 兩個選項,經測試後似乎沒必要。也許是 xeCJK 後來支援了。

另外也有建議額外引入 fontspec 套件再設定英文字體。其實這也不需要,因為引入 xeCJK 就會連帶引入了,這也是為什麼上面的 \setmainfont{...} 這一行可以跟著 xeCJK 的設定一起走就好。

再來引入 setspace 套件來設定行高:

\usepackage{setspace}
    \onehalfspace

以中文字來說,LaTeX 預設的行距太小了,上面的 1.5 倍的設定比較合適。兩倍行高請用 \doublespace。使用 setspace 套件來設定行高最為簡單。

設定段落間距:

\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

上面的設定是一個字高的間距,可依排版自動調整,最大 1.5,最小 0.8 個字高。因為 LaTeX 預設有段落縮排,其實不會因為跨頁混淆。這個部分除了可以保留適當的段落間的空白,跟圖、表、方程式這類元件之間的排版效果也比較好。

最後,如果有用到 LaTeX 的目錄、圖表目錄、圖表敘述、摘要等功能,可加入下段以取代原本的英文標題字:

\renewcommand\contentsname{目~錄}
\renewcommand\listfigurename{圖~目~錄}
\renewcommand\listtablename{表~目~錄}
\renewcommand\abstractname{摘~要}
\renewcommand\figurename{圖~}
\renewcommand\tablename{表~}
\renewcommand\refname{參~考~文~獻}

當中的 ~ 為字與字之間的小空隔,可以視排版拿掉。

以上就是最基本的 LaTeX 中英文件的基本設定。接下來就能 \begin{document} 開始寫本文了。


以下則一一介紹我個人覺得不錯的套件,程式碼一樣放在 preamble 區。細節可上 CTAN 查詢。

插入圖片或 PDF:

\usepackage{graphicx}
    \graphicspath{{figures/}}

可支援從文件目錄底下的 figures/ 資料夾指定檔名並以 \includegraphics 指令插入圖片。

數學工具:

\usepackage{mathtools}

引入後就能打出包山包海的數學式了。

物理數學表述工具

\usepackage{physics}

引入後像是微分算式、梯度、旋度、常用函數等數學式可以得到很好的控制。

科學單位表述工具:

\usepackage{siunitx}
    \sisetup{
        list-final-separator = { 和 }, 
        list-pair-separator = { 和 },
        range-phrase = { 至 }
    }

引入後對於像是 1.2 km/s 這種科學表述就能輕易管理與控制。上述 \sisetup 則把科學範圍表述的銜接字換成中文化,使用上會變成像「0 km/h 至 100 km/h」這樣。


最後是統整後的內容:

\documentclass[a4paper, 12pt]{article}

%%%%% 中文環境設定 %%%%%
\usepackage{xeCJK}
    \xeCJKsetup{AutoFakeBold=true, AutoFakeSlant=true}
    \setCJKmainfont{標楷體}
    \setmainfont{Times New Roman}
\usepackage{setspace}
    \onehalfspace
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

%%%%% 數學相關工具 %%%%%
\usepackage{mathtools}
\usepackage{physics}
\usepackage{siunitx}
    \sisetup{
        list-final-separator = { 和 }, 
        list-pair-separator = { 和 },
        range-phrase = { 至 }
    }

%%%%% 匯入工具 %%%%%
\usepackage{graphicx}
    \graphicspath{{figures/}}

%%%%% 其它 %%%%%
\renewcommand\contentsname{目~錄}
\renewcommand\listfigurename{圖~目~錄}
\renewcommand\listtablename{表~目~錄}
\renewcommand\abstractname{摘~要}
\renewcommand\figurename{圖~}
\renewcommand\tablename{表~}
\renewcommand\refname{參~考~文~獻}

\begin{document}
% 本文
\end{document}

有任何建議或錯誤,再麻煩留言指教。

廣告

Posted

in

by

Tags:

Comments

「LaTeX 中英文報告 preamble 設定(2018)」 有一則迴響

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s