LaTeX源文件的命名、组织与管理

文本排版 2019-09-30 09:39  浏览 :692
在LaTeX的使用过程中,往往需要多个文件,甚至大量**文件相互支持和协作**,以完成最终PDF的编译。这些文件经过LaTeX编译引擎,按一定的规则编译后,生成最终的一个**独立的PDF文件**。 这与其他一些常见软件(如Word、Powerpoint等)的工作模式完全不同,在这些软件中,往往是将所有工作都集中在一个文件中进行处理。因此,LaTeX中使用到的文件的命名、组织与管理都需要有更多细节需要考虑。 ##文件编码 所有*.tex、*.bib、*.sty、*.cls等纯文本文件源代码文件,请务必使用UTF-8编码。否则,可能在打开文件后或编译后的log文件中会出现著名的“烫烫烫”、“屯屯屯”、“锟斤拷”乱码问题。 ##命名 ###使用独立文件夹管理所有内容 由于排版一个PDF往往需要用到多个,甚至大量其他支持文件,并且在LaTeX的编译过程中也会产生`*.aux`、`*.toc`、`*.log`等辅助文件和日志文件。 因此,强烈每当开始一个新的排版任务,就建立一个**独立文件夹**来存储该任务相关的所有文件。 ###文件名及其路径中不要使用空格和中文 由于LaTeX发行版是开源免费软件,类似TeXStudio的编辑器IDE也是开源免费软件,一般在处理文件名及其路径名时,往往无法正确解析带有空格和非英文的名称。因此,强烈建议在文件名及其路径中**不要使用空格和中文**。 另外,文件命名一定要具备自明性,禁止使用类似“a.tex”、“b.tex”、“c.bib”、“d.png”等这不知所云的文件命名。同时,文件名也不宜过长,个人建议使用“8.3规则”命名,即8个字符构成主文件名,3个字符构成后缀名。 建议:在多文件结构中,请将主控文件命名为main.tex。 ##用子文件夹实现归类管理 为便于进行各类文件的管理和处理,应该将tex子文件、插图文件、文献数据库bib文件等**按不同类别存储在不同的文件夹中**。例如,对于一篇毕业学位论文的排版,一个建议的目录结构如下:
##文件使用 在使用这些文件时,一般需同时指定该文件的路径。需要强调的是**绝对不能使用绝对路径**,只使用当前文件夹及其子文件夹中的文件。 如果需要的文件在子文件夹中,则需要用“/”分割路径中的各级文件夹(禁止使用“\\\\”分割),如: ```tex % 插入图片 \\includegraphics[width=0.5\\textwidth]{figs/chap01/fig01-01.png} ... % 插入代码,用minted宏包排版C语言代码 \\inputminted{c}{codes/chap01/01helloworld.c} ``` 对于插图,如果使用了graphicx宏包,则可以使用`graphicspath{{figs/}{pics/}}`指定插图所在的文件夹,如: ```tex % 子文件中 % 插入图片 \\includegraphics[width=0.5textwidth]{chap01/fig01-01.png} ``` ##多文件结构 在文档编写过程中,将复杂的内容切分成不同的子文件,然后用input或include载入子文件是一种常用的操作。这样,可以在每个子文件中仅关注少量内容,便于集中精力进行撰写,如: ```tex % 导言区 % 载入需要的宏包 \\input{settings/packages.tex} % 进行必要的设置 \\input{settings/format.tex} ... \\begin{document} \\include{contents/chap00-abs.tex} \\include{contents/chap01-intro.tex} ... \\include{contents/app03-resume.tex} \\end{document} ``` 同时,可以通过用“%”注释操作,将暂时不关注的input或include语句注释,以减少当前参与编译的内容,加快编译速度或是用“注释大法”缩小错误定位范围,以定位错误、分析错误和解决错误,如: ```tex ... \\begin{document} \\include{contents/chap00-abs.tex} %\\ include{contents/chap01-intro.tex} % ... % \\include{contents/app03-resume.tex} \\end{document} ``` 注释后后,则只需要关注“chap00-abs.tex”文件中的内容, 在多文件结构的子文件中,可以使用魔法注释指定主文件,从而实现多带带打开子文件也能编译的目的,如: ```TeX % 其它内容 ... % 魔法注释,指定主控文件为上一级文件夹中的“main.tex”文件 %%% Local Variables: %%% mode: latex %%% TeX-master: "../main.tex" %%% End: ``` 显然,如果主控文件采用“main.tex”命名,在各类子文件中用魔法注释指定主控文件及路径,则可以构造一个万能的LaTeX撰写文件结构框架。以后,每创建一个新的项目,只需要将该框架拷贝一下就可以了。 Happy LaTeXing!
发布评论
登录后方可评论!点击登录
全部评论 (2)
TeX白兔
1楼 · 2019-09-30 10:33

手动点赞

lerh
2楼 · 2019-10-07 11:28

原来是在这,麻烦大佬回答一下这个问题 https://wenda.latexstudio.net/q-1269.html