-
Notifications
You must be signed in to change notification settings - Fork 162
子图组插入问题,以及关于代码复用性的讨论 #38
Comments
我最近十分忙,不能详细解释代码。你能否先告诉我你是不是看过Wiki了?另外模板自定义的插图命令可以在源代码中找到。dtx文件编译出的源码说明文档中更清晰一些。 |
另外,你下面示例的那段代码原本就不应该那样写。那里面有很多涉及格式的命令,按照LaTeX的思路应该先定义成自定义的命令,这样才便于修改便于移植。考虑到你已经写了很多这样的插图代码。我想唯一的办法就是用正则表达式进行替换。希望你会用正则表达式。 |
@shifujun wiki以及issue的每一篇我都认真看过了。dtx我也编译出来看了,不过还是不大明白…… 我的代码之所以这样写是因为在文章的不同地方我可能会希望以不同的格式排版,当然我这种用法可能不够高效,这里仅仅是个示例。 不过就我近几天使用模板的插图命令来看,我觉得这套自定义的命令与通常的插图命令语法还是有较大出入的,比如:
这里列举的几个小问题,并非指摘自定命令,而仅仅是从我自身的使用体验来说,感觉和常见命令的用法出入有些大。我觉得关于命令的参数、属性规定,最好能有一些弹性。譬如一幅插图是否要加上标签,应该交给用户自己去定夺。 一点浅见,还望指正。 |
图表命令的包装不仅仅是为了帮助LaTeX的初学者正确插入图片,而且还将图表的格式控制从用户手中拿走。因为学校规范是对图表有特别规定的,比如图片应该居中,图的标题应该在上,表的标题应该在下,图表前后间距。这些东西如果以零散的命令写出来,不能做到由模板统一控制这些格式。所以包装是有必要的。 其次,LaTeX的命令中只能定义一个可选参数,而且必须是第一个参数。这就很难灵活了。 总之,像你这样的LaTeX熟练用户,其实完全可以自己重新定义一个你喜欢的插图命令,只要和模板定义的效果一致,前后间距什么的都一样就行了啊。反正,我非常不建议直接将includegraphics命令和figure环境暴露在论文正文的源码中。 |
@shifujun 原来如此,明白了! P.S. |
最近在使用论文模板时遇到一个图片插入方面的疑问,不知模板自定义的
addsubpic
插入子图函数是否是以subfloat
函数为基础包装的呢?我之前自己写的TeX文档用的全部都是
subfloat
函数来实现插入子图组功能,出来的效果和《基于东拼西凑的电子科技大学毕业论文LaTeX模板生成样例》中4.4.3.4节给出的例子相同,可是当我把代码复制进论文模板时,编译就出错了。考虑到论文自定义了一套插图命令,于是我将原来的函数批量替换掉,比如将
\begin{figure}
改为\begin{pics}
、\subfloat
改为\addsubpic
等,可是编译依然报错。模板自定义的插图命令和常用的figure环境到底有多少不同呢?说明文档中的“插入图片”一节对这几个新定义函数的语法解释也略显单薄,仅仅看说明中的两个例子,很难学会如何把已有的代码迁移过来。
这样的话,如果想要在论文中插图,很多此类TeX代码就必须重新写一遍了,这个时间成本着实有点高……我想LaTeX的一个巨大优势就是代码复用性很高,这是一切纯文本编辑的共同特点,如果这种高度一致性不能得到保障,那么其优势也会大打折扣。
当然,也可能是我多虑了,从论文模板的其他方面来看(比如数学公式和参考文献等),其代码复用性已经很好,我将以前写的TeX源码插入到模板中后,基本上不必做很大改动就可顺利编译,很给力。
可是子图组插入的问题我始终没有找到好的解决之道;由于插图在论文中占得比重很大,我对这一块的功能比较敏感,不知这方面的问题可有比较妥善的解决方法?
谢谢!
P.S. 补充一段我原TeX文档中的子图组代码,希望可以找到一种较为快捷的方法将其转换为论文模板可用的代码。示例如下:
The text was updated successfully, but these errors were encountered: