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"