我正在寻找类似的东西:
filecontents *.sty | cat - main.tex > newmain.tex
编写一个脚本来迭代其参数并将它们包装在环境中应该很容易filecontents
。我想知道是否有这样的标准工具。
这是一个可以完成这个工作的简单脚本:
#!/bin/sh -f
for f in $* ; do
echo \\\\begin{filecontents}{$f}
cat $f
echo \\\\end{filecontents}
done
如果没有这样的标准工具,您希望在其中看到什么?
答案1
这是一个稍微改进的脚本:
#!/bin/bash -f
function bundle {
echo "\\begin{filecontents*}{$1} % Begin: '$1' $2"
cat $1
echo "\\end{filecontents*} % End: '$1' $2"
}
me=`basename "$0"`
case $# in
0)
echo "Usage: $me file(s)"
;;
1)
bundle $1
;;
*)
i=1
echo "% BEGIN: bundle $# files ($*) `date`"
for f in $*; do
bundle $f "\#$i/$#: `date`"
[ $i -ge $# ] || echo
let i=$i+1
done
echo "% END: bundle $# files ($*) `date`"
;;
esac
改进包括:
- 生成更详细的 LaTeX 注释,包括日期、文件数量等。
- 使用
filecontents*
环境
如果有人对变体感兴趣,请告诉我。也许有一天我会把它做成一个更标准化的工具。即使不是,满足人们真正需要的东西也很好。