“师兄,我好恨,好后悔!”

“轻松点,什么事值得那么烦恼哈~”

“有一本报告文章集结,之前说好了各作者一人负责撰写一个章节,好了就都到我这儿来汇总成一个档案,基本上就是打算用pdfpages 来把各人的 PDF 串成一本。”

“这想法挺好的呀。”

“问题就在于这次的作者群都太有个性了,每个人都在我给出的模板基础上加了自己习惯的定制,结果字库啦、标题形式啦、页眉都有些许不同,直接就把这些 PDF 都汇成成品的话,效果太不统一、不专业了。”

“……(・ω・)…… (静静听故事脸)”

“所以我就只好把每位作者的 .tex 原文件里的文章主题,\begin{document}...\end{document} 之间的部分一篇篇抽取出来,另外存为档案,一篇篇 \input 进我的主文档。”

\documentclass{book}
% 一堆宏包+设定
\begin{document}
\input{author1-intro}
\input{author2-chapter}
\input{author3-commentary}
\end{document}

“……(・ω・)…… (静静听故事脸)”

“然后就资料夹里一大堆各作者要用的图,乱糟糟的;有时还遇到不同作者的图档名字一样,fig1.png 之类的,我还要一个个手动重新取名,再一个个检查手动更改 \includegraphics,头晕啊!!用尽我洪荒之力也难以消受啊!!”

“直接把各个作者的 .tex 和图档放在各自的子资料夹就好了啊。” “但你想想,author-intro.tex里 本来写着的是 \includegraphics{fig1.png},我把 author1-intro.texfig1.png 都放在 author1 子资料夹里,那么 主文件.tex 里 用了 \input{author1-intro},我还是得把那个\includegraphics{fig1.png} 改成 \includegraphics{authors1/fig1.png} !即使是用 \graphicspath{{authors1/},{authors2/}},遇上同样档案名的话,就永远只能找到authors1 里的 fig1.png 了啊!” “所以说,你不知道 import 这个宏包?” “????” “还挺简单的,就这样:

\documentclass{book}
\usepackage{import}
% 一堆宏包+设定
\begin{document}
\import{author1/}{author1-intro}
\import{author2/}{author2-chapter}
\import{author3/}{author3-commentary}
\end{document}

那么 author1-intro.tex 里头用的 \includegraphics 甚至是 \input 就只都往 author1 子资料夹里找,其它的 .tex 也是。只是要注意,路径名末端的斜杠 / 一定记得要写。 再附加一个小技巧吧,顺带在主文件里 \usepackage{standalone} ,那么你 \input 或是 \import 进来的 .tex 里如果含有 \usepackage\begin{document}\end{document},这些全都会无视掉。”

“也就是说……我根本不需要抽取 \begin{document}...\end{document} 的内容,直接把作者们提交上来的档案都分别放在各自的资料夹,再用 standaloneimport 操作就好了!这个好,这个好!”

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部