筆記:LaTeX不快速入門
2021年7月15日
劉海洋 · LaTeX 不快速的入門 - 跟著大神學(xué)習(xí)最純正的 LaTeX 知識_嗶哩嗶哩_bilibili
真的只是入門,想速成建議查找其他示例多的教程捷绒,想仔細學(xué)建議買本書從頭學(xué)
0.談?wù)凩aTeX
0.1 歷史
- Donald Knuth 編制了TEX排版系統(tǒng)
- Leslie Lamport 編寫了一組基于TEX的宏瑰排,即LaTeX
0.2 LaTeX印象
- 寫畢業(yè)論文,據(jù)說很方便
- 論文投稿要用暖侨,別的格式不要
- 寫書的工具椭住,有的老師用它
- 可以寫作業(yè)、記筆記字逗,輸出PDF
0.3 LaTeX/TEX是什么京郑?
- TEX來自于technology的希臘詞根
- LATEX = Lamport TEX
- TEX是一種專業(yè)排版軟件
- TEX是一種計算機宏語言。同為宏語言的有C語言預(yù)處理宏葫掉、Linux下的M4些举;但功能和形式更相近的是HTML+PHP
- LATEX是定義再TEX語言上的一大組宏命令。LATEX之于TEX類似HTML+CSS之于基本的HTML
- LATEX使格式化的代碼轉(zhuǎn)換為排版好的文檔
0.4 安裝并更新TEX發(fā)行版
- TEXLive俭厚,macOS金拒,MiKTeX
- 網(wǎng)頁在線版:https://www.overleaf.com/
- 各個大學(xué)的把你也論文模板可能需要更新TEX發(fā)行版本后才能使用。如果不要求更新,Linux環(huán)境下也可以使用軟件源里的版本(APT大法)
- Index of /CTAN/systems/texlive/Images/ (ustc.edu.cn)下載名為texlive2021.iso的文件然后安裝即可
- 注意預(yù)留硬盤空間绪抛,不建議裝在C盤资铡,并且安裝路徑不能有英文。
0.5 準(zhǔn)備一些靠譜的教程
- 《LATEX入門》
- 《LaTeX實用教程》
- LATEX Tutorials: A Primer
- B站視頻(本文開頭)幢码,知乎笤休、CSDN等社區(qū)
1.組織文檔結(jié)構(gòu)
1.1 編寫結(jié)構(gòu)化文檔
- 文檔組成:標(biāo)題、前言症副、摘要店雅、目錄、正文(篇 章 節(jié) 段)贞铣、列表闹啦、公式、引用辕坝、代碼窍奋、畫圖……文獻、索引酱畅、詞匯表
- LATEX支持結(jié)構(gòu)化的文檔編寫方式琳袄,也只有具有良好結(jié)構(gòu)的文檔才適合實用LATEX來編寫。
- 步驟:擬定主題纺酸,列出提綱窖逗,填寫內(nèi)容,調(diào)整格式(平時可不要在意格式)
1.2 Markdown
- 最簡單的結(jié)構(gòu)標(biāo)記語言
- 工具:Typora
- 記筆記比較方便
1.3 LYX
- 結(jié)構(gòu)化的文檔寫作系統(tǒng)
- 所見即所得
- 可以模仿LATEX大部分功能餐蔬,也可以生產(chǎn)LATEX代碼
1.4 LATEX
- 結(jié)構(gòu)化文檔語言
- 可以使用任意文本編輯器編寫
- 推薦VScode碎紊,安裝latex workshop插件
1.5 LATEX文檔基本結(jié)構(gòu)
以document環(huán)境為界,之前是導(dǎo)言部分樊诺,內(nèi)部為正文部分矮慕,之后的部分被忽略。
-
在導(dǎo)言區(qū)進行格式設(shè)置啄骇,正文部分套用格式
%%% 簡單文檔 % 導(dǎo)言:格式設(shè)置 \documentclass{ctexart} \usepackage[b5paper]{geometry} % 正文:填寫內(nèi)容 \begin{document} 使用 \LaTeX \end{docement}
-
文檔部件:
- 標(biāo)題:\title,\auther,\date-\maketitle
- 摘要痴鳄、前言:abstract 環(huán)境/\chapter*
- 目錄:\tableofcontents
- 章節(jié):\chapter,\section,...
- 附錄:\appendix+\chapter或\section...
- 文獻:\bibliography
- 索引:\printindex
-
文檔劃分:
-
大型文檔:\frontmatter、\mainmatter缸夹、\backmatter
頁碼痪寻、標(biāo)題等會隨著命令變化
一般文檔:\appendix
-
層次 名稱 命令 說明 -1 part \part 可選最高層 0 chapter \chapter report、book類最高層 1 section \section article類最高層(一般的論文) 2 subsection \subsection 3 subsubsection \subsubsection report,book類 默認不編號虽惭、不編目錄 4 paragraph \paragraph 默認不編號橡类、不編目錄 5 subparagraph \subparagraph 默認不編號、不編目錄
-
-
磁盤文件組織
-
小文檔將所有內(nèi)容寫在同一個目錄中芽唇。比較大的文檔顾画,可以將文檔分成多個文件取劫,并劃分文件目錄結(jié)構(gòu):
- 主文檔,給出文檔框架結(jié)構(gòu)
- 按內(nèi)容章節(jié)劃分不同的文件
- 使用單獨的類文件和格式文件設(shè)置格式
- 用小文件隔離復(fù)雜的圖表
-
相關(guān)命令:
- \documentclass:讀入文檔類文件(.cls)
- \usepackage:讀入一個格式文件——宏包(.sty)
- \include:分頁研侣,并讀入章節(jié)文件(.tex)
- \input:讀入任意的文件
-
文檔結(jié)構(gòu)示例:
% language-main.tex % 寫的是一本書 \documentclass{book} % 調(diào)用索引表功能 \usepackage{makeidx} \makeidx \title{Languages} \auther{someone} \begin{document} \frontmatter \maketitle \tableofcontents \mainmatter \include{intro} \include{class} \backmatter \include{appendix} % 參考文獻谱邪,使用一些工具管理 \bibliography{foo} \printindex \end{document}
% intro.tex \part{Introduction} \chapter{Background}
% class.tex \part{Classification} \chapter{Natural Language} \chapter{Computer Languages} \section{Machine Languages} \section{High Level Languages} \subsection{Compiled Language} \subsection{Interpretative Language} \subsubsection{Lisp} \paragraph{Common Lisp} \paragraph{Scheme} \subsection{Perl}
% appendix.tex \chapter{Appendix}
-
2.填寫文檔內(nèi)容
建議同時參考其他完整教程
2.1 LATEX基礎(chǔ)
\documentclass[UTF8]{article}
\begin{document}
Hello world!
\end{documents}
英文a文檔rticle,中文文檔ctexart
-
中文.tex文件 -->xelatex --> .pdf文件
英文.tex文件 -->pdflatex --> .pdf文件
為了生成目錄庶诡、引用信息惦银,往往需要若干次編譯
2.1.1 語法結(jié)構(gòu)
相比原始TEX語言,LATEX語法結(jié)構(gòu)相對固定
命令:參數(shù)總在后面用花括號表示末誓,用中括號表示可選參數(shù)
環(huán)境:\begin{env} ... \end{env}
注釋:以%開頭
2.1.2 LATEX宏:命令與環(huán)境
- 命令:以反斜線開通扯俱,可以帶有零到多個參數(shù)
- 環(huán)境:\begin{env} ... \end{env}
2.2 正文文本
直接輸入正文文本
用空格分開單詞,換行相當(dāng)于空格
換行敲兩個回車(空一行)
-
一些符號被宏語言占用喇澡,需要轉(zhuǎn)義:
\# \$ % \& \{ \} \textbackslash
鍵盤上沒有的符號用命令輸入
2.3 公式
數(shù)學(xué)模式下字體迅栅、符號、間距與正文不同晴玖,一切數(shù)學(xué)公式都要在數(shù)學(xué)模式下輸入
$n=5$
行內(nèi)公式:用一對$標(biāo)示
-
顯示公式:
- 簡單的不編號公式用命令\[和\]標(biāo)示
- 基本的編號公式用equation環(huán)境
- 更復(fù)雜的結(jié)構(gòu)使用amsmath宏包提供的專門數(shù)學(xué)環(huán)境读存。(不要使用eqnarray環(huán)境)
-
數(shù)學(xué)結(jié)構(gòu):
- 上標(biāo):^
- 下標(biāo):_
- 上下畫線與花括號:\overline,\underline,\overbrace,\underbrace
- 分式:\frac{分子}{分母}
- 根式:\sqrt[次數(shù)]{根號下}
- 矩陣:使用amsmath宏包提供的專門矩陣環(huán)境matrix,pmatrix窜醉,bmatrix等。特別復(fù)雜的矩陣使用array環(huán)境作為表格畫出
- 其他查閱相關(guān)資料
-
數(shù)學(xué)符號:
- 數(shù)學(xué)字母a,b,數(shù)學(xué)字體\mathbb,\mathcal等
- 普通符號:如\infty(無限),\angle(角)
- 二元運算符:+艺谆,-等
- 二元關(guān)系符:=榨惰,<等
- 括號:<a,b>,使用\left,\right放大
- 標(biāo)點:逗號、分號(\colon)
-
amsmath與mathtools
- amsmath是基本數(shù)學(xué)工具包静汤,mathtools是對amsmath的補充和增強
-
科技功能
- siunitx:數(shù)字單位的一攬子解決方案(siunitx的代碼有整個latex內(nèi)核那么長琅催,不要重復(fù)造輪子)
- chemformula:編寫化學(xué)式
2.4 列表與文本塊:
-
列表環(huán)境
- enumerate編號列表
- itemize不帶編號
- description有標(biāo)題
-
定理類環(huán)境
\newtheorem定義定理類環(huán)境,如
\newtheorem{thm}{定理}[section]
-
使用定理類環(huán)境虫给,如:
\begin{thm} 一個定理 \end{thm}
2.5 詩歌和引文
- verse
- quote
- quotation
2.6 抄錄代碼
-
\verb命令藤抡,如:
\verb|#include <stdio.h>|
-
verbatim
\begin{verbatim} #include<stdio.h> int main() { puts("Hello world."); } \end{verbatim}
-
高級代碼:語法高亮
- 使用listings宏包
- minted宏包(調(diào)用Pygment)
-
算法結(jié)構(gòu)
- clrscode宏包(算法導(dǎo)論使用)
- algorithm2e宏包
- algorithmicx宏包的aigpseudocode格式
2.7 圖表
-
畫表格:
-
使用tabular環(huán)境
\begin{tabular}{|rr|} \hline 輸入& 輸出\\ \hline $-2$ & 4 \\ 0 & 0 \\ 2 & 4 \\ \hline \end{tabular}
使用其他工具
-
其他多種宏包:
- 單元格處理:multirow、makecell
- 長表格:longtable抹估、xtab
- 定寬表格:xtabular
- 表線控制:booktabs缠黍、diagbox、arydshln
- 表列格式:array
- 綜合應(yīng)用:tabu
-
2.8 插圖
-
數(shù)據(jù)集用graphicx宏包提供的\includegraphics命令
\includegraphics[width=2cm]{pkulogo.pdf}
-
代碼畫圖:
- 優(yōu)先使用外部工具畫圖药蜻,存儲為pdf格式使用latex插入
2.9 浮動體
- figure環(huán)境
- table環(huán)境
- 使用float宏包
- 浮動體標(biāo)題用\caption命令得到瓷式,自動編號
2.10 自動化工具
- 目錄
- 需要多次編譯
- pdf鏈接與書簽
- hyperref產(chǎn)生鏈接與書簽
- bibtex參考文獻
- 一般文獻都能查到bibtex格式
- 設(shè)置文件格式:
- 使用合適的.bst格式
- natbib與作者-年格式
- 利用custom-bib產(chǎn)生定制格式
- biblatex+Biber:文獻處理新方式
3.設(shè)計文檔格式
3.1 基本原則
- 格式與內(nèi)容分離(不要太在意細節(jié))
- 使用內(nèi)容相關(guān)的命令與環(huán)境
3.2 使用宏包
- 作用:宏包可以將可重用的代碼提取出來,相當(dāng)于library
- 使用forest包生成樹
- 問題:可能出現(xiàn)兼容性問題
- 和編程使用庫的原則幾乎相同
3.3 格式
-
字體字號:
- \rmfamily,\textrm{}
- \sffamily,\texsf{}
- \ttfamily,\textt{}
- 字號:\Huge,\LARGE,\large,\normalsize,\small,\footnotesize,\scriptsize,\tiny
- 中文字號:\zihao{5}\zihao{-3}
對齊:\centering,\raggedleft,\raggedright
空白間距:\hspace{2cm},\vspace{3cm}
版面布局:geometry宏包语泽,fancyhdr宏包(頁眉頁腳)
-
分頁斷行:\linebreak(少用),\\
\pagebreak(少用),\newpage,\clearpage,\cleardoublepage
盒子:\mbox{}贸典,\parbox{4em}{內(nèi)容}、minipage
3.4 格式應(yīng)用于文檔
-
使用在導(dǎo)言區(qū)單獨設(shè)置格式
- 直接設(shè)置相關(guān)參數(shù)踱卵。如\parindent,\parskip,\linespread,\pagestyle
- 修改部分命令定義廊驼。如\tehsection,\labelenumi,\descriptionlabel,\figurename
- 利用工具宏包完成設(shè)置。如ctex設(shè)置中文格式,tocloft設(shè)置目錄格式
-
利用自定義命令和環(huán)境
\newcommand\prg[1]{\textsf{#1}}
-
章節(jié)標(biāo)題
- ctex及文檔類妒挎,中文用\ctexset,西文用titlesec
浮動標(biāo)題
-
列表環(huán)境
- enumitem宏包
4.個人感受
該視頻僅僅大體上介紹了LaTeX怎么使用绳锅,讓我們對LaTeX有一個宏觀上的了解,為我們以后學(xué)好LaTeX打下了良好的基礎(chǔ)饥漫。然而榨呆,如果我們想短時間內(nèi)學(xué)會用LaTeX寫論文,則不是這個視頻解決的問題庸队。