LaTeX學(xué)習(xí)筆記 1 | 一個(gè)中文排版例子

LaTeX吉祥物

本文目錄

  • 題外話
  • 熟悉LaTeX
    • LaTeX的讀音和寫法
    • 書中介紹的LaTeX版本會(huì)不會(huì)過時(shí)
    • 再談LaTeX發(fā)行版
  • 一個(gè)簡單的中文排版例子
  • 關(guān)于TeXstudio語法檢查的設(shè)置
  • 牛刀小試,第一個(gè)有模有樣的作品
    • 源代碼
    • 排版效果
    • 代碼拆解
      • 調(diào)整TeXstudio的默認(rèn)編譯器為XeLaTeX
      • 基礎(chǔ)語法
      • 換行與空格
      • 命令與環(huán)境
      • 數(shù)學(xué)公式
      • 使用圖表
      • 參考文獻(xiàn)與JabRef的安裝使用
      • 交叉引用
      • 文章格式
      • 易錯(cuò)點(diǎn)總結(jié)
  • 后記

題外話

等了三天,劉海洋教授的《LaTeX入門》終于到手了,EMS還是不如順豐給力呀。粗略一翻,這本書的排版真的是賞心悅目,我已經(jīng)迫不及待要和它共度美好時(shí)光了。上幾張圖秀一下它的顏值。


《LaTeX入門》封面
《LaTeX入門》內(nèi)容

熟悉LaTeX

LaTeX的讀音和寫法

LaTeX的官方標(biāo)準(zhǔn)讀音音譯成中文大約是“拉泰赫”,寫法要嚴(yán)格按照大小寫交錯(cuò)寫成LaTeX

書中介紹的LaTeX版本會(huì)不會(huì)過時(shí)

劉海洋教授在本書中使用的是LaTeX格式版本為2e,意思是超過了第2版,接近卻沒有達(dá)到第3版。LaTeX2e在1994年就已經(jīng)完善,考慮到這本書是2013年出版的,而LaTeX又是在不斷更新進(jìn)化的,我特地去查了一下LaTeX3相關(guān)的內(nèi)容,點(diǎn)擊這里查看LaTeX3的主頁。根據(jù)我的調(diào)查和理解,目前來說,我認(rèn)為使用LaTeX2e完全滿足日常需要。別的不多說,既然《LaTeX入門》這本書是用LaTeX2e排版的,我還有什么不滿足的呢?

再談LaTeX發(fā)行版

之前有粗略說過CTeX和TeXLive等發(fā)行版,現(xiàn)在詳細(xì)介紹一下。

對(duì)比 CTeX TeXLive
操作系統(tǒng) 只限于Windows下 通用
制作人 中科院吳凌云 TUG
其他 對(duì)MiKTeX的再封裝 可刻錄在光盤直接運(yùn)行

劉海洋教授還介紹了一些編輯器和PDF閱讀器,不過我個(gè)人認(rèn)為,對(duì)初學(xué)者來說,沒有必要把所有的可用軟件都折騰一番。現(xiàn)在的當(dāng)務(wù)之急,是建立LaTeX技能樹的主干,先把知識(shí)體系建立起來,那些零零碎碎的小知識(shí)都可以后再擴(kuò)充。

一個(gè)簡單的中文排版例子

不知讀者是否發(fā)現(xiàn),在我們之前測(cè)試TeXstudio是否可用的那個(gè)例子里,直接添上中文是不可以的,雖然編譯沒有報(bào)錯(cuò),但無法輸出。這是因?yàn)?TEX 原本是面向西文寫作的,默認(rèn)并沒有加載中文字體。通過更換文檔類型,可以正確顯示出中文。代碼如下:

\documentclass[UTF8]{ctexart}
\begin{document}
    \section{文字}
    特可愛排版。
    \section{數(shù)學(xué)}
    \[
        a^2+b^2=c^2
    \]
\end{document}

顯示效果如下:


顯示效果

這段代碼挺好理解的。如果你懂編程,你肯定直到UTF8代表什么,不懂得話點(diǎn)擊這里查看。反斜線\ 代表的是其后緊跟的是一個(gè)排版命令,而非作者的文字內(nèi)容。documentclass,顧名思義,就是文檔類了。LaTeX的優(yōu)勢(shì)就在于讓寫作與排版分離,把排版大量繁瑣的要求隱藏在格式之下,想必這個(gè)格式就是只一開始加載的文檔類了。ctexart嘛,ctexarticle的縮寫,暫且不管這個(gè)ctexart是哪路神仙,知道比起之前的article來它能讓我們輸出中文即可。接下來是一對(duì)命令,\begin{document}\end{document},看起來被它們包含夾在中間的應(yīng)該就是排版的正文部分了。\section好理解,段落嘛。至于下一對(duì)命令,\[\],它們之間包含的應(yīng)該是對(duì)數(shù)學(xué)公式的特殊處理。

關(guān)于TeXstudio語法檢查的設(shè)置

突然發(fā)現(xiàn)TeXstudio會(huì)對(duì)所有正在編輯的中文加紅色下劃線提示報(bào)錯(cuò),看著挺煩人的,選擇菜單欄里的Options-Configure TeXstudio,取消下圖紅色橢圓處的對(duì)勾即可。

牛刀小試,第一個(gè)有模有樣的作品

這一節(jié)研究的是一個(gè)相對(duì)實(shí)際的例子,如劉海洋教授所說,有一些代碼或許難以理解,確實(shí)如此,有些代碼具體怎么執(zhí)行的我不知,但根據(jù)基本的英語能力和編程功底,大概還是猜得出一些代碼的作用的。

這是一片小小的科技論文,麻雀雖小五臟俱全,結(jié)構(gòu)上包括標(biāo)題、摘要、目錄、正文和參考文獻(xiàn),內(nèi)容上包括文字、公式、圖形、表格等。內(nèi)容很多,但別怕,這只是一種慣用的教學(xué)伎倆,先給你一個(gè)完整工程讓你感受一下,這對(duì)你以后的學(xué)習(xí)大有裨益。

源代碼

%-*- coding: UTF-8 -*-
% gougu.tex
% 勾股定理
\documentclass[UTF8]{ctexart}
\usepackage{graphicx}
\usepackage{float}
\usepackage{amsmath}
\usepackage{geometry}
\geometry{a6paper,centering,scale=0.8}
\usepackage[format=hang,font=small,textfont=it]{caption}
\usepackage[nottoc]{tocbibind}

\newenvironment{myquote}
{\begin{quote}\kaishu\zihao{-5}}
{\end{quote}}

\newcommand\degree{^\circ}

\title{\heiti 雜談勾股定理}
\author{\kaishu 紙山}
\date{\today}

\bibliographystyle{plain}

\newtheorem{thm}{定理}

\begin{document}
    
    \maketitle
    \begin{abstract}
        這是一篇關(guān)于勾股定理的小短文。
    \end{abstract}
    \tableofcontents
    \section{勾股定理在古代}\label{sec:diyijie}
    西方稱勾股定理為畢達(dá)哥拉斯定理,將勾股定理的發(fā)現(xiàn)歸功于公元前 6 世紀(jì)的
    畢達(dá)哥拉斯學(xué)派 \cite{Kline}。該學(xué)派得到了一個(gè)法則,可以求出可排成直角
    三角形三邊的三元數(shù)組。畢達(dá)哥拉斯學(xué)派沒有書面著作,該定理的嚴(yán)格表述和證
    明則見于歐幾里德\footnote{歐幾里得,約公元前 330--275 年。}《幾何原本》
    的命題 47:“直角三角形斜邊上的正方形等于兩直角邊上的兩個(gè)正方形之和。 ” 
    證明是用面積做的。
    
    我國《周髀算經(jīng)》載商高(約公元前 12 世紀(jì))答周公問:
    \begin{myquote}
        勾廣三,股修四,徑隅五。
    \end{myquote}
    又載陳子(約公元前 7--6 世紀(jì))答榮方問:
    \begin{myquote}
        若求邪至日者,以日下為勾,日高為股,勾股各自乘,并而開方除之,得邪至日。
    \end{myquote}
    都較古希臘更早。后者已經(jīng)明確道出勾股定理的一般形式。圖\ref{fig:xiantu}是
    我國古代對(duì)勾股定理的一種證明 \cite{quanjing}。
    \begin{figure}[ht]
        \centering
        \includegraphics[scale=0.2]{xiantu.png}
        \caption{宋趙爽在《周髀算經(jīng)》注中作的弦圖(仿制),該圖給出了勾股定理一個(gè)極具對(duì)稱美的證明。 }
        \label{fig:xiantu}
    \end{figure}
    \section{勾股定理的近代形式}
    勾股定理可以用現(xiàn)代語言表述如下:
    \begin{thm}[勾股定理]
        直角三角形斜邊的平方等于兩腰的平方和。
    \end{thm}

    可以用符號(hào)語言表述為:設(shè)直角三角形$ABC$,其中$\angle C = 90\degree$,則有
    \begin{equation}\label{eq:gougu}
    AB^2 = BC^2 + AC^2.
    \end{equation}
    滿足式\eqref{eq:gougu}的整數(shù)稱為\emph{勾股數(shù)}。第\ref{sec:diyijie}節(jié)所說
    畢達(dá)哥拉斯學(xué)派得到的三元數(shù)組就是勾股數(shù)。下表列出一些較小的勾股數(shù):
    \begin{table}[H]
        \begin{tabular}{|rrr|}
            \hline
            直角邊 $a$ & 直角邊 $b$ & 斜邊 $c$ \\
            \hline
            3 & 4 & 5 \\
            5 & 12 & 13 \\
            \hline
        \end{tabular}%
        \qquad
        ($a^2 + b^2 = c^2$)
    \end{table}
    \nocite{Shiye}
    \bibliography{math}
\end{document}

排版效果

排版效果
排版效果

怎么樣,是不是看起來挺不錯(cuò),心動(dòng)不如行動(dòng),快來看一下是什么樣的代碼能排出如此精美的文章的吧!

代碼拆解

區(qū)區(qū)七八十代碼,竟花費(fèi)了我接近兩個(gè)小時(shí)來調(diào)試,頗為不易,接下來讓我來拆解一下這段代碼。

調(diào)整TeXstudio的默認(rèn)編譯器為XeLaTeX

自此以后的編譯工作我們都使用XeLaTeX,一開始TeXstudio默認(rèn)的編譯器可能不是它,需要我們手動(dòng)修改。選擇菜單欄里的Options-Configure TeXstudio,修改下圖紅色橢圓處即可。

基礎(chǔ)語法
  • 以%開頭的行是注釋,不會(huì)對(duì)排版效果產(chǎn)生任何影響,只是用來方便閱讀源代碼。
  • \title{}\author{}\date{\today},顧名思義,聲明了標(biāo)題、作者和寫作日期,\today當(dāng)然是自動(dòng)生成今日的日期。這只是聲明,還需要下面的\maketitle命令使之出現(xiàn)在編譯結(jié)果中。
  • \begin{document}之前的部分稱為導(dǎo)言區(qū),往往用來對(duì)文檔的性質(zhì)做一些設(shè)置,或自定義一些命令。
  • \bibliographystyle{plain}用來聲明參考文獻(xiàn)的格式,\bibliography{math}將從同文件夾下的math.bib中獲取參考文獻(xiàn)信息。
  • \tableofcontents用來輸出目錄。
  • \zihao命令設(shè)置字號(hào),\kaiti設(shè)置字體為楷體
換行與空格
  • 空行分段,單個(gè)回車不分段。LaTeX會(huì)忽略單個(gè)回車、段前的空格和漢字后面的空格,而其他符號(hào)后面的空格則會(huì)保留。
  • 使用XeLaTeX時(shí),ctexart會(huì)調(diào)用xeCJK宏包,自動(dòng)處理漢字與其他符號(hào)之間的距離。
  • 為了使源代碼更容易閱讀,我們可以利用上面兩點(diǎn)特性:在合適的位置敲一下回車,不要讓一行代碼太長;在漢字與其他符號(hào)之間加一個(gè)空格,使得代碼更清晰。
命令與環(huán)境
  • 命令的格式為:以反斜線\開頭,后接一串字母表示命令名,參數(shù)用花括號(hào)括起來,可選參數(shù)用方括號(hào)。
  • 環(huán)境的格式為:\begin{環(huán)境名}(環(huán)境內(nèi)容)\end{環(huán)境名},故源代碼中的document,abstract,myquote,figure,thm,equation,table,tabular都是環(huán)境,其中myquote是自定義的環(huán)境。
  • 自定義環(huán)境:源代碼中的\newenvironment{myquote}{\begin{quote}\kaishu\zihao{-5}}{\end{quote}}用來自定義環(huán)境,為什么這樣寫,這還得繼續(xù)學(xué)習(xí)才能知曉。
  • 自定義命令:源代碼中的\newcommand\degree{^\circ}用來自定義命令,新命令\degree的效用等價(jià)于^\circ
數(shù)學(xué)公式

數(shù)學(xué)公式分為兩種,一個(gè)是正文公式,一個(gè)是顯示公式。

  • 正文公式:把公式用一對(duì)美元符號(hào)$$括起來即可,主要用于較短的夾在行文中的公式。
  • 顯示公式:使用equation環(huán)境,主要用于較長的比較重要的需要引用的公式。
使用圖表

插圖功能:需要使用宏包,在引言區(qū)使用\usepackage{graphicx}命令。一個(gè)用來插圖的代碼標(biāo)準(zhǔn)模板如下:

\begin{figure}[ht]
        \centering
        \includegraphics[scale=0.2]{圖片路徑}
        \caption{ }
\end{figure}

figure環(huán)境的可選參數(shù),ht分別表示here和top,表示浮動(dòng)體可以出現(xiàn)在環(huán)境周圍的文本所在處(here)和一頁的頂部(top)。\centering表示居中,scale是對(duì)圖片的放縮比例,圖片路徑是指相對(duì)于當(dāng)前編輯的.tex文件路徑*,請(qǐng)注意這一點(diǎn)。\caption當(dāng)然是指圖片的標(biāo)題。

圖表功能:表格由tabular環(huán)境完成,一個(gè)用來制作表格的標(biāo)準(zhǔn)模板如下:

\begin{tabular}{|rrr|}
        \hline
        直角邊 $a$ & 直角邊 $b$ & 斜邊 $c$ \\
        \hline
        3 & 4 & 5 \\
        5 & 12 & 13 \\
        \hline
\end{tabular}

|rrr|表示表格有三列,都是右對(duì)齊(r代表right),在第一列前面和第三列后面各有一條垂直的表格線。\\把行與行隔開,&把列與列隔開,\hline畫一條橫線。

參考文獻(xiàn)與JabRef的安裝使用

LaTeX使用BibTeX處理參考文獻(xiàn),BibTeX需要我們定義“參考文獻(xiàn)數(shù)據(jù)庫”,參考文獻(xiàn)數(shù)據(jù)庫是一個(gè)后綴為.bib的文件,本文所使用的參考文獻(xiàn)數(shù)據(jù)庫如下:

% Encoding: UTF-8

@Book{Kline,
  title     = {古今數(shù)學(xué)思想},
  publisher = {上海科學(xué)技術(shù)出版社},
  year      = {2002},
  author    = {克萊因},
}

@Book{Shiye,
  title     = {幾何的有名定理},
  publisher = {上海科學(xué)技術(shù)出版社},
  year      = {1986},
  author    = {失野健太郎},
}

@Article{quanjing,
  author  = {曲安京},
  title   = {商高、趙爽與劉徽關(guān)于勾股定理的證明},
  journal = {數(shù)學(xué)傳播},
  year    = {1998},
}

@Comment{jabref-meta: databaseType:bibtex;}

你可以復(fù)制粘貼到記事本里,然后保存為math.bib。注意這個(gè)文件的路徑也是相對(duì)于當(dāng)前編輯的.tex文件路*,直接在命令里寫成\bibliography{math}表明,math.bib和當(dāng)前編輯的.tex文件在同一文件夾下。

其實(shí)我們大可不必手動(dòng)輸入,有專門的軟件JabRef來管理文獻(xiàn)數(shù)據(jù)庫,點(diǎn)擊這里下載。安裝完成后,點(diǎn)擊菜單欄file->New BibTeX database,然后點(diǎn)擊下圖紅色橢圓中的加號(hào):

選擇你要添加的文獻(xiàn)類型,我們添加了兩個(gè)Book和一個(gè)Article,然后就可以輸入內(nèi)容了。這里需要解決一個(gè)中文亂碼的問題。點(diǎn)擊菜單欄Options->Preferences,點(diǎn)擊下圖紅色橢圓處的按鈕,把字體換成SimSun,保存即可。

交叉引用

除了參考文獻(xiàn),圖表和公式的編號(hào)也可以引用。基本的交叉引用命令是\ref,它以標(biāo)簽為參數(shù),得到被引用的編號(hào)。標(biāo)簽通過\label命令設(shè)置,比如在插圖時(shí)已經(jīng)為弦圖定義了標(biāo)簽fig:xiantu。在本文中,還為表格和section設(shè)置了標(biāo)簽。

其中,對(duì)于公式的引用,數(shù)學(xué)宏包amsmath定義了\eqref命令,專門用于公式的引用,特色是能產(chǎn)生括號(hào)。

文章格式

設(shè)計(jì)頁面尺寸可以使用geometry宏包,代碼:

\usepackage{geometry}
\geometry{a6paper,centering,scale=0.8}

定義頁面使用A6紙大小,版心居中,長寬占頁面的0.8倍。

易錯(cuò)點(diǎn)總結(jié)
  • 引用圖片、文獻(xiàn)數(shù)據(jù)庫時(shí)注意路徑。
  • 命令不要抄錯(cuò)了,很容易把大括號(hào)抄成方括號(hào)。
  • 劉海洋教授在文中說要編譯四次,按四次按鈕。TeXstudio貌似不需要,點(diǎn)擊一次按鈕后,自動(dòng)編譯了四次。
  • 不要試圖讀完本文就想排出這個(gè)效果,最好是通讀一下《LaTeX入門》的第一章。

后記

今天學(xué)習(xí)了《LaTeX入門》的第一章,雖然只有50頁,但因?yàn)檫@個(gè)小例子的存在,難度不算低,有些地方折騰了好久,但最終得到了和書中一模一樣的排版,還是很令人自豪的。我自認(rèn)為劉海洋教授在本章寫的內(nèi)容我基本看明白了,讀者對(duì)本章有什么疑問可在評(píng)論里留言,我們可以多交流。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,165評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,595評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,435評(píng)論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,943評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,175評(píng)論 0 287
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,713評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,599評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,788評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,034評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評(píng)論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,408評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,747評(píng)論 2 370

推薦閱讀更多精彩內(nèi)容