Latex中的各种文件及编译流程(附windows环境的完整编译脚本)
Latex中的各种文件
tex
tex文件是最常见的latex文件,也是平时编写文章的文件
cls
cls文件是latex的格式文件,规定了tex源文件的排版格局,称为类文件(class)
一般使用\documentclass{}导入
sty
sty文件是宏包文件(package)
一般使用\usepackage{}导入
bst
bst文件是参考文件的格式文件
一般使用\bibliographystyle{}导入
bib
bib文件是参考文献的库
一般使用\bibliography{}导入
bib文件一般如下:
@article{XXX,
title={ABC},
author={A, B},
journal={XX},
year={20XX}
}
@inproceedings{YYY,
title={ABC},
author={A, B, C},
booktitle={YY},
pages={a--b},
year={20YY}
}
完整的tex文件
下面举例一个包含引入上述类型文件的tex文件模版
假设在当前目录下有下列文件:main.tex、A.cls、B.sty、C.bst、D.bib
%main.tex文件
\documentclass{A} % 或者不使用自定义的排版文件时,使用最普通的\documentclass{article}
\usepackage{B} % 以及导入一些其他常用的宏文件,如amsmath、amssymb、amsthm等数学相关的宏文件
\begin{document}
XXX
XXX
XXX
% 正文结束
\bibliography{D} % 导入正文中引入文献的数据
\bibliographystyle{C} % 导入参考文献的格式文件C.bst
\end{document}
编译过程
附带参考文献的整个编译需要四步。
(xe/pdf)latex main.tex # 表示使用 latex, pdflatex 或 xelatex 编译,下同
bibtex main.aux
(xe/pdf)latex main.tex
(xe/pdf)latex main.tex
第一步后生成main.aux、main.log和main.pdf文件。其中aux是引用标记记录文件,用于再次编译时生成参考文献和超链接。此时的pdf文件中没有包含参考文件,在正文中的引用后为[?]。
第二步后生成main.bbl和main.blg文件。blg为bibtex处理过程记录文件。
bbl文件中的格式如下:
\begin{thebibliography}{10}
\bibitem{A}
XXXXX
\bibitem{B}
XXXXX
\end{thebibliography}
第三步后更新了main.aux、main.log和main.pdf文件。此时的pdf文件的末尾已经有了参考文献列表,但是在正文中的引用后仍然为[?]。
第四步同样更新了main.aux、main.log和main.pdf文件。并生成最终的pdf文件,此时正文中的引用后已经标记好了引用文献的序号[1]、[2]等。
附:完整编译的批处理脚本文件(Windows环境)
@compile.bat文件
@echo off
set CompileName="pdflatex"
for %%F in (*.tex) do (
set FileName=%%~nF
)
if not exist "./Tmp" (
md Tmp
)
%CompileName% -output-directory=Tmp %FileName%
bibtex ./Tmp/%FileName%
%CompileName% -output-directory=Tmp %FileName%
%CompileName% -output-directory=Tmp %FileName%
echo ------------------------------------------------
echo Compile finished.
echo ------------------------------------------------
copy /Y ".\Tmp\%FileName%.pdf" ".\%FileName%.pdf"
start " " /max "./%FileName%.pdf"