Latex中的各种文件及编译流程(附windows环境的完整编译脚本)

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.texA.clsB.styC.bstD.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.auxmain.logmain.pdf文件。其中aux是引用标记记录文件,用于再次编译时生成参考文献和超链接。此时的pdf文件中没有包含参考文件,在正文中的引用后为[?]

第二步后生成main.bblmain.blg文件。blg为bibtex处理过程记录文件。

bbl文件中的格式如下:

\begin{thebibliography}{10}

\bibitem{A}
XXXXX

\bibitem{B}
XXXXX

\end{thebibliography}

第三步后更新了main.auxmain.logmain.pdf文件。此时的pdf文件的末尾已经有了参考文献列表,但是在正文中的引用后仍然为[?]

第四步同样更新了main.auxmain.logmain.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"

你可能感兴趣的:(技术文档,latex,编译脚本)