- 主题:如何批量编译很多latex文件
你把脚本文件设成utf8编码试试,默认应该是gbk编码,另外还有是unix还是dos格式区分,可以都试试看。
【 在 abbabb 的大作中提到: 】
: 不知道,估计这个解决起来比较难,路径不含中文就行了
--
FROM 119.34.17.*
的确,文件夹的名字里有中文会出问题
等高手来解决
【 在 abbabb 的大作中提到: 】
: 直接成功!太棒了。唯一遗憾的是文件夹的名字不能是中文,不过这个问题不大。
--
FROM 42.3.19.*

【 在 HerSMTH 的大作中提到: 】
: 的确,文件夹的名字里有中文会出问题
: 等高手来解决
你的问题不是路径是中文的问题吧
你的是 .\test 出了错
也就是说 xelatex .\test.tex 这句出错了。.\test.tex 不是有效的文件名
中文目录没有什么问题
你可以在 D:\WORK\TeX\中文目录下运行 xelatex test.tex,不会有问题的
--
FROM 59.172.4.*
for %i in (*.tex) do xelatex %i
应该就可以了
【 在 HerSMTH 的大作中提到: 】
: 的确,文件夹的名字里有中文会出问题
: 等高手来解决
--
FROM 59.172.4.*
果然如此!
【 在 snoopyzhao 的大作中提到: 】
: 你的问题不是路径是中文的问题吧
: 你的是 .\test 出了错
: 也就是说 xelatex .\test.tex 这句出错了。.\test.tex 不是有效的文件名
: ...................
--
FROM 42.3.19.*
Makefile 是正道
--
FROM 183.195.90.220
how?
【 在 Neals 的大作中提到: 】
: Makefile 是正道
--
FROM 42.3.19.*
没必要啊,一个for循环确实是最简单的。
【 在 Neals 的大作中提到: 】
: Makefile 是正道
: --
: FROM 183.195.90.220
--
FROM 101.206.171.*
【 在 milksea 的大作中提到: 】
: 没必要啊,一个for循环确实是最简单的。
如果就是一次性编译,以后再也不动了,用Makefile的确有点反应过度,万一改了其中某几个想重新编译一遍的话,用循环浪费时间不说,还容易敲错,也没有跨平台
自从Makefile某个版本开始不强制使用它那个恶心人的<tab>语法后,我每个小项目,哪怕就是一个.tex文件,我也写个Makefile,就是懒
to HerSMTH 类似下面的内容,存成 Makefile:
<code>
.RECIPEPREFIX := $(.RECIPEPREFIX) # use space rather than <tab> for recipes
SRC := $(wildcard *.tex)
PDF := $(SRC:.tex=.pdf)
# some people prefer latexmk
# but let me do this
LATEX := lualatex --shell-escape
MKGLS := makeglossaries
%.pdf: %.tex
$(LATEX) $<
$(MKGLS) $(basename $<)
$(LATEX) $<
all: $(PDF)
</code>
装上 GNU Makefile 就可以运行 make,生成 pdf
glossaries 这个不是必要的,只是演示如何获取不带扩展名的文件名
--
FROM 180.169.133.117
谢谢!
受教了!
【 在 Neals 的大作中提到: 】
: 如果就是一次性编译,以后再也不动了,用Makefile的确有点反应过度,万一改了其中某几个想重新编译一遍的话,用循环浪费时间不说,还容易敲错,也没有跨平台
: 自从Makefile某个版本开始不强制使用它那个恶心人的<tab>语法后,我每个小项目,哪怕就是一个.tex文件,我也写个Makefile,就是懒
: to HerSMTH 类似下面的内容,存成 Makefile:
: ...................
--
FROM 42.3.19.*