参阅一份其实很短的 LaTeX 入门文档时记的笔记,以及结合vs code的配置方法,和毕业论文的模板。
区分几个概念
环境套装 (platform):包含下述几项,部署好就能用的套装 e.g. TeX Live。
排版系统 (typesetting system):遵循着呈现与内容分离理念的一套宏集合 e.g. LaTeX。
编辑器 (editor):用来编辑后缀为
.tex
的文本文件的程序 e.g. TeXworks,vs code。排版工具 (typesetting engine):负责LaTeX里呈现部分的工具 e.g. XeLaTeX。
文件格式
- .tex:写文档内容的文件
- .bib:使用bibligraphy方式导入参考文献时,写参考文献的文档
- .bbl:.bib编译之后形成的文件
- .sty:包文件,通常使用
\usepackage
导入。 - .cls:类文件,通过文档最前面的
\documentclass
命令导入
文档编写
控制序列:以反斜杠
\
开头,参数写在{}
内,或[]
包含可选参数,影响输出文档的效果,对大小写敏感\documentclass[]{}
,定义文档类 (预设的格式集合)。\begin{document}
,和\end
配合使用,两者之间部分称为环境,花括号内为环境名,写在\end
后的内容无效。\documentclass{article}
和\begin{document}
之间称为导言区,对整篇文档进行设置。
宏集:一系列控制序列,通过
\usepackage{}
调用LaTeX 将一个换行当做是一个空格处理,如果需换行另起一段,需要用两个换行实现。
中英文混排需要用到XeTeX
注释使用
%
数学公式
需用到相应的宏包 e.g. amsmath。
分内联(inline)
$ ... $
和换行(display)\[ ... \]
两种模式。需使用
\begin{equation}
环境对行间公式编号,equation*
代表不编号.- 无编号行间公式可以用
\begin{displaymath} ... \end{displaymath}
插入
- 无编号行间公式可以用
常用符号参考常用数学符号
- 在行间公式和行内公式中,分式的输出效果是有差异的。如果要强制行内模式的分式显示为行间模式的大小,可以使用
\dfrac
, 反之可以使用\tfrac
。 - 大符号(连加连乘)上下标在行内公式中被压缩,以适应行高,可以用
\limits
和\nolimits
来强制显式地指定是否压缩这些上下标。 - 多重积分可以使用
\iint
,\iiint
,\iiiint
,\idotsint
等。 - 花括号在数学公式中前面要加
\
。 - 分段函数可以用
cases
次环境来实现,它必须包含在数学环境之内。
- 在行间公式和行内公式中,分式的输出效果是有差异的。如果要强制行内模式的分式显示为行间模式的大小,可以使用
图片表格
- 图片需使用宏包
\usepackage{graphicx}
- 图片使用
\includegraphics[width = .8\textwidth]{a.jpg}
调整大小 tabular
环境提供了最简单的表格功能。用\hline
命令表示横线,在列格式中用|
表示竖线;用&
来分列,用\\
来换行;每列可以采用居左、居中、居右等横向对齐方式,分别用l
、c
、r
来表示。详情参阅Ref. 1。
版面
页边距
geometry
宏包\geometry{papersize={20cm,15cm}} \geometry{left=1cm,right=2cm,top=3cm,bottom=4cm}
页眉页脚使用
fancyhdr
宏包,参阅CTEX - 在线文档 - fancyhdr首行缩进
行间距
setspace
宏包,详情参阅关于行距的研究\usepackage{setspace} \onehalfspacing
段间距可以通过修改长度
\parskip
的值来调整\addtolength{\parskip}{.4em}
其余命令
\newcommand
编写新命令\cite
引用文献
Tips
vs code内正向反向搜索
- 正向:功能区内找到“SyncTeX from cursor”
- 反向:在预览区PDF的文字按住Ctrl+左键自动跳转
linux系统下安装
sudo pacman -S texlive-core texlive-bin texlive-langlang texlive-latex3 texlive-latexextra biber
linux系统中原生的字体可能不含中文如仿宋及time new roman等,可直接从windows中拷贝字体文件,并在linux中重新加载。详情参看archlinux使用Windows字体及相关配置_ixum-CSDN博客
我的VS Code配置
分为工具
tools
和配置编译链recipes
两部分(未完成,随时修改)tools and recipres
"latex-workshop.latex.tools": [ { // 编译工具和命令 "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOCFILE%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] }, { "name": "latexmk_zju", "command": "latexmk", "args": [ "-xelatex", "-outdir=out" ] } ], "latex-workshop.latex.recipes": [ { "name": "zjuthesis", "tools": [ "latexmk_zju" ] }, { "name": "xelatex", "tools": [ "xelatex" ] }, { "name": "xe->bib->xe->xe", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "Compile Rnw files", "tools": [ "rnw2tex", "latexmk" ] }, { "name": "Compile Jnw files", "tools": [ "jnw2tex", "latexmk" ] }, { "name": "tectonic", "tools": [ "tectonic" ] } ], "latex-workshop.latex.outDir": "%DIR%/out", "latex-workshop.view.pdf.viewer": "tab"