下学期就要开始做毕设了,但是学校只给了word模板,没有latex模板,考虑到latex的便捷性,并且自己现在正好有空,便想着自己制作一个模板。 目前找到了一个**中国大学**的模板,尝试着对照着改,但是过程中确发现改完后的模板编译总是错误,说我缺少文件,我看了下原工程文件挺多的,有`.bst, .sty, latexmk, .dtx, .cls`等等。我改的就是`.dtx`,我改完之后先尝试编译出说明文档,于是执行`latexmk -xelatex xxxx.dtx`,但是失败了。 那么到底是为什么呢?我找了一圈,没发现网上有人出教程说怎么制作模板,需要制作哪些文件,至于胡伟的《latex2e文类和宏包编写》,图书馆的也都被借出去了。真的迷茫,求大佬指教。

3 回答3

13
前面两位说的很好了。我和你一样也只是在校生,所以补充一点我的经验。 首先是你那边找到的 `.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` 就属于形式,模板最后能否实现需求属于内容(功能)。弄清楚你的需求,不用为了「提高技术」而花费过多精力。
  • 非常感谢! – 夏阁 2020-01-08 13:50 回复
  • 我就是在别人模板的基础上修改的,地址是三楼贴出来的:https://github.com/latexstudio/ChinaThesis 源文件是成功编译的,应该是我修改出问题了。。总之感谢,我有点 – 188****9600 2020-01-08 12:22 回复
  • 回复 undefined :是的,从 tex 文件直接开始写是一般的思路。 – 黑山雁 2020-01-08 11:10 回复
  • 初学看清华、中科大的论文模板可能会挺迷惑的 233。如果没有类似的模板的话,也就是要从头做,可以先不管 `.cls`、`.sty` 等,直接使用 `.tex` 做到类似效果,后续再改为其他的形式。 – Iydon 2020-01-08 10:45 回复
1
写模板是个很麻烦的事情。 可先到下面网址查看有没有你们学校的模板 [https://wenda.latexstudio.net/article-5038.html](https://wenda.latexstudio.net/article-5038.html) 如果没有,那么还是建议你找群主的淘宝店。 另外曾有人希望制作学位论文模板框架,但后续我没跟踪,网址是 [https://github.com/latexstudio/ChinaThesis](https://github.com/latexstudio/ChinaThesis)
  • 回复 undefined :改出问题很正常,原作者在修改自己代码时也可能遇到问题…… – 啸行 2020-01-08 19:40 回复
  • 找过了,没有。我参考的就是这个模板,改出问题了 – 188****9600 2020-01-08 12:15 回复
1
如果贵校没有模板,那就找一个近似的魔改。 可能主要要做的工作就是封面、扉页、目录和参考文献这几个方面。 照猫画虎,也不难。

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。