自作latex模板

2020-01-07 22:25发布

下学期就要开始做毕设了,但是学校只给了word模板,没有latex模板,考虑到latex的便捷性,并且自己现在正好有空,便想着自己制作一个模板。 目前找到了一个**中国大学**的模板,尝试着对照着改...

下学期就要开始做毕设了,但是学校只给了word模板,没有latex模板,考虑到latex的便捷性,并且自己现在正好有空,便想着自己制作一个模板。 目前找到了一个**中国大学**的模板,尝试着对照着改,但是过程中确发现改完后的模板编译总是错误,说我缺少文件,我看了下原工程文件挺多的,有`.bst, .sty, latexmk, .dtx, .cls`等等。我改的就是`.dtx`,我改完之后先尝试编译出说明文档,于是执行`latexmk -xelatex xxxx.dtx`,但是失败了。 那么到底是为什么呢?我找了一圈,没发现网上有人出教程说怎么制作模板,需要制作哪些文件,至于胡伟的《latex2e文类和宏包编写》,图书馆的也都被借出去了。真的迷茫,求大佬指教。
3条回答
黑山雁 - 初学中……
2020-01-08 08:36 .采纳回答
前面两位说的很好了。我和你一样也只是在校生,所以补充一点我的经验。 首先是你那边找到的 `.dtx` 文件编译不了的问题。你先尝试直接编译未经改动的文件,因为 `.dtx` 的文件结构还是比较复杂的,随便改了很有可能就破坏了文档结构(最基本的就是把校验和给变了)。至于用 `latexmk` 来编 `.dtx`,不知道会不会有问题(原理上不应该有,它应该也没有新加什么多的步骤),你可以直接用 `xelatex` 命令再试一下。可以把具体错误贴出来,或者把这个模板的链接发布出来让大家也来试试看。 此外,你说工程文件很多,还有 `.cls`、`.sty` 等。请你仔细检查一下,看看这些文档类和宏包文件是通过 `.dtx` 或 `.ins` 文件生成的,还是额外补充的一些。 再就是写模板,上面两位前辈已经说的很清楚了:如果之前没有任何经验,从头写是不必要的,包括胡伟的那一本书也只是把已有的东西做了一个解析,对你从头开始学写一个宏包、模板帮助不大。如果你现在是急需,而不是有大把时间想提高技术,还是建议直接在已有模板上改,并且最好是直接改 `.cls`、`.sty` 这样的可以直接用的文件,不用折腾那些形式上的东西。 最后,如果你确实有时间折腾,也还是慢慢来,看看别人的模板(比如清华、中科大等校的论文模板等)都是怎么写的。看一些质量稍差但简单一点(比如没有 `.dtx` 文件,直接写的)也可以。LaTeX 模板重要的是功能、实用性,不是形式。 至于 `.dtx` 这样的东西怎么写,可以命令行 `texdoc dtxtut` 打开一份英文的指南,国内的 Liam Huang 也有一份很通俗的[说明](https://liam.page/2015/01/23/literate-programming-in-latex/)。我给我们社团用这一套写过一个模板,结果其他人都用不好,我就录了一个[视频](https://www.bilibili.com/video/av68460112)给他们展示了一下 `dtx` 文件的结构和使用方法,你也可以在有空的时候快速过一遍。说句实话,这类方式一个人花点时间学了用可以,但很不适合多人协作,特别是找不到太多人一起做的时候(我们社团现在就是这样,我在考虑弃坑换回去了,这样大家都能愉快的改改代码自己用……)还是那句话吧,内容比形式重要,`dtx` 还是 `cls` 就属于形式,模板最后能否实现需求属于内容(功能)。弄清楚你的需求,不用为了「提高技术」而花费过多精力。

一周热门 更多>