summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/thuthesis
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-11-27 23:12:33 +0000
committerKarl Berry <karl@freefriends.org>2014-11-27 23:12:33 +0000
commit92dfd63f1480de91bdf82d2ae9fd7a76110f39d7 (patch)
treea6824ed8436ab708f18b2686a1b49d9be0f91f34 /Master/texmf-dist/doc/latex/thuthesis
parentf39b020808e1b16e0a959969d72ef9dbd6c72c7b (diff)
thuthesis (27nov14)
git-svn-id: svn://tug.org/texlive/trunk@35672 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/thuthesis')
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/Makefile182
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/README154
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/ack.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/ack.tex)4
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/appendix01.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/appendix01.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/chap01.tex)48
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/chap02.tex)42
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/cover.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/cover.tex)16
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/denotation.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/denotation.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/data/resume.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/data/resume.tex)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty45
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/example/Makefile165
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/example/msmake.cmd264
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/example/shuji.tex16
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/hello.eps (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.eps)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/hello.fig (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.fig)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/hello.pdf (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.pdf)bin5259 -> 5259 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.eps (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.eps)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.pdf (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.pdf)bin111420 -> 111420 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.eps (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.eps)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.pdf (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.pdf)bin7726 -> 7726 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.eps (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.eps)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.pdf (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.pdf)bin22013 -> 22013 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.eps (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.eps)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.pdf (renamed from Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.pdf)bin121086 -> 121086 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/fontname.def21
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/main.pdfbin0 -> 777273 bytes
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/main.tex (renamed from Master/texmf-dist/doc/latex/thuthesis/example/main.tex)14
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib (renamed from Master/texmf-dist/doc/latex/thuthesis/example/ref/refs.bib)0
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/shuji.tex20
-rw-r--r--Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdfbin910509 -> 501707 bytes
-rwxr-xr-xMaster/texmf-dist/doc/latex/thuthesis/zhfonts.py184
31 files changed, 558 insertions, 617 deletions
diff --git a/Master/texmf-dist/doc/latex/thuthesis/Makefile b/Master/texmf-dist/doc/latex/thuthesis/Makefile
new file mode 100644
index 00000000000..a092544d2ac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/thuthesis/Makefile
@@ -0,0 +1,182 @@
+# Makefile for ThuThesis
+
+# Compiling method: xelatex/pdflatex/dvipdfmx
+METHOD = xelatex
+# Basename of thesis
+THESISMAIN = main
+# Basename of shuji
+SHUJIMAIN = shuji
+
+ifeq ($(MAKE),)
+ override MAKE = make
+endif
+
+ifeq ($(TEXI2DVI),)
+ override TEXI2DVI = texi2dvi
+endif
+
+PACKAGE=thuthesis
+SOURCES=$(PACKAGE).ins $(PACKAGE).dtx
+THESISCONTENTS=$(THESISMAIN).tex data/*.tex $(EPS)
+# NOTE: update this to reflect your local file types.
+EPS=$(wildcard figures/*.eps)
+BIBFILE=ref/*.bib
+SHUJICONTENTS=$(SHUJIMAIN).tex
+CLSFILES=dtx-style.sty $(PACKAGE).cls $(PACKAGE).cfg
+
+# make deletion work on Windows
+ifdef SystemRoot
+ RM = del /Q
+else
+ RM = rm -f
+endif
+
+.PHONY: all clean distclean dist thesis shuji doc cls
+
+all: doc thesis shuji
+
+###### generate cls/cfg
+cls: $(CLSFILES)
+
+$(CLSFILES): $(SOURCES)
+ latex $(PACKAGE).ins
+
+###### for doc
+
+doc: $(PACKAGE).pdf
+
+ifeq ($(METHOD),xelatex)
+
+$(PACKAGE).pdf: $(CLSFILES)
+ xelatex $(PACKAGE).dtx
+ makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
+ makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+ xelatex $(PACKAGE).dtx
+ xelatex $(PACKAGE).dtx
+
+else ifeq ($(METHOD),pdflatex)
+
+$(PACKAGE).pdf: $(CLSFILES)
+ pdflatex $(PACKAGE).dtx
+ makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
+ makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+ pdflatex $(PACKAGE).dtx
+ pdflatex $(PACKAGE).dtx
+
+else
+
+$(PACKAGE).dvi: $(CLSFILES)
+ latex $(PACKAGE).dtx
+ makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
+ makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+ latex $(PACKAGE).dtx
+ latex $(PACKAGE).dtx
+
+$(PACKAGE).pdf: $(PACKAGE).dvi
+ latex $(PACKAGE).dtx
+ dvipdfmx $(PACKAGE).dvi
+
+endif
+
+###### for thesis
+
+thesis: $(THESISMAIN).pdf
+
+ifeq ($(METHOD),xelatex)
+
+$(THESISMAIN).pdf: $(CLSFILES) $(THESISCONTENTS) $(THESISMAIN).bbl
+ xelatex $(THESISMAIN).tex
+ xelatex $(THESISMAIN).tex
+
+$(THESISMAIN).bbl: $(BIBFILE)
+ xelatex $(THESISMAIN).tex
+ -bibtex $(THESISMAIN)
+ $(RM) $(THESISMAIN).pdf
+
+else ifeq ($(METHOD),pdflatex)
+
+$(THESISMAIN).pdf: $(CLSFILES) $(THESISCONTENTS) $(THESISMAIN).bbl
+ pdflatex $(THESISMAIN).tex
+ pdflatex $(THESISMAIN).tex
+
+$(THESISMAIN).bbl: $(BIBFILE)
+ pdflatex $(THESISMAIN).tex
+ -bibtex $(THESISMAIN)
+ $(RM) $(THESISMAIN).pdf
+
+else
+
+$(THESISMAIN).pdf: $(THESISMAIN).dvi
+ latex $(THESISMAIN).tex
+ dvipdfmx $(THESISMAIN).dvi
+
+$(THESISMAIN).dvi: $(CLSFILES) $(THESISCONTENTS) $(THESISMAIN).bbl
+ $(TEXI2DVI) $(THESISMAIN).tex
+
+$(THESISMAIN).bbl: $(BIBFILE)
+ $(TEXI2DVI) $(THESISMAIN).tex
+ -bibtex $(THESISMAIN)
+
+endif
+
+
+###### for shuji
+shuji: $(SHUJIMAIN).pdf
+
+ifeq ($(METHOD),xelatex)
+
+$(SHUJIMAIN).pdf: $(CLSFILES) $(SHUJICONTENTS)
+ xelatex $(SHUJIMAIN).tex
+
+else ifeq ($(METHOD),pdflatex)
+
+$(SHUJIMAIN).pdf: $(CLSFILES) $(SHUJICONTENTS)
+ pdflatex $(SHUJIMAIN).tex
+
+else
+
+$(SHUJIMAIN).dvi: $(CLSFILES) $(SHUJICONTENTS)
+ $(TEXI2DVI) $(SHUJIMAIN).tex
+
+$(SHUJIMAIN).pdf: $(SHUJIMAIN).dvi
+ latex $(SHUJIMAIN).tex
+ dvipdfmx $(SHUJIMAIN).dvi
+
+endif
+
+clean:
+ -@$(RM) \
+ *~ \
+ *.aux \
+ *.bak \
+ *.bbl \
+ *.blg \
+ *.dvi \
+ *.glo \
+ *.gls \
+ *.idx \
+ *.ilg \
+ *.ind \
+ *.ist \
+ *.log \
+ *.out \
+ *.ps \
+ *.thm \
+ *.toc \
+ *.lof \
+ *.lot \
+ *.loe \
+ data/*.aux \
+ dtx-style.sty
+
+distclean: clean
+ -@$(RM) $(CLSFILES)
+ -@$(RM) $(PACKAGE).pdf $(THESISMAIN).pdf $(SHUJI).pdf
+ -@$(RM) -r dist
+
+dist:
+ @if [ -z "$(VERSION)" ]; then \
+ echo "Usage: make dist VERSION=<version#>"; \
+ else \
+ ./makedist.sh $(VERSION) UTF8; \
+ fi
diff --git a/Master/texmf-dist/doc/latex/thuthesis/README b/Master/texmf-dist/doc/latex/thuthesis/README
index f0b4e858cf3..560436eeee5 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/README
+++ b/Master/texmf-dist/doc/latex/thuthesis/README
@@ -1,128 +1,60 @@
-==========
-What's it?
-==========
-ThuThesis is a LaTeX thesis template package for Tsinghua University in order to
-make it easy to write thesises for either bachelor, master or doctor.
+# ThuThesis是什么?
+ThuThesis为 <b>T</b>sing<b>h</b>ua <b>U</b>niversity <b>Thesis</b> LaTeX Template之缩写。
-ThuThesis 是清华大学学位论文 LaTeX 模板,支持本科、硕士、博士论文格式。
+此宏包旨在建立一个简单易用的清华大学学位论文LaTeX模板,包括本科综合论文训练、硕士论文、博士论文、博士哲学论文以及博士后出站报告。现在支持本科、硕士、博士论文、博士后出站报告格式,对其它格式(还有么?)的支持会陆续加入。
+# 文档
+请下载模板,里面包括具体使用说明以及示例文档:
-========
-使用方法
-========
-1. 编译示例文档
- latex main
- bibtex main
- latex main
- latex main
- dvips main.dvi
- ps2pdf main.ps
+* 模板使用说明 (thuthesis.pdf)
+* 示例文档 (main.pdf)
- 说明:也可以使用 pdflatex/dvipdfm(x)/xelatex 生成文档。
+# 下载
-2. 编写自己的论文
- 参考示例文档:
- main.tex 主控文档
- data/ 论文具体内容
- ref/ 参考文献目录
- figures/ 图片目录
-
+* 发行版:[CTAN](http://www.ctan.org/pkg/thuthesis)
+* 开发版:[GitHub](https://github.com/xueruini/thuthesis)
-========
-如何升级
-========
-1. 下载新模板并解压缩
-2. 将thuthesis.cls, thuthesis.cfg, thubib.bst作相应替换即可。
+# 升级
+## 自动更新
+通过TeX发行版工具自动从[CTAN](http://www.ctan.org/pkg/thuthesis)更新。
+## 手动更新
+从 [GitHub](https://github.com/xueruini/thuthesis)下载放入论文目录,执行命令:
-======================================
-Makefile Howto (by edyfox & littleleo)
-======================================
-1. 获取帮助文档
+ $ latex thuthsis.ins
- make doc 得到 thuthesis.pdf,帮助文档,里面有详细的说明。
+# 提问
+按推荐顺序排序:
-2. 生成示例文档
+* [Github Issues](http://github.com/xueruini/thuthesis/issues)
+* [TeX@newsmth](http://www.newsmth.net/nForum/#!board/TeX)
+* [ThuThesis@Google Groups](http://groups.google.com/group/thuthesis)
- make thesis
+---
-3. 生成书脊示例
+# Makefile的用法
- make shuji
+ make [{all|thesis|shuji|doc|clean|distclean}] \
+ [METHOD={xelatex|pdflatex|dvipdfmx}] \
+ [TEXI2DVI=<tex2dvi>]
-附录: Makefile 命令详解:
+## 目标
+* `make all` 等于 `make thesis && make shuji && make doc`;
+* `make cls` 生成模板文件;
+* `make thesis` 生成论文 main.pdf;
+* `make shuji` 生成书脊 shuji.pdf;
+* `make doc` 生成使用说明书 thuthesis.pdf;
+* `make clean` 删除 pdf 外的所有中间文件和目标文件;
+* `make distclean` 表示清除包括 pdf 在内的所有中间文件和目标文件。
-Makefile:
+## 参数
+* **METHOD**:指定生成 pdf 的方式,缺省采用 xelatex。
+ * METHOD=xelatex 表示使用 xelatex 引擎编译生成 pdf;
+ * METHOD=pdflatex 表示使用 pdflatex 引擎编译生成 pdf;
+ * METHOD=dvipdfmx 表示使用 texi2dvi -> dvipdfmx 的方式生成 pdf。
+* **TEXI2DVI**: `texi2dvi` 实用工具的文件名,该工具的作用是自动重复运行latex 若
+ 干遍,直至所有交叉引用都正确为止。在有的发行版中该工具的文件名不叫
+ `texi2dvi`,譬如 CTeX 下的这个工具就叫 `texify`。遇到这种情况可以在命令
+ 行通过 `TEXI2DVI=texify` 命令指定使用其它的 `texi2dvi` 工具。
- 使用方法:
- make [{all|thesis|shuji|doc|clean|distclean}] \
- [METHOD={ps2pdf|dvipdfm}] \
- [TEXI2DVI=<tex2dvi>]
-
- 参数说明:
-
- make all 等于 make thesis && make shuji && make doc;
- make cls 生成模板文件,相当于 make -f thesis.mak cls;
- make thesis 生成论文,相当于 make -f thesis.mak;
- make shuji 生成书脊,相当于 make -f shuji.mak;
- make doc 生成使用说明书,相当于 make -f doc.mak;
- make clean 表示清除除了 pdf 外的所有中间文件和目标文件;
- make distclean 表示清除包括 pdf 在内的所有中间文件和目标文件。
-
- METHOD 参数用来指定生成 pdf 的方式,
-
- METHOD=ps2pdf 表示使用 texi2dvi -> dvips ->ps2pdf 的方式生成 pdf;
- METHOD=dvipdfm 表示使用 texi2dvi -> dvipdfm 的方式生成 pdf;
-
- 如果缺省,则采用 ps2pdf 方式。
-
- TEXI2DVI 表示 texi2dvi 实用工具的文件名,该工具的作用是自动重复运行
- latex 若干遍,直至所有交叉引用都正确为止。在有的发行版中该工具的文件名
- 不叫 texi2dvi,譬如 CTeX 下的这个工具就叫 texify。遇到这种情况你可以在
- 命令行通过 TEXI2DVI=texify 命令指定使用其它的 texi2dvi 工具。
-
-
-
-===========================
-msmake.cmd Howto (by Truel)
-===========================
-1.配置thuthesis宏包
-
- msmake setup
-   在当前目录下生成thuthesis宏包及说明文档thuthesis.pdf
-
-2.生成示例文档
-
- msmake [shuji|main|all|other]
-  
- 在当前目录下生成示例文档,或其中的一部分,或其他用户指定文档
- 如果当前目录下无thuthesis.cls,将自动根据thuthesis.ins生成。
-  - shuji 仅生成书脊
-  - main 仅生成main.pdf
-  - all 生成书脊和main.pdf,默认选项
-  - other 用户指定的tex文件名,由该tex文件产生pdf文档
-
-3.清理目录
-
- msmake clean [other]
-
-  清理当前目录下由thuthesis宏包生成的文件,具体包括
- - 宏包及其说明文档thuthesis.{cls,cfg,dvi,ps,pdf}
- - 示例文档shuji.pdf, main.{dvi,ps,pdf,aux,etc.}
- - 其它临时文件 *.log *.aux *.glo *.idx *.ilg *.ind *.out *.thm *.toc *.lot *.loe *.out.bak
- - 如果用户指定其他文件名,不删除main.*,而删除 other.{dvi,ps,pdf,lo?,aux,bbl,blg,out* toc thm}
-
-4.辅助图形图像文件格式转换命令:
-
- msmake epspdf [param]
-
- 将当前目录下所有eps文件用epstopdf转为pdf格式
-
- msmake bmpeps [param]
-
- 将当前目录下所有bmp,jpg,png文件用bmeps转为eps格式
-
- 以上两个命令中,param可以由用户指定转换程序所用的参数。
-
-# $Id$
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/ack.tex b/Master/texmf-dist/doc/latex/thuthesis/data/ack.tex
index 293d830f802..594c7e81663 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/ack.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/ack.tex
@@ -1,4 +1,3 @@
-
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../main"
@@ -14,7 +13,4 @@
感谢 \thuthesis,它的存在让我的论文写作轻松自在了许多,让我的论文格式规整漂亮了
许多。
-
- 本科学位论文的致谢和声明分页,硕士、博士学位论文不分页。所以本科可以多写一些,
- 研究生少写一些。
\end{ack}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/appendix01.tex b/Master/texmf-dist/doc/latex/thuthesis/data/appendix01.tex
index acd380a6df2..acd380a6df2 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/appendix01.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/appendix01.tex
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/chap01.tex b/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex
index 46d834175b7..66fbf136a67 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/chap01.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/chap01.tex
@@ -33,35 +33,38 @@
风格。少数诗篇也能反映民间疾苦,指责统治者的奢侈骄纵。词开豪放一派,对后代很有影
响。《念奴娇·赤壁怀古》、《水调歌头·丙辰中秋》传诵甚广。
-{\kai 坡仙擅长行书、楷书,取法李邕、徐浩、颜真卿、杨凝式,而能自创新意。用笔丰腴
+{\kaishu 坡仙擅长行书、楷书,取法李邕、徐浩、颜真卿、杨凝式,而能自创新意。用笔丰腴
跌宕,有天真烂漫之趣。与蔡襄、黄庭坚、米芾并称“宋四家”。能画竹,学文同,也喜
作枯木怪石。论画主张“神似”,认为“论画以形似,见与儿童邻”;高度评价“诗中有
画,画中有诗”的艺术造诣。诗文有《东坡七集》等。存世书迹有《答谢民师论文帖》、
《祭黄几道文》、《前赤壁赋》、《黄州寒食诗帖》等。 画迹有《枯木怪石图》、《
竹石图》等。}
-{\fs 易与天地准,故能弥纶天地之道。仰以观於天文,俯以察於地理,是故知幽明之故。原
+{\fangsong 易与天地准,故能弥纶天地之道。仰以观於天文,俯以察於地理,是故知幽明之故。原
始反终,故知死生之说。精气为物,游魂为变,是故知鬼神之情状。与天地相似,故不违。
知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧。安土敦乎仁,故
能爱。范围天地之化而不过,曲成万物而不遗,通乎昼夜之道而知,故神无方而易无体。}
-{\you 有天地,然后万物生焉。盈天地之间者,唯万物,故受之以屯;屯者盈也,屯者物之
+% 非本科生一般用不到幼圆与隶书字体。ctex 在 xelatex 编译时用 winfonts/adobefonts
+% 选项也只配置了四款中文字体,没有提供幼圆和隶书。需要的同学可以使用 nofonts 选项
+% 自行配置中文字体,或者换用 pdflatex 引擎编译。
+{\ifcsname youyuan\endcsname\youyuan 有天地,然后万物生焉。盈天地之间者,唯万物,故受之以屯;屯者盈也,屯者物之
始生也。物生必蒙,故受之以蒙;蒙者蒙也,物之穉也。物穉不可不养也,故受之以需;
需者饮食之道也。饮食必有讼,故受之以讼。讼必有众起,故受之以师;师者众也。众必
有所比,故受之以比;比者比也。比必有所畜也,故受之以小畜。物畜然后有礼,故受之
- 以履。}
+ 以履。\fi}
-{\hei 履而泰,然后安,故受之以泰;泰者通也。物不可以终通,故受之以否。物不可以终
+{\heiti 履而泰,然后安,故受之以泰;泰者通也。物不可以终通,故受之以否。物不可以终
否,故受之以同人。与人同者,物必归焉,故受之以大有。有大者不可以盈,故受之以谦。
有大而能谦,必豫,故受之以豫。豫必有随,故受之以随。以喜随人者,必有事,故受
之以蛊;蛊者事也。}
-{\li 有事而后可大,故受之以临;临者大也。物大然后可观,故受之以观。可观而后有所合
+{\ifcsname lishu\endcsname\lishu 有事而后可大,故受之以临;临者大也。物大然后可观,故受之以观。可观而后有所合
,故受之以噬嗑;嗑者合也。物不可以苟合而已,故受之以贲;贲者饰也。致饰然后亨
,则尽矣,故受之以剥;剥者剥也。物不可以终尽,剥穷上反下,故受之以复。复则不
- 妄矣,故受之以无妄。}
+ 妄矣,故受之以无妄。\fi}
-{\song 有无妄然后可畜,故受之以大畜。物畜然后可养,故受之以颐;颐者养也。不养则不
+{\songti 有无妄然后可畜,故受之以大畜。物畜然后可养,故受之以颐;颐者养也。不养则不
可动,故受之以大过。物不可以终过,故受之以坎;坎者陷也。陷必有所丽,故受之以
离;离者丽也。}
@@ -85,7 +88,7 @@
\label{tab:template-files}
\begin{tabular*}{\linewidth}{lp{10cm}}
\toprule[1.5pt]
- {\hei 文件名} & {\hei 描述} \\\midrule[1pt]
+ {\heiti 文件名} & {\heiti 描述} \\\midrule[1pt]
thuthesis.ins & \LaTeX{} 安装文件,docstrip\footnote{表格中的脚注} \\
thuthesis.dtx & 所有的一切都在这里面\footnote{再来一个}。\\
thuthesis.cls & 模板类文件。\\
@@ -107,14 +110,14 @@
我们经常会在表格下方标注数据来源,或者对表格里面的条目进行解释。前面的脚注是一种
不错的方法,如果你不喜欢脚注。那么完全可以在表格后面自己写注释,比如表~\ref{tab:tabexamp1}。
-\begin{table}[h]
+\begin{table}[htbp]
\centering
\caption{复杂表格示例 1}
\label{tab:tabexamp1}
\begin{minipage}[t]{0.8\textwidth}
\begin{tabularx}{\linewidth}{|l|X|X|X|X|}
\hline
- \multirow{2}*{\backslashbox{x}{y}} & \multicolumn{2}{c|}{First Half} & \multicolumn{2}{c|}{Second Half}\\\cline{2-5}
+ \multirow{2}*{\diagbox[width=5em]{x}{y}} & \multicolumn{2}{c|}{First Half} & \multicolumn{2}{c|}{Second Half}\\\cline{2-5}
& 1st Qtr &2nd Qtr&3rd Qtr&4th Qtr \\ \hline
East$^{*}$ & 20.4& 27.4& 90& 20.4 \\
West$^{**}$ & 30.6 & 38.6 & 34.6 & 31.6 \\ \hline
@@ -126,12 +129,12 @@
\end{table}
此外,表~\ref{tab:tabexamp1} 同时还演示了另外两个功能:1)通过 \textsf{tabularx} 的
- \texttt{|X|} 扩展实现表格自动放大;2)通过命令 \verb|\backslashbox| 在表头部分
+ \texttt{|X|} 扩展实现表格自动放大;2)通过命令 \verb|\diagbox| 在表头部分
插入反斜线。
为了使我们的例子更接近实际情况,我会在必要的时候插入一些“无关”文字,以免太多图
表同时出现,导致排版效果不太理想。第一个出场的当然是我的最爱:风流潇洒、骏马绝尘、
-健笔凌云的{\hei 李太白}了。
+健笔凌云的{\heiti 李太白}了。
李白,字太白,陇西成纪人。凉武昭王暠九世孙。或曰山东人,或曰蜀人。白少有逸才,志
气宏放,飘然有超世之心。初隐岷山,益州长史苏颋见而异之,曰:“是子天才英特,可比
@@ -147,7 +150,7 @@
浮动体的并排放置一般有两种情况:1)二者没有关系,为两个独立的浮动体;2)二者隶属
于同一个浮动体。对表格来说并排表格既可以像图~\ref{tab:parallel1}、图~\ref{tab:parallel2}
使用小页环境,也可以如图~\ref{tab:subtable} 使用子表格来做。图的例子参见第~\ref{sec:multifig} 节。
-\begin{table}[h]
+\begin{table}[htbp]
\noindent\begin{minipage}{0.5\textwidth}
\centering
\caption{第一个并排子表格}
@@ -185,27 +188,32 @@
又以忠君忧国、伤时念乱为本旨。读其诗可以知其世,故当时谓之“诗史”。旧集诗文共六
十卷,今编诗十九卷。
-\begin{table}
+\begin{table}[htbp]
\centering
\caption{并排子表格}
\label{tab:subtable}
-\subfloat[第一个子表格]{
+\subcaptionbox{第一个子表格}
+{
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
-\end{tabular}}\hskip2cm
-\subfloat[第二个子表格]{
+\end{tabular}
+}
+\hskip2cm
+\subcaptionbox{第二个子表格}
+{
\begin{tabular}{p{2cm}p{2cm}}
\toprule[1.5pt]
111 & 222 \\\midrule[1pt]
222 & 333 \\\bottomrule[1.5pt]
-\end{tabular}}
+\end{tabular}
+}
\end{table}
不可否认 \LaTeX{} 的表格功能没有想象中的那么强大,不过只要你足够认真,足够细致,那么
同样可以排出来非常复杂非常漂亮的表格。请参看表~\ref{tab:tabexamp2}。
-\begin{table}[hb]
+\begin{table}[htbp]
\centering\dawu[1.3]
\caption{复杂表格示例 2}
\label{tab:tabexamp2}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/chap02.tex b/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex
index ee35b22e22f..8056bcdc9b5 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/chap02.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/chap02.tex
@@ -29,7 +29,7 @@ jPicEdt, jaxdraw 等等。
\subsection{插图}
\label{sec:graphs}
-强烈推荐《\LaTeXe 插图指南》!关于子图形的使用细节请参看 \textsf{subfig} 的说明文档。
+强烈推荐《\LaTeXe 插图指南》!关于子图形的使用细节请参看 \textsf{subcaption} 宏包的说明文档。
\subsubsection{一个图形}
\label{sec:onefig}
@@ -59,21 +59,37 @@ jPicEdt, jaxdraw 等等。
\label{sec:multifig}
如果多个图形相互独立,并不共用一个图形计数器,那么用 \verb|minipage| 或者
-\verb|parbox| 就可以。否则,请参看图~\ref{fig:big1},它包含两个小图,分别是图~\ref{fig:subfig1}
-和图~\ref{fig:subfig2}。推荐使用 \verb|\subfloat|,不要再用
+\verb|parbox| 就可以。否则,请参看图~\ref{fig:big1-subcaptionbox},它包含两个小图,分别是图~\ref{fig:subfig1}
+和图~\ref{fig:subfig2}。推荐使用\verb|\subcaptionbox|,
+因为可以像图~\ref{fig:big1-subcaptionbox} 那样对齐子图的标题,
+也可以使用\textsf{subcaption}宏包的\verb|\subcaption|(放在minipage中,用法同\verb|\caption|)
+或是 subfigure 、 subtable环境,像图~\ref{fig:big1-subfigure},不要再用 \verb|\subfloat|、
\verb|\subfigure| 和 \verb|\subtable|。
-\begin{figure} %[h]
+\begin{figure}[h]
\centering%
- \subfloat[第一个小图形]{%
- \label{fig:subfig1}
- \includegraphics[height=2cm]{thu-fig-logo}}\hspace{4em}%
- \subfloat[第二个小图形。如果标题很长的话,它会自动换行,这个 caption 就是这样的例子]{%
- \label{fig:subfig2}
- \includegraphics[height=2cm]{thu-text-logo}}
- \caption{包含子图形的大图形}
- \label{fig:big1}
+ \subcaptionbox{第一个小图形\label{fig:subfig1}}
+ [3cm] %标题的长度,超过则会换行,如下一个小图。
+ {\includegraphics[height=3cm]{thu-fig-logo}}
+ \hspace{4em}%
+ \subcaptionbox{第二个小图形,注意这个图略矮些。如果标题很长的话,它会自动换行\label{fig:subfig2}}
+ {\includegraphics[height=2cm]{thu-text-logo}}
+ \caption{包含子图形的大图形(subcaptionbox示例)}
+ \label{fig:big1-subcaptionbox}
+\end{figure}
+\begin{figure}[h]
+ \centering%
+ \begin{subfigure}{3cm}
+ \includegraphics[height=3cm]{thu-fig-logo}
+ \caption{第一个小图形}
+ \end{subfigure}
+ \hspace{4em}%
+ \begin{subfigure}{0.5\textwidth}
+ \includegraphics[height=2cm]{thu-text-logo}
+ \caption{第二个小图形,注意这个图略矮些。subfigure中同一行的子图在顶端对齐。}
+ \end{subfigure}
+ \caption{包含子图形的大图形(subfigure示例)}
+ \label{fig:big1-subfigure}
\end{figure}
-
古之学者必有师。师者,所以传道受业解惑也。人非生而知之者,孰能无惑?惑而不从师,
其为惑也,终不解矣。生乎吾前,其闻道也固先乎吾,吾从而师之;生乎吾後,其闻道也亦
先乎吾,吾从而师之。吾师道也,夫庸知其年之先後生於吾乎!是故无贵无贱无长无少,道
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/cover.tex b/Master/texmf-dist/doc/latex/thuthesis/data/cover.tex
index 516176d9517..395bb904b5d 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/cover.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/cover.tex
@@ -36,7 +36,21 @@
% \postdoctordate{2009年7月——2011年7月}
\etitle{An Introduction to \LaTeX{} Thesis Template of Tsinghua University}
-% \edegree{Doctor of Science}
+% 这块比较复杂,需要分情况讨论:
+% 1. 学术型硕士
+% \edegree:必须为Master of Arts或Master of Science(注意大小写)
+% “哲学、文学、历史学、法学、教育学、艺术学门类,公共管理学科
+% 填写Master of Arts,其它填写Master of Science”
+% \emajor:“获得一级学科授权的学科填写一级学科名称,其它填写二级学科名称”
+% 2. 专业型硕士
+% \edegree:“填写专业学位英文名称全称”
+% \emajor:“工程硕士填写工程领域,其它专业学位不填写此项”
+% 3. 学术型博士
+% \edegree:Doctor of Philosophy(注意大小写)
+% \emajor:“获得一级学科授权的学科填写一级学科名称,其它填写二级学科名称”
+% 4. 专业型博士
+% \edegree:“填写专业学位英文名称全称”
+% \emajor:不填写此项
\edegree{Doctor of Engineering}
\emajor{Computer Science and Technology}
\eauthor{Xue Ruini}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/denotation.tex b/Master/texmf-dist/doc/latex/thuthesis/data/denotation.tex
index 641536b4314..641536b4314 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/denotation.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/denotation.tex
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/data/resume.tex b/Master/texmf-dist/doc/latex/thuthesis/data/resume.tex
index 0ff6ac1261c..0ff6ac1261c 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/data/resume.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/data/resume.tex
diff --git a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
index 7f374502dc0..91635739c90 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
+++ b/Master/texmf-dist/doc/latex/thuthesis/dtx-style.sty
@@ -5,22 +5,25 @@
\RequirePackage{array,longtable}
\RequirePackage{fancybox,fancyvrb}
\RequirePackage{xcolor}
+\RequirePackage{ifxetex}
-\RequirePackage{txfonts}
-\RequirePackage{CJKutf8}
-\newif\ifdtx@UTF\dtx@UTFtrue % todo: review this piece of code, why it needs an
- % \iffalse in the comment? where is the real mis-match?
-\ifdtx@UTF\else
- \IfFileExists{CJKpunct.sty}%
- {\RequirePackage{CJKpunct}}%
- {\ClassWarning{thuthesis}{no CJKpunct.sty availiable!}}
+\ifxetex
+ \RequirePackage[nofonts,UTF8,hyperref]{ctex}
+ \input{fontname.def}
+\else
+ \RequirePackage[winfonts,UTF8,hyperref]{ctex}
+ \RequirePackage{txfonts}
\fi
-\RequirePackage{CJKspace}
-
\RequirePackage{hyperref}
+\ifxetex
+ \hypersetup{%
+ CJKbookmarks=true}
+\else
+ \hypersetup{%
+ unicode=true,
+ CJKbookmarks=false}
+\fi
\hypersetup{%
- unicode=true,
- CJKbookmarks=false,
bookmarksnumbered=true,
bookmarksopen=true,
bookmarksopenlevel=1,
@@ -42,9 +45,6 @@
\addtolength{\headsep}{0.3cm}
\addtolength{\textheight}{2.3cm}
-\newcommand\hei{\CJKfamily{hei}}
-\newcommand\fs{\CJKfamily{fs}}
-
\renewcommand{\baselinestretch}{1.3}
\setlength{\shadowsize}{3pt}
\def\DescribeOption#1{\SpecialOptionIndex{#1}}
@@ -55,7 +55,7 @@
\setlength\leftmargin{\labelwidth+\labelsep}%
\addtolength{\itemsep}{3pt}%
\renewcommand\makelabel[1]{%
- \shadowbox{\color{blue!90}\texttt##1}\DescribeOption{##1}}}
+ \shadowbox{\color{blue!90}\sffamily ##1}\DescribeOption{##1}}}
}{\endlist}
\DefineVerbatimEnvironment{example}{Verbatim}%
{frame=single,framerule=0.3mm,rulecolor=\color{red!75!green!50!blue},%
@@ -64,7 +64,7 @@
\DefineVerbatimEnvironment{shell}{Verbatim}%
{frame=single,framerule=0.3mm,rulecolor=\color{red!85!green!60},%
fillcolor=\color{red!85!green!10},framesep=2mm,fontsize=\small,gobble=1}
-\long\def\myentry#1{\vskip5pt\par\noindent\llap{{\color{blue}\fs #1}}\marginpar{\strut}\hskip\parindent}
+\long\def\myentry#1{\vskip5pt\par\noindent\llap{{\color{blue}\fangsong #1}}\marginpar{\strut}\hskip\parindent}
\def\tableofcontents{\renewcommand{\baselinestretch}{1.0}\@starttoc{toc}}
\def\DescribeMacro{\Describe@Macro}
\def\Describe@Macro#1{\PrintDescribeMacro{#1}\SpecialUsageIndex{#1}}
@@ -96,16 +96,16 @@
\renewcommand\section{\@startsection{section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
- {\normalfont\Large\bfseries\hei}}
+ {\normalfont\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
- {\normalfont\large\bfseries\hei}}
+ {\normalfont\large\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
- {\normalfont\normalsize\bfseries\hei}}
+ {\normalfont\normalsize\bfseries}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
@@ -115,3 +115,8 @@
{-1em}%
{\normalfont\normalsize\bfseries}}
\pagestyle{empty}
+\MakeShortVerb{\|}
+\def\pkg#1{\texttt{#1}}
+\def\option#1{\textsf{#1}}
+\def\file#1{\textsl{#1}}
+\def\thuthesis{\textsc{Thu}\-\textsc{Thesis}}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/Makefile b/Master/texmf-dist/doc/latex/thuthesis/example/Makefile
deleted file mode 100644
index 80c4ebf2ca8..00000000000
--- a/Master/texmf-dist/doc/latex/thuthesis/example/Makefile
+++ /dev/null
@@ -1,165 +0,0 @@
-# Makefile for ThuThesis
-# $Id$
-
-ifeq ($(MAKE),)
- override MAKE=make
-endif
-
-ifeq ($(TEXI2DVI),)
- override TEXI2DVI=texi2dvi
-endif
-
-ifneq ($(METHOD),ps2pdf)
-ifneq ($(METHOD),dvipdfm)
- override METHOD=ps2pdf
-endif
-endif
-
-PACKAGE=thuthesis
-SOURCES=$(PACKAGE).ins $(PACKAGE).dtx
-THESISMAIN=main
-THESISCONTENTS=$(THESISMAIN).tex data/*.tex
-BIBFILE=ref/refs.bib
-SHUJIMAIN=shuji
-SHUJICONTENTS=$(SHUJIMAIN).tex
-
-.PHONY: all clean distclean dist all thesis shuji doc cls cfg dvi ps pdf gbk
-
-all: cls doc thesis shuji
-
-
-###### generate cls/cfg
-cls: $(SOURCES)
- latex $(PACKAGE).ins
-
-###### for doc
-
-doc: doc-pdf
-
-doc-pdf: $(PACKAGE).pdf
-
-doc-ps: $(PACKAGE).ps
-
-doc-dvi: $(PACKAGE).dvi
-
-$(PACKAGE).dvi: cls
- latex $(PACKAGE).dtx
- makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx
- makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
- latex $(PACKAGE).dtx
- latex $(PACKAGE).dtx
-
-$(PACKAGE).ps: $(PACKAGE).dvi
- # gbk2uni $(PACKAGE)
- latex $(PACKAGE).dtx
- dvips -Ppdf -G0 -t letter $(PACKAGE).dvi
-
-$(PACKAGE).pdf: $(PACKAGE).ps
- ps2pdf $(PACKAGE).ps
-
-###### for thesis
-
-thesis: thesis-pdf
-
-thesis-pdf: $(THESISMAIN).pdf
-
-thesis-dvi: $(THESISMAIN).dvi
-
-thesis-ps: $(THESISMAIN).ps
-
-$(THESISMAIN).dvi: cls $(THESISCONTENTS) $(THESISMAIN).bbl
- $(TEXI2DVI) $(THESISMAIN).tex
-
-ifeq ($(METHOD),dvipdfm)
-$(THESISMAIN).pdf: $(THESISMAIN).dvi
- # gbk2uni $(THESISMAIN)
- latex $(THESISMAIN).tex
- dvipdfm $(THESISMAIN).dvi
-else
-$(THESISMAIN).pdf: $(THESISMAIN).ps
- ps2pdf $(THESISMAIN).ps
-endif
-
-$(THESISMAIN).ps: $(THESISMAIN).dvi
- # gbk2uni $(THESISMAIN)
- latex $(THESISMAIN).tex
- dvips -Ppdf -G0 $(THESISMAIN).dvi
-
-$(THESISMAIN).bbl: $(BIBFILE)
- $(TEXI2DVI) $(THESISMAIN).tex
- -bibtex $(THESISMAIN)
-
-
-
-###### for shuji
-shuji: shuji-pdf
-
-shuji-pdf: $(SHUJIMAIN).pdf
-
-shuji-dvi: $(SHUJIMAIN).dvi
-
-shuji-ps: $(SHUJIMAIN).ps
-
-$(SHUJIMAIN).dvi: cls $(SHUJICONTENTS)
- $(TEXI2DVI) $(SHUJIMAIN).tex
-
-ifeq ($(METHOD),dvipdfm)
-$(SHUJIMAIN).pdf: $(SHUJIMAIN).dvi
- # gbk2uni $(SHUJIMAIN)
- latex $(SHUJIMAIN).tex
- dvipdfmx $(SHUJIMAIN).dvi
-elifeq ($(METHOD),ps2pdf)
-$(SHUJIMAIN).pdf: $(SHUJIMAIN).ps
- ps2pdf $(SHUJIMAIN).ps
-else
-$(SHUJIMAIN).pdf: cls $(SHUJICONTENTS)
- pdflatex $(SHUJIMAIN)
-endif
-
-$(SHUJIMAIN).ps: $(SHUJIMAIN).dvi
- # gbk2uni $(SHUJIMAIN)
- latex $(SHUJIMAIN).tex
- dvips -Ppdf -G0 $(SHUJIMAIN).dvi
-
-clean:
- -@rm -f \
- *.aux \
- *.bak \
- *.bbl \
- *.blg \
- *.dvi \
- *.glo \
- *.gls \
- *.idx \
- *.ilg \
- *.ind \
- *.ist \
- *.log \
- *.out \
- *.ps \
- *.thm \
- *.toc \
- *.lof \
- *.lot \
- *.loe \
- data/*.aux \
- dtx-style.sty
-
-distclean: clean
- -@rm -f *.cls *.cfg
- -@rm -f *.pdf *.tar.gz
-
-gbk:
- @./makegbk.sh
-
-dist:
- @if [ -z "$(VERSION)" ]; then \
- echo "Usage: make dist VERSION=<version#>"; \
- else \
- if [ ! -d "gbk" ]; then \
- echo -e "\n run ./makegbk.sh first to prepare for GBK version.\n"; \
- else \
- ./makedist.sh $(VERSION) UTF8; \
- (cd gbk ; ../makedist.sh $(VERSION) GBK); \
- fi; \
- fi
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/msmake.cmd b/Master/texmf-dist/doc/latex/thuthesis/example/msmake.cmd
deleted file mode 100644
index 11cb5c3dca5..00000000000
--- a/Master/texmf-dist/doc/latex/thuthesis/example/msmake.cmd
+++ /dev/null
@@ -1,264 +0,0 @@
-@rem -*- mode: conf -*-
-@rem ----------------------------------------------------------------------
-@rem START OF FILE
-@rem ----------------------------------------------------------------------
-@rem
-@rem Filename: msmake.cmd
-@rem Author: Fred Qi
-@rem Created: 2006-05-20 14:09:57(+0800)
-@rem Version:
-@rem
-@rem ----------------------------------------------------------------------
-@rem COMMENTARY
-@rem ----------------------------------------------------------------------
-@rem
-@rem ʹ˵
-@rem
-@rem 1.thuthesis
-@rem msmake setup
-@rem ڵǰĿ¼thuthesis˵ĵthuthesis.pdf
-@rem
-@rem 2.ʾĵ
-@rem msmake [shuji|main|all|other]
-@rem ڵǰĿ¼ʾĵеһ֣ûָĵ
-@rem ǰĿ¼thuthesis.clsԶthuthesis.insɡ
-@rem - shuji 鼹
-@rem - main main.pdf
-@rem - all 鼹main.pdfĬѡ
-@rem - other ûָtexļɸtexļpdfĵ
-@rem
-@rem 3.Ŀ¼
-@rem msmake clean [other]
-@rem ǰĿ¼thuthesisɵļ
-@rem ˵ĵthuthesis.{cls,cfg,dvi,ps,pdf}
-@rem ʾĵshuji.pdf, main.{dvi,ps,pdf,aux,etc.}
-@rem ûָļɾmain.*ɾ
-@rem other.{dvi,ps,pdf,lo?,aux,bbl,blg,out* toc thm}
-@rem
-@rem 4.ͼͼļʽת
-@rem msmake epspdf [param]
-@rem ǰĿ¼epsļepstopdfתΪpdfʽ
-@rem msmake bmpeps [param]
-@rem ǰĿ¼bmp,jpg,pngļbmepsתΪepsʽ
-@rem У[param]ûָתõIJ
-@rem
-@rem ----------------------------------------------------------------------
-@rem CHANGE LOG
-@rem ----------------------------------------------------------------------
-@rem Last-Updated: 2006-05-26 11:47:40(+0800) [by Fred Qi@lab]
-@rem Update #: 312
-@rem ----------------------------------------------------------------------
-@rem 2006-05-20 16:53:38(+0800) Fred Qi@lab
-@rem msmake.cmd initial. prepaired for thuthesis 2.5
-@rem
-@rem
-@rem
-@rem ----------------------------------------------------------------------
-@rem ----------------------------------------------------------------------
-
-@echo off
-set thupkg=thuthesis
-set tmpfile=_clstemptest_
-set ltxparam=-quiet -c-style-errors
-if /i {%1}=={clean} goto clean
-if /i {%1}=={epspdf} goto epspdf
-if /i {%1}=={bmpeps} goto bmpeps
-if /i {%1}=={setup} goto setup
-goto testcls
-:clean
-@rem =============================================
-@rem ĵɹвʱļ
-@rem =============================================
-echo ɾthuthesisļ
-del /f /q %thupkg%.cls %thupkg%.cfg
-echo ɾthuthesis˵ĵ
-del /f /q %thupkg%.dvi %thupkg%.ps %thupkg%.pdf
-echo ɾshuji.pdf
-del /f /q shuji.pdf shuji.ps shuji.dvi
-echo ɾʾĵmain.pdfɸĵвļ
-if {%2}=={} (set targ=main) else (set targ=%2)
-del /f %targ%.dvi %targ%.ps %targ%.pdf
-del /f %targ%.lo? %targ%.aux %targ%.bbl %targ%.blg
-del /f %targ%.out* %targ%.toc %targ%.thm
-del /f data\*.aux
-echo ɾʱļ
-del /f /q *.log *.aux *.glo *.idx *.ilg *.ind *.out *.thm *.toc *.lot *.loe *.out.bak
-goto end
-@rem =============================================
-@rem ǰĿ¼µepsļתΪpdfʽ
-@rem Ҫõepstopdf
-@rem =============================================
-:epspdf
-if /i {%2}=={} (
- set conv=call epstopdf %%i
-) else (
- set conv=call epstopdf %2 %%i
-)
-@echo on
-for %%i in (*.eps) do %conv%
-@echo off
-goto end
-@rem =============================================
-@rem ǰĿ¼µbmp,jpg,pngͼתΪepsʽ
-@rem Ҫõbmeps
-@rem =============================================
-:bmpeps
-if /i {%2}=={} (set param=-c) else (set param=%2)
-set conv=call bmeps %param% %%i %%~ni.eps
-@echo on
-for %%i in (*.bmp *.jpg *.png) do %conv%
-@echo off
-goto end
-:testcls
-@rem =============================================
-echo ڲǷҪthuthesis...
-@rem =============================================
-if not exist %thupkg%.cls goto presetup
-if not exist %thupkg%.cfg goto presetup
-goto choose
-@rem -----------------------------
-@rem this section of code is NOT used.
-echo \documentclass{%thupkg%}>%tmpfile%.tex
-echo \begin{document}>>%tmpfile%.tex
-echo \end{document}>>%tmpfile%.tex
-call latex %ltxparam% %tmpfile%.tex>nul
-IF ERRORLEVEL 1 (goto presetup) else goto choose
-@rem NOT used code block end.
-@rem -----------------------------
-:presetup
-@rem del /f /q %tmpfile%.*
-echo ûаװúthuthesis
-echo ͼɲthuthesis...
-:setup
-@rem =============================================
-@rem thuthesis˵ĵ
-@rem =============================================
-if not exist %thupkg%.ins goto clserr4
-if exist %thupkg%.cls del /f /q %thupkg%.cls
-if exist %thupkg%.cfg del /f /q %thupkg%.cfg
-echo %thupkg%...
-call latex %ltxparam% %thupkg%.ins
-@rem IF errorlevel 1 goto clserr3
-echo ɹthuthesis
-@rem ----------------------------------------------
-if not exist %thupkg%.dtx goto clserr2
-echo %thupkg%˵ĵ...
-call latex %ltxparam% %thupkg%.dtx
-if errorlevel 1 goto clserr1
-call makeindex -s gind.ist -o %thupkg%.ind %thupkg%.idx
-if errorlevel 1 goto clserr1
-call makeindex -s gglo.ist -o %thupkg%.gls %thupkg%.glo
-if errorlevel 1 goto clserr1
-call latex %ltxparam% %thupkg%.dtx
-if errorlevel 1 goto clserr1
-call gbk2uni %thupkg%.out
-if errorlevel 1 goto clserr1
-call latex %ltxparam% %thupkg%.dtx
-if errorlevel 1 goto clserr1
-call dvips -Ppdf -G0 %thupkg%.dvi
-if errorlevel 1 goto clserr1
-call ps2pdf %thupkg%.ps
-if errorlevel 1 goto clserr1
-echo ɹthuthesis˵ĵthuthesis.pdf
-@rem ˵ĵɹвʱļ
-del /f /q %thupkg%.log
-del /f /q %thupkg%.aux
-del /f /q %thupkg%.glo
-del /f /q %thupkg%.gls
-del /f /q %thupkg%.idx
-del /f /q %thupkg%.out
-del /f /q %thupkg%.out.bak
-del /f /q %thupkg%.ind
-del /f /q %thupkg%.ilg
-del /f /q %thupkg%.toc
-@rem del /f /q %thupkg%.dvi
-@rem del /f /q %thupkg%.ps
-goto choose
-@rem ----------------------------------------------
-:clserr2
-echo ûҵthuthesis.dtxļ
-:clserr1
-echo ޷˵ĵthuthesis.pdf
-goto end
-:clserr4
-echo ûҵthuthesis.insļ
-:clserr3
-echo ޷thuthesis
-goto end
-:choose
-if /i {%1}=={setup} goto end
-set ltx=latex %ltxparam%
-if /i {%1}=={shuji} goto shuji
-if /i {%1}=={main} goto main
-if /i {%1}=={all} goto all
-if /i {%1}=={} (goto all) else goto other
-:dvips
-@rem =============================================
-@rem ʹlatex->dvips->ps2pdfʾĵmain.pdf
-@rem =============================================
-:other
-set targ=%2
-goto latex
-:all
-:shuji
-set targ=shuji
-set errmsg=pdflatex
-call pdflatex shuji.tex
-if errorlevel 1 goto error
-@rem set errmsg=dvipdfmx
-@rem dvipdfmx shuji.dvi
-@rem if errorlevel 1 goto error
-del /f /q %targ%.aux
-del /f /q %targ%.log
-del /f /q %targ%.out
-del /f /q %targ%.thm
-@rem del /f /q %targ%.dvi
-if /i {%1}=={shuji} goto end
-:main
-set targ=main
-goto latex
-:pdf
-@rem =============================================
-@rem ʹpdflatexʾĵmain.pdf
-@rem =============================================
-@echo δʵֵĹܡ
-goto end
-:latex
-@rem =============================================
-@rem ʾĵ
-@rem =============================================
-set errmsg=%ltx%
-call %ltx% %targ%
-if errorlevel 1 goto error
-set errmsg=bibtex
-call bibtex -quiet %targ%
-if errorlevel 1 goto error
-set errmsg=latex
-call %ltx% %targ%
-if errorlevel 1 goto error
-set errmsg=gbk2uni
-call gbk2uni %targ%
-if errorlevel 1 goto error
-set errmsg=latex
-call %ltx% %targ%
-if errorlevel 1 goto error
-if {%1}=={pdf} goto end
-set errmsg=dvips
-call dvips -Ppdf -G0 -ta4 %targ%.dvi
-if errorlevel 1 goto error
-set errmsg=ps2pdf
-call ps2pdf %targ%.ps
-if errorlevel 1 goto error
-goto end
-@rem =============================================
-@rem ʾļɹг
-@rem =============================================
-:error
-echo ʹ%errmsg%%targ%.pdfĹг
-:end
-@rem =============================================
-@rem ִн
-@rem =============================================
-@rem ----------------------------------------------------------------------
-@rem END OF FILE
-@rem ----------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/shuji.tex b/Master/texmf-dist/doc/latex/thuthesis/example/shuji.tex
deleted file mode 100644
index 868f293ac4a..00000000000
--- a/Master/texmf-dist/doc/latex/thuthesis/example/shuji.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\documentclass[doctor]{thuthesis}
-
-\ifxetex
- \setCJKfamilyfont{fs}[RawFeature={vertical:}]{Adobe Fangsong Std}
-\else % for latex/pdflatex
- \usepackage{CJKvert}
-\fi
-
-\begin{document}
-\cauthor{薛瑞尼}
-\ctitle{没有英文的中文标题}
-
-\shuji
-
-\shuji[清华大学学位\hspace{0.2em}\raisebox{2pt}{\LaTeX}\hspace{-0.25em} 论文模板 \hspace{0.1em}\raisebox{2pt}{v\version}\hspace{-0.25em} 样例]
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.eps b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.eps
index 5b6f2887a9e..5b6f2887a9e 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.eps
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.eps
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.fig b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.fig
index 8b50f5cdd02..8b50f5cdd02 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.fig
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.fig
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.pdf b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.pdf
index f24c8272bcb..f24c8272bcb 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/hello.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/hello.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.eps b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.eps
index 90485bccdcf..90485bccdcf 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.eps
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.eps
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.pdf b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.pdf
index 594a3429578..594a3429578 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-fig-logo.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-fig-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.eps b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.eps
index 19861164105..19861164105 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.eps
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.eps
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.pdf b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.pdf
index 996961e825d..996961e825d 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-lib-logo.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-lib-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.eps b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.eps
index bebb8694359..bebb8694359 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.eps
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.eps
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.pdf b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.pdf
index 7f20baf74bb..7f20baf74bb 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-text-logo.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-text-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.eps b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.eps
index c77d41abf1f..c77d41abf1f 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.eps
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.eps
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.pdf b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.pdf
index 1107b0d3ae9..1107b0d3ae9 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/figures/thu-whole-logo.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/figures/thu-whole-logo.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/fontname.def b/Master/texmf-dist/doc/latex/thuthesis/fontname.def
new file mode 100644
index 00000000000..c249172092d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/thuthesis/fontname.def
@@ -0,0 +1,21 @@
+% vim: set ft=tex:
+% This file is modified from ctex's ctex-xecjk-winfonts.def.
+
+\ProvidesFile{fontname.def}
+\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]{SimSun}
+\setCJKsansfont{SimHei}
+\setCJKmonofont{FangSong}
+
+\setCJKfamilyfont{zhsong}{SimSun}
+\setCJKfamilyfont{zhhei}{SimHei}
+\setCJKfamilyfont{zhkai}{KaiTi}
+\setCJKfamilyfont{zhfs}{FangSong}
+\setCJKfamilyfont{zhli}{LiSu}
+\setCJKfamilyfont{zhyou}{YouYuan}
+
+\newcommand*{\songti}{\CJKfamily{zhsong}}
+\newcommand*{\heiti}{\CJKfamily{zhhei}}
+\newcommand*{\kaishu}{\CJKfamily{zhkai}}
+\newcommand*{\fangsong}{\CJKfamily{zhfs}}
+\newcommand*{\lishu}{\CJKfamily{zhli}}
+\newcommand*{\youyuan}{\CJKfamily{zhyou}}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/main.pdf b/Master/texmf-dist/doc/latex/thuthesis/main.pdf
new file mode 100644
index 00000000000..4164ffe6941
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/thuthesis/main.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/main.tex b/Master/texmf-dist/doc/latex/thuthesis/main.tex
index 045e622bbd6..4a56cf6f53d 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/main.tex
+++ b/Master/texmf-dist/doc/latex/thuthesis/main.tex
@@ -3,13 +3,17 @@
%%% TeX-master: t
%%% End:
-\documentclass[bachelor]{thuthesis}
+\documentclass[bachelor,nofonts]{thuthesis}
+%\documentclass[master]{thuthesis}
+%\documentclass[doctor]{thuthesis}
% \documentclass[%
% bachelor|master|doctor|postdoctor, % mandatory option
-% xetex|pdftex|dvips|dvipdfm, % optional
+% winfonts|nofonts|adobefonts, % mandatory only for bachelor and Linuxer
% secret,
% openany|openright,
% arialtoc,arialtitle]{thuthesis}
+% 当使用 XeLaTeX 编译时,本科生、Linux 用户需要加上 nofonts 选项;
+% 当使用 PDFLaTeX 编译时,adobefonts 选项等效于 winfonts 选项(缺省选项)。
% 所有其它可能用到的包都统一放到这里了,可以根据自己的实际添加或者删除。
\usepackage{thutils}
@@ -26,6 +30,10 @@
%%% 封面部分
\frontmatter
\input{data/cover}
+% 设置 PDF 文档的作者、主题等属性
+\makeatletter
+\thu@setup@pdfinfo
+\makeatother
\makecover
% 目录
@@ -52,7 +60,7 @@
% 表格索引
\listoftables
% 公式索引
- \listofequations
+ %\listofequations
\fi
\makeatother
diff --git a/Master/texmf-dist/doc/latex/thuthesis/example/ref/refs.bib b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib
index 80de469729c..80de469729c 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/example/ref/refs.bib
+++ b/Master/texmf-dist/doc/latex/thuthesis/ref/refs.bib
diff --git a/Master/texmf-dist/doc/latex/thuthesis/shuji.tex b/Master/texmf-dist/doc/latex/thuthesis/shuji.tex
new file mode 100644
index 00000000000..81b11c8c18b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/thuthesis/shuji.tex
@@ -0,0 +1,20 @@
+\documentclass[doctor]{thuthesis}
+
+\ifxetex
+ \setCJKfamilyfont{zhfs}[RawFeature={vertical:}]{FangSong}
+\else % for latex/pdflatex
+ \usepackage{CJKvert}
+\fi
+
+\begin{document}
+\cauthor{薛瑞尼}
+\ctitle{没有英文的中文标题}
+
+\shuji
+
+\ifxetex
+\shuji[清华大学学位\hspace{0.2em}\raisebox{-5pt}{\LaTeX}\hspace{-0.25em} 论文模板 \hspace{0.1em}\raisebox{-5pt}{v\version}\hspace{-0.25em} 样例]
+\else
+\shuji[清华大学学位\hspace{0.2em}\raisebox{8pt}{\LaTeX}\hspace{-0.25em} 论文模板 \hspace{0.1em}\raisebox{8pt}{v\version}\hspace{-0.25em} 样例]
+\fi
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
index 95668e53424..ce215791fbd 100644
--- a/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
+++ b/Master/texmf-dist/doc/latex/thuthesis/thuthesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/thuthesis/zhfonts.py b/Master/texmf-dist/doc/latex/thuthesis/zhfonts.py
new file mode 100755
index 00000000000..43df37270b8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/thuthesis/zhfonts.py
@@ -0,0 +1,184 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""This script can help to choose Chinse fonts found by `fc-list`, which will be
+used in thuthesis.
+
+This script prefers the font name in ASCII to the one containing Unicode
+character, in order to avoid the problem with 'Adobe 宋体 Std L'.
+
+This script should work with Python 2.6, 2.7 and Python 3.2, providing that your
+locale is utf-8. Please report issues if you find.
+"""
+
+from __future__ import print_function
+from __future__ import unicode_literals
+
+try:
+ from subprocess import check_output
+except ImportError: # python 2.6 has no check_output
+ from subprocess import Popen, PIPE
+ def check_output(cmdline):
+ return Popen(cmdline, stdout=PIPE).communicate()[0]
+
+# Py3K renames raw_input to input.
+try:
+ input = raw_input
+except:
+ pass
+
+import re
+
+# The return value is of type byte string (in py3k).
+zh_fonts_str = check_output(['fc-list', '-f', '%{family}\n', ':lang=zh'])
+all_fonts_str = check_output(['fc-list', '-f', '%{family}\n'])
+if not zh_fonts_str:
+ print('No Chinese font exists! Leaving...')
+ exit(1)
+
+# strip out ':style=BLABLA' stuff
+zh_fonts_list = sorted(set([x.split(b':')[0] for x in zh_fonts_str.splitlines()]))
+all_fonts_list = sorted(set([x.split(b':')[0] for x in all_fonts_str.splitlines()]))
+
+# Convert to unicode string, assuming utf-8 encoding of byte string.
+# Thus following variables are all unicode string.
+zh_fonts_list = [x.decode('utf-8') for x in zh_fonts_list]
+all_fonts_list = [x.decode('utf-8') for x in all_fonts_list]
+
+final_fonts = {'songti': {'name': '宋体',
+ 'candidates': [],
+ 'keyword': '宋|Ming',
+ 'font': ''},
+ 'heiti': {'name': '黑体',
+ 'candidates': [],
+ 'keyword': '黑|Hei|Sans|Gothic',
+ 'font': ''},
+ 'kaiti': {'name': '楷体',
+ 'candidates': [],
+ 'keyword': '楷|Kai',
+ 'font': ''},
+ 'fangsong': {'name': '仿宋',
+ 'candidates': [],
+ 'keyword': '仿宋|Fang',
+ 'font': ''},
+ 'lishu': {'name': '隶书',
+ 'candidates': [],
+ 'keyword': '隶|Li',
+ 'font': ''},
+ 'youyuan': {'name': '幼圆',
+ 'candidates': [],
+ 'keyword': '圆|Yuan',
+ 'font': ''}}
+
+for zh_font in zh_fonts_list:
+ for key in final_fonts:
+ if re.search(final_fonts[key]['keyword'], zh_font, re.IGNORECASE):
+ final_fonts[key]['candidates'].append(zh_font)
+ break
+
+def select_font(font_list):
+ if not font_list:
+ if not zh_fonts_list:
+ if not all_fonts_list:
+ return ''
+ else:
+ return select_font(all_fonts_list)
+ else:
+ return select_font(zh_fonts_list)
+
+ print('-' * 60);
+ for i, v in enumerate(font_list):
+ print('{0:d}.\t{1}'.format(i, v))
+ print('-' * 60);
+ while True:
+ # Note input/raw_input in Python 2.x do not accept unicode string.
+ print('选择序号(默认0,z: 所有中文字体中选择,a: 所有字体中选择): ', end='')
+ n_str = input()
+ if not n_str:
+ n = 0
+ else:
+ if n_str == 'z' or n_str =='Z':
+ return select_font(zh_fonts_list)
+ elif n_str == 'a' or n_str == 'A':
+ return select_font(all_fonts_list)
+ else:
+ try:
+ n = int(n_str)
+ except ValueError:
+ continue
+ if 0 <= n < len(font_list):
+ break
+ ascii_font_name = ''
+ for x in font_list[n].split(','):
+ try:
+ x.encode('ascii')
+ except UnicodeEncodeError:
+ pass
+ else:
+ ascii_font_name = x
+ break
+ if ascii_font_name:
+ return ascii_font_name
+ else:
+ print('ASCII font name not found!')
+ print('You might encounter error using this font with XeLaTeX...')
+ return font_list[n].split(',')[-1]
+
+
+print('>> 请选择字体:')
+for key in final_fonts:
+ print('{0}:'.format(final_fonts[key]['name']))
+ final_fonts[key]['font'] = select_font(final_fonts[key]['candidates'])
+ print()
+
+if not all((final_fonts['songti']['font'],
+ final_fonts['heiti']['font'],
+ final_fonts['kaiti']['font'])):
+ print('错误:缺少宋体、黑体或楷体字体。')
+ exit(2)
+
+print('>> 生成字体文件fontname.def')
+with open('fontname.def', 'w') as f:
+ f.write('% vim: set ft=tex:\n')
+ f.write('% This file is auto-generated by zhfonts.py script\n\n')
+ f.write('\\ProvidesFile{fontname.def}\n')
+
+ f.write('\\setCJKmainfont[BoldFont={' + final_fonts['heiti']['font'] + '},ItalicFont={' + final_fonts['kaiti']['font'] + '}]{' + final_fonts['songti']['font'] + '}\n')
+ f.write('\\setCJKsansfont{' + final_fonts['heiti']['font'] + '}\n')
+ f.write('\\setCJKmonofont{' + final_fonts['kaiti']['font'] + '}\n')
+
+ f.write('\\setCJKfamilyfont{zhsong}{' + final_fonts['songti']['font'] + '}\n')
+ f.write('\\setCJKfamilyfont{zhhei}{' + final_fonts['heiti']['font'] + '}\n')
+ f.write('\\setCJKfamilyfont{zhkai}{' + final_fonts['kaiti']['font'] + '}\n')
+ if final_fonts['fangsong']['font']:
+ f.write('\\setCJKfamilyfont{zhfs}{' + final_fonts['fangsong']['font'] + '}\n')
+ else:
+ print('>>> 缺少仿宋,宋体代替')
+ f.write('\\setCJKfamilyfont{zhfs}{' + final_fonts['songti']['font'] + '}\n')
+ if final_fonts['lishu']['font']:
+ f.write('\\setCJKfamilyfont{zhli}{' + final_fonts['lishu']['font'] + '}\n')
+ else:
+ print('>>> 缺少隶书,宋体代替')
+ f.write('\\setCJKfamilyfont{zhli}{' + final_fonts['songti']['font'] + '}\n')
+ if final_fonts['youyuan']['font']:
+ f.write('\\setCJKfamilyfont{zhyou}{' + final_fonts['youyuan']['font'] + '}\n')
+ else:
+ print('>>> 缺少幼圆,宋体代替')
+ f.write('\\setCJKfamilyfont{zhyou}{' + final_fonts['songti']['font'] + '}\n')
+ f.write('''
+\\newcommand*{\\songti}{\\CJKfamily{zhsong}}
+\\newcommand*{\\heiti}{\\CJKfamily{zhhei}}
+\\newcommand*{\\kaishu}{\\CJKfamily{zhkai}}
+\\newcommand*{\\fangsong}{\\CJKfamily{zhfs}}
+\\newcommand*{\\lishu}{\\CJKfamily{zhli}}
+\\newcommand*{\\youyuan}{\\CJKfamily{zhyou}}
+''')
+
+print('>> 替换shuji.tex中的仿宋字体')
+import fileinput
+for line in fileinput.input('shuji.tex', inplace=True):
+ line = line.decode('utf-8')
+ if line.startswith(' \setCJKfamilyfont{zhfs}[RawFeature={vertical:}]'):
+ line = ' \setCJKfamilyfont{zhfs}[RawFeature={vertical:}]{' + final_fonts['fangsong']['font'] + '}\n'
+ print(line.encode('utf-8'), end='')
+
+print('>> 中文字体处理结束。')