From 11c9c4d9505fbae8b108824303315d6203a2a655 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 27 Aug 2016 22:15:55 +0000 Subject: cquthesis (27aug16) git-svn-id: svn://tug.org/texlive/trunk@41938 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/cquthesis/Makefile | 92 +++++++ .../doc/latex/cquthesis/README-Chinese.md | 74 ++++-- Master/texmf-dist/doc/latex/cquthesis/README.md | 57 ++-- .../doc/latex/cquthesis/contents/analysis.tex | 53 ++-- .../doc/latex/cquthesis/contents/appendix.tex | 6 +- .../doc/latex/cquthesis/contents/cover.tex | 17 +- .../texmf-dist/doc/latex/cquthesis/cquthesis.cwl | 13 +- .../texmf-dist/doc/latex/cquthesis/cquthesis.pdf | Bin 519644 -> 558393 bytes Master/texmf-dist/doc/latex/cquthesis/main.tex | 6 +- .../source/latex/cquthesis/cquthesis.dtx | 294 +++++++++++++++++---- .../texmf-dist/source/latex/cquthesis/makewin.bat | 136 ++++++++++ .../texmf-dist/tex/latex/cquthesis/cquthesis.cfg | 12 +- .../texmf-dist/tex/latex/cquthesis/cquthesis.cls | 104 ++++++-- 13 files changed, 711 insertions(+), 153 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/cquthesis/Makefile create mode 100755 Master/texmf-dist/source/latex/cquthesis/makewin.bat (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/cquthesis/Makefile b/Master/texmf-dist/doc/latex/cquthesis/Makefile new file mode 100644 index 00000000000..57f1c90cb4d --- /dev/null +++ b/Master/texmf-dist/doc/latex/cquthesis/Makefile @@ -0,0 +1,92 @@ +# Makefile for CQUThesis +# Adapted from Thuthesis Makefile + +# Compiling method: latexmk/xelatex/pdflatex +METHOD = latexmk +# Set opts for latexmk if you use it +LATEXMKOPTS = -xelatex +# Basename of thesis +THESISMAIN = main + + +PACKAGE=cquthesis +SOURCES=$(PACKAGE).ins $(PACKAGE).dtx +THESISCONTENTS=$(THESISMAIN).tex contents/*.tex $(FIGURES) +# NOTE: update this to reflect your local file types. +# 注意:下列内容可能需要根据你的实际情况调整 +FIGURES=$(wildcard figures/*.eps figures/*.pdf figures/*.jpg figures/*.jpeg figures/*.png) +BIBFILE=ref/refs.bib +SHUJICONTENTS=$(SHUJIMAIN).tex +CLSFILES=dtx-style.sty $(PACKAGE).cls $(PACKAGE).cfg + +# make deletion work on Windows +ifdef SystemRoot + RM = del /Q + OPEN = start +else + RM = rm -f + OPEN = open +endif + +.PHONY: all clean cls check doc distclean thesis viewthesis viewdoc FORCE_MAKE + +all: doc thesis + +cls: $(CLSFILES) + +doc: $(PACKAGE).pdf + +$(CLSFILES): $(SOURCES) + latex $(PACKAGE).ins + +viewdoc: doc + $(OPEN) $(PACKAGE).pdf + +viewthesis: thesis + $(OPEN) $(THESISMAIN).pdf + +thesis: $(THESISMAIN).pdf + +ifeq ($(METHOD),latexmk) + +$(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 + xelatex $(PACKAGE).dtx + +$(THESISMAIN).pdf: $(CLSFILES) + $(METHOD) $(LATEXMKOPTS) $(THESISMAIN) + +else ifneq (,$(filter $(METHOD),xelatex pdflatex)) + +$(PACKAGE).pdf: $(CLSFILES) + $(METHOD) $(PACKAGE).dtx + makeindex -s gind.ist -o $(PACKAGE).ind $(PACKAGE).idx + makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo + $(METHOD) $(PACKAGE).dtx + $(METHOD) $(PACKAGE).dtx + $(METHOD) $(PACKAGE).dtx + +$(THESISMAIN).pdf: $(CLSFILES) $(THESISCONTENTS) $(THESISMAIN).bbl + $(METHOD) $(THESISMAIN) + $(METHOD) $(THESISMAIN) + +$(THESISMAIN).bbl: $(BIBFILE) + $(METHOD) $(THESISMAIN) + -bibtex $(THESISMAIN) + $(RM) $(THESISMAIN).pdf + +else +$(error Unknown METHOD: $(METHOD)) + +endif + +clean: + latexmk -c $(PACKAGE).dtx $(THESISMAIN) + -@$(RM) *~ + +cleanall: clean + -@$(RM) $(PACKAGE).pdf $(THESISMAIN).pdf diff --git a/Master/texmf-dist/doc/latex/cquthesis/README-Chinese.md b/Master/texmf-dist/doc/latex/cquthesis/README-Chinese.md index a9527b2e870..285d7493974 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/README-Chinese.md +++ b/Master/texmf-dist/doc/latex/cquthesis/README-Chinese.md @@ -1,4 +1,8 @@ # 嗨,这里是CQUThesis! +[![CTAN release](https://img.shields.io/ctan/v/cquthesis.svg?label=CTAN)](https://www.ctan.org/pkg/cquthesis) +[![GitHub release](https://img.shields.io/github/release/nanmu42/cquthesis.svg?label=Github)](https://github.com/nanmu42/CQUThesis/releases/latest) +[![GitHub commits](https://img.shields.io/github/commits-since/nanmu42/CQUThesis/v1.14.svg)](https://github.com/nanmu42/CQUThesis/commits/master) + CQUThesis表示的是**C**hong**Q**ing **U**niversity **Thesis**. 本宏包是重庆大学毕业论文的`\LaTeX{}`模板,支持学士、硕士、博士论文的排版。合理使用本宏包可以大大减轻重庆大学毕业生在毕业论文撰写过程中的排版工作量。 @@ -9,7 +13,8 @@ CQUThesis根据重庆大学《重庆大学本科设计(论文)撰写规范 * 支持重庆大学本科(文学、理工)、硕士(学术、专业)、博士的毕业论文格式; * 内置封面、目录、索引、授权书等论文部件,可按需自动生成; * 自动侦测文档页数,生成相应的单面打印/双面打印PDF文件; -* 预置一批按毕业论文环境优化过的宏包和小功能,包含国际标准单位、化学式支持、三线表等,可按需开启。 +* 预置一批优化过的宏包和小功能,包含中英双语题注及配套图录、表录,国际标准单位、化学式支持、三线表等,可按需开启; +* 支持基于cwl文件的代码着色和补全,makefile功能能够在Linux, Mac, Windows三平台通用。 ![CQUThesis-Poster](https://cloud.githubusercontent.com/assets/8143068/15363773/68c6b380-1d4c-11e6-9627-4d892facb333.png) @@ -17,49 +22,73 @@ CQUThesis根据重庆大学《重庆大学本科设计(论文)撰写规范 ## 下载 版本 | 下载地址 | 描述 --- | --- | --- -开发版 |[点我下载](https://github.com/nanmu42/cquthesis/zipball/master) | 最新的功能,最快的BugFix -发行版 |[CTAN下载页面](https://www.ctan.org/pkg/cquthesis)| 定期更新,和TeX Live等发行版一同发行 +开发版 |[点我下载](https://github.com/nanmu42/cquthesis/zipball/master) | 推荐,最新的功能,最快的BugFix +预发行版 | [Github下载页面](https://github.com/nanmu42/CQUThesis/releases) | 累计有较大更改时更新 +发行版 |[CTAN下载页面](https://www.ctan.org/pkg/cquthesis)| 定期从预发行版更新,和TeX Live等发行版一同发行 排版示例和用户文档随版本发布,如果需要单独下载,请参阅后文。 ## 部署 -为了降低新手使用模板的难度,默认情况下,模板文件`cquthesis.cls`, `cquthesis.cfg`已经先行从`cquthesis.dtx`中提取出来,您无需再执行任何操作。但如果您确实需要(如更新或自己编译用户文档)或者对`cquthesis.dtx`文件感兴趣,您可参阅和本文件同目录的`README-English.md`,内有详情。 +CQUThesis的安装十分便利。下载CQUThesis的.zip压缩包后请将整个文件夹解压出来,进入文件夹后: + +* Windows用户可以直接双击运行`makewin.bat` +* Linux 和 Mac 用户请在Bash窗口中进行如下操作: +``` +cd path/to/cquthesis +make thesis +``` + +即可完成 CQUThesis 的安装和示例文档的编译。以上也是CQUThesis推荐的论文编译方式。 -请编译`main.tex`获得排版示例,如果您对LaTeX比较熟悉,请直接参照排版示例进行部署。其中`图1.1`为CQUThesis文件结构。下面是一些相对详细的提示。 +## 编译方式 +CQUThesis提供了支持全平台的Makefile来完成论文编译,大部分编译工作基于`latexmk`,能够有效利用中间文件提高编译效率,实现一键编译。 -请创建一个新的文件夹作为根目录。 +* Windows用户请在文件夹空白处按住Shift键再点击书鼠标右键,选择“在此处打开命令窗口”,运行下列命令: +``` +makewin help +``` +可查询makewin.bat的详细用法(推荐熟悉,事半功倍)。 -必要文件列举如下: -* 模板文件:`cquthesis.cls`, `cquthesis.cfg`, `cquthesis.sty`以及`cqunumberical.bst`,位于根目录; -* 内容文件夹:`contents`, `figures`, `ref`(推荐),都位于根目录; -* `contents`内的必要文件:`ack.tex`, `appendix.tex`, `cover.tex`, `denotation.tex`,将这些文件按文件结构安排至根目录中; -* 最后请将`main.tex`置于根目录,工作即可开始。 +* Linux用户和Mac用户可打开 Makefile 文件查看相关用法。 ## 更新 -需要更新时,请从Github下载zip文档后解压,覆盖掉原始的模板文件,使用命令行定位到文件夹,运行: -`latex cquthesis.ins` -即可完成更新。 +CQUThesis的升级很方便,下载最新的开发版,将zip文件中的`cquthesis.dtx`和`cquthesis.ins`覆盖掉工作文件夹中的相应文件后: + +* Windows用户请在文件夹空白处按住Shift键再点击书鼠标右键,选择“在此处打开命令窗口”,运行下列命令: +``` +makewin extract +``` + +* Linux 和 Mac 用户请在 Bash 窗口中进行如下操作: +``` +cd cquthesis +make cls +``` +即可完成 CQUThesis 的升级。 + # 文档 +文档涵盖了CQUThesis的使用方法、注意事项、实现方式,推荐阅读以快速上手: + 文档 | 描述 --- | --- 排版示例 | 请编译`main.tex`获得 - 用户文档 | 随模板发布,也可[点我下载](https://github.com/nanmu42/CQUThesis/files/308798/cquthesis.pdf) + 用户文档 | 随模板发布,也可[点我下载](https://github.com/nanmu42/CQUThesis/raw/master/cquthesis.pdf) # 提问和支持 * [Github Issues](https://github.com/nanmu42/CQUThesis/issues) -* 造访重庆大学7117工作室寻求支持 +* 加入[重庆大学TeX用户组](http://jq.qq.com/?_wv=1027&k=2HvYu95)寻求支持 # 用户协议 -1. 本模板按照[LaTeX Project Public License](https://latex-project.org/lppl/lppl-1-3.txt)发布,协议版本号为1.3或以后的任何版本(随你意); +1. 本模板按照[LaTeX Project Public License](https://latex-project.org/lppl/lppl-1-3.txt)发布,协议版本号为1.3或以后的任何版本(随你意)。本条款不适用于重庆大学LaTeX模板工具箱(CQUThesis Toolkit); 1. 重庆大学教务处和研究生院只提供毕业论文写作指南,不提供官方模板,也不会授权或认证第三方模板为官方模板。 这个模板是按照写作指南的参考实现,模板作者自当尽力,但不保证审查老师不提意见。任何由于本模板而引起的论文格式审查问题与本模板作者无关。 # About CQUThesis -CQUThesis stands for Chongqing University Thesis Template for LaTeX, bearing the ability to support bachelor, master, doctor dissertations. +CQUThesis stands for Chongqing University Thesis Template for LaTeX, bearing the ability to support bachelor, master, doctor dissertations with grace and speed. # 致谢 / Acknowledgements -这个模板是站在巨人肩膀上的成果,感谢LaTeX 2e计划,感谢[CTeX社区](https://github.com/CTeX-org/ctex-kit)提供的中文解决方案,感谢薛瑞尼副教授的[先驱之作](https://github.com/xueruini/thuthesis),感谢[中国科学技术大学TeX用户组](https://github.com/ustctug/gbt-7714-20155)。向你们致以真诚的问候和感激! +这个模板是站在巨人肩膀上的成果,感谢LaTeX 2e计划,感谢[CTeX社区](https://github.com/CTeX-org/ctex-kit)提供的中文解决方案,感谢薛瑞尼副教授的[先驱之作](https://github.com/xueruini/thuthesis),感谢[中国科学技术大学TeX用户组](https://github.com/ustctug/gbt-7714-2015)。向你们致以真诚的问候和感激! 世界因你们更美好。 @@ -67,4 +96,9 @@ The author would like to acknowledge these contributors for their efforts and, e * [The CTeX Community](https://github.com/CTeX-org/ctex-kit) * [XUE, Ruini](https://github.com/xueruini/thuthesis) -* [USTC TeX User Group](https://github.com/ustctug/gbt-7714-20155) +* [USTC TeX User Group](https://github.com/ustctug/gbt-7714-2015) + +# 关于CQUThesis Toolkit +重庆大学LaTeX模板工具箱(CQUThesis Toolkit)是为了增强CQUThesis而提供的额外文件和程序,这些内容往往是对CQUThesis易用性或功能的增强,没有它们,CQUThesis仍然可以良好地独立运行。 + +这些内容有着自己的授权方式和简单的用户协议,不会随本模板的CTAN版本发布,CQUThesis的Github源是这些内容唯一的官方源,程序的更新和修正都会在这里进行。 diff --git a/Master/texmf-dist/doc/latex/cquthesis/README.md b/Master/texmf-dist/doc/latex/cquthesis/README.md index 32637c86b89..b2ae28ce96f 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/README.md +++ b/Master/texmf-dist/doc/latex/cquthesis/README.md @@ -1,48 +1,43 @@ # About CQUThesis +[![CTAN release](https://img.shields.io/ctan/v/cquthesis.svg?label=CTAN)](https://www.ctan.org/pkg/cquthesis) +[![GitHub release](https://img.shields.io/github/release/nanmu42/cquthesis.svg?label=Github)](https://github.com/nanmu42/CQUThesis/releases/latest) +[![GitHub commits](https://img.shields.io/github/commits-since/nanmu42/CQUThesis/v1.14.svg)](https://github.com/nanmu42/CQUThesis/commits/master) + CQUThesis stands for Chongqing University Thesis Template for LaTeX, bearing the ability to support bachelor, master, doctor dissertations with grace and speed. -# Installing -* To create the package file, run: -``` - latex cquthesis.ins -``` -* To finish the installation you have to move the following files into a directory searched by TeX:(The recommended directory is TEXMF/tex/latex/cquthesis) +![CQUThesis-Poster](https://cloud.githubusercontent.com/assets/8143068/15363773/68c6b380-1d4c-11e6-9627-4d892facb333.png) - cquthesis.cls - cquthesis.cfg - cqunumerical.bst +# Deployment +## Download +Version | Link | Description +--- | --- | --- +Dev. |[Click Here](https://github.com/nanmu42/cquthesis/zipball/master) | Recommend with new features and bug fixes +Pre-release | [Github Link](https://github.com/nanmu42/CQUThesis/releases) | Accumulation of commits from Dev. +Release |[CTAN Page](https://www.ctan.org/pkg/cquthesis)| Scheduled updates for CTAN, MikTeX and TeX Live -* To produce the documentation please run these command: +## Installation +Unzip all files to a new folder as your future work folder: +* Windows users may easily double-click on `makewin.bat`; +* Linux or Mac users may start the terminal: ``` - xelatex cquthesis.dtx - makeindex -s gind.ist -o cquthesis.ind cquthesis.idx - makeindex -s gglo.ist -o cquthesis.gls cquthesis.glo - xelatex cquthesis.dtx - xelatex cquthesis.dtx +cd path/to/cquthesis +make thesis ``` +If everything goes smoothly, CQUThesis is ready for work, with typeseting example named `main.pdf` in your work folder. -* Run these command will get you a typeseting example: -``` - xelatex main.tex - bibtex main.tex - xelatex main.tex - xelatex main.tex -``` -* For further info, please go to: https://github.com/nanmu42/CQUThesis +# Question, Contribution and Contact +Feel free to raise any question, and any possible contribution is highly appreciated. +* [Github Issues](https://github.com/nanmu42/CQUThesis/issues); +* Join [CQU TeX QQ Group](http://jq.qq.com/?_wv=1027&k=2HvYu95) -Happy TeXing! +Writing in English or Chinese is needed. # Acknowledgements The author would like to acknowledge these contributors for their efforts and, essentially, beautiful mind: * [The CTeX Community](https://github.com/CTeX-org/ctex-kit) * [XUE, Ruini](https://github.com/xueruini/thuthesis) -* [USTC TeX User Group](https://github.com/ustctug/gbt-7714-20155) - -# Question, Contribution and Contact -Feel free to raise any question, and any possible contribution is highly appreciated. -Submit a issue at [Github](https://github.com/nanmu42/CQUThesis). -Write in English or Chinese is needed. Thank you. +* [USTC TeX User Group](https://github.com/ustctug/gbt-7714-2015) # About the Author Zhennan Li (i at nanmu dot me) proudly presents this work for you. @@ -52,4 +47,4 @@ This whole project may be distributed and/or modified under the conditions of th http://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. \ No newline at end of file +and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. diff --git a/Master/texmf-dist/doc/latex/cquthesis/contents/analysis.tex b/Master/texmf-dist/doc/latex/cquthesis/contents/analysis.tex index 8f3b6f11a18..ceb3bef2994 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/contents/analysis.tex +++ b/Master/texmf-dist/doc/latex/cquthesis/contents/analysis.tex @@ -31,27 +31,28 @@ The \textbf{words} in this sentences are \textit{processed} with three different \caption[模板文件]{模板文件。如果表格的标题很长,那么在表格索引中就会很不美观,所以要像 chapter 那样在前面用中括号写一个简短的标题。这个标题会出现在索引中。} \label{tab:template-files} \begin{tabularx}{\linewidth}{lX} - \toprule[1.5pt] + \toprule {\heiti 文件名} & {\heiti 描述} \\ - \midrule[1pt] + \midrule cquthesis.cls & 模板类文件\footnote{这是一个脚注}\\ cquthesis.cfg & 模板配置文件\footnote{这是又一个脚注}\\ cqunumberical.bst & 参考文献 BIB\TeX\ 样式文件。\\ cquthesis.sty & 常用的包和命令写在这里,减轻主文件的负担。\footnote{同一页上的脚注最多支持到10个}\\ - \bottomrule[1.5pt] + \bottomrule \end{tabularx} \end{minipage} \end{table} 首先来看一个最简单的表格。\autoref{tab:template-files} 列举了本模板主要文件及其功能。请大家注意三线表中各条线对应的命令。这个例子还展示了如何在表格中正确使用脚注。由于 \LaTeX{} 本身不支持在表格中使用\cs{footnote},所以我们不得不将表格放在小页中,而且最好将表格的宽度设置为小页的宽度,这样脚注看起来才更美观。 -\subsection{复杂表格} +\subsection{双语题注和复杂表格} \label{sec:complicatedtable} +使用\cs{bicaption}\marg{中文}\marg{英文}可以对图或者表的浮动体添加双语题注,对方程式进行双语题注,请使用\cs{eqlist}\marg{中文}\oarg{英文},注意括号。 我们经常会在表格下方标注数据来源,或者对表格里面的条目进行解释。前面的脚注是一种不错的方法,如果不喜欢脚注,可以在表格后面写注释,比如\autoref{tab:tabexamp1}。 \begin{table}[htbp] \centering - \caption{复杂表格示例 1} + \bicaption{复杂表格示例}{A more structured table} \label{tab:tabexamp1} \begin{minipage}[t]{0.8\textwidth} \begin{tabularx}{\linewidth}{|l|X|X|X|X|} @@ -75,26 +76,26 @@ The \textbf{words} in this sentences are \textit{processed} with three different \caption{第一个并排子表格} \label{tab:parallel1} \begin{tabular}{p{2cm}p{2cm}} - \toprule[1.5pt] - No. & Name \\\midrule[1pt] + \toprule + No. & Name \\\midrule \xuhao[1] & Fox \\ \xuhao & Panda \\ \xuhao & Dog \\ - \bottomrule[1.5pt] + \bottomrule \end{tabular} \end{minipage}% \setxuhao[2] \begin{minipage}{0.5\textwidth} \centering - \caption{第二个并排子表格} + \bicaption{第二个并排子表格}{The second subtable in one row} \label{tab:parallel2} \begin{tabular}{p{2cm}p{2cm}} - \toprule[1.5pt] - No. & Name \\\midrule[1pt] + \toprule + No. & Name \\\midrule \xuhao[1] & Charlie \\ \xuhao & Jack \\ \xuhao & Tom \\ - \bottomrule[1.5pt] + \bottomrule \end{tabular} \end{minipage} \end{table} @@ -106,18 +107,18 @@ The \textbf{words} in this sentences are \textit{processed} with three different \subcaptionbox{第一个子表格} { \begin{tabular}{p{2cm}p{2cm}} - \toprule[1.5pt] - 111 & 222 \\\midrule[1pt] - 222 & 333 \\\bottomrule[1.5pt] + \toprule + 111 & 222 \\\midrule + 222 & 333 \\\bottomrule \end{tabular} } \hskip2cm \subcaptionbox{第二个子表格} { \begin{tabular}{p{2cm}p{2cm}} - \toprule[1.5pt] - 111 & 222 \\\midrule[1pt] - 222 & 333 \\\bottomrule[1.5pt] + \toprule + 111 & 222 \\\midrule + 222 & 333 \\\bottomrule \end{tabular} } \end{table} @@ -127,21 +128,21 @@ The \textbf{words} in this sentences are \textit{processed} with three different \tabref{tab:parallel1}和\tabref{tab:parallel2}展示了\cs{xuhao}和\cs{xuhao}\texttt{[1]}的使用,可以达到自动编号的效果。不过要记得在每次使用之前使用\cs{resetxuhao},或者\cs{xuhao}\texttt{[1]}。使用\cs{setxuhao}\oarg{1-6}可以更改序号的标记方式,如\tabref{tab:parallel2}所示。详细用法请参阅用户手册。 \begin{longtable}[c]{c*{6}{r}} - \caption{实验数据}\label{tab:performance}\\ - \toprule[1.5pt] + \bicaption[实验数据]{实验数据,这个题注是双语的,而且十分的长,注意这在索引中的处理方式}[Data in experiment]{Data in experiment, and this is a really long long long long long long long long long long text.}\label{tab:performance}\\ + \toprule 测试程序 & \multicolumn{1}{c}{正常运行} & \multicolumn{1}{c}{同步} & \multicolumn{1}{c}{检查点} & \multicolumn{1}{c}{卷回恢复} & \multicolumn{1}{c}{进程迁移} & \multicolumn{1}{c}{检查点} \\ & \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{ - 时间 (s)}& 文件(KB)\\\midrule[1pt] + 时间 (s)}& 文件(KB)\\\midrule \endfirsthead \multicolumn{7}{c}{续表~\thetable\hskip1em 实验数据}\\ - \toprule[1.5pt] + \toprule 测试程序 & \multicolumn{1}{c}{正常运行} & \multicolumn{1}{c}{同步} & \multicolumn{1}{c}{检查点} & \multicolumn{1}{c}{卷回恢复} & \multicolumn{1}{c}{进程迁移} & \multicolumn{1}{c}{检查点} \\ & \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{时间 (s)}& \multicolumn{1}{c}{ - 时间 (s)}& 文件(KB)\\\midrule[1pt] + 时间 (s)}& 文件(KB)\\\midrule \endhead \hline \multicolumn{7}{r}{续下页} @@ -186,7 +187,7 @@ The \textbf{words} in this sentences are \textit{processed} with three different EP.B.2 & 495.49 & 0.001 & 0.009 & 0.003 & 0.196 & 2011 \\ EP.B.4 & 247.69 & 0.002 & 0.012 & 0.004 & 0.122 & 1663 \\ EP.B.8 & 126.74 & 0.003 & 0.017 & 0.005 & 0.083 & 1656 \\ - \bottomrule[1.5pt] + \bottomrule \end{longtable} 如果你要排版的表格长度超过一页,那么推荐使用 \pkg{longtable} 或者 \pkg{supertabular}宏包,模板对 \pkg{longtable} 进行了相应的设置,所以用起来可能简单一些。表~\ref{tab:performance} 就是 \pkg{longtable} 的简单示例。 @@ -415,7 +416,7 @@ p(y|\mathbf{x}) = \frac{p(\mathbf{x},y)}{p(\mathbf{x})}= $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$ } -\end{equation}\eqlist{复杂的化学方程式} +\end{equation}\eqlist{复杂的化学方程式}[A sophisticated chemical equation] 这个方程式嵌套在了\pkg{equation}环境中,可用\cs{eqlist}(\cs{listeq}的别名,作用相同)来编排到索引中。 @@ -451,7 +452,7 @@ p(y|\mathbf{x}) = \frac{p(\mathbf{x},y)}{p(\mathbf{x})}= \begin{figure}[htb] % use float package if you want it here \centering \includegraphics[height=4cm]{CQUbadge.pdf} - \caption{重庆大学校徽} + \bicaption{重庆大学校徽}{Chongqing University badage} \label{fig:xfig1} \end{figure} diff --git a/Master/texmf-dist/doc/latex/cquthesis/contents/appendix.tex b/Master/texmf-dist/doc/latex/cquthesis/contents/appendix.tex index 95bd81cab29..ba542bc4e45 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/contents/appendix.tex +++ b/Master/texmf-dist/doc/latex/cquthesis/contents/appendix.tex @@ -85,6 +85,10 @@ lengthSummary.to_csv('lengthSummary.csv') \begin{equation} \alpha\beta\gamma\delta\epsilon\varepsilon\zeta\eta = AB\Gamma\varGamma Z -\end{equation}\eqlist{附录中的公式编号} +\end{equation}\eqlist{附录中的公式编号1,双语}[Equation name in English A] + +\begin{equation} +\alpha\beta\gamma\delta\epsilon\varepsilon\zeta\eta = CD\Gamma\varGamma Z +\end{equation}\eqlist{附录中的公式编号2,双语}[Equation name in English B] 测试用途:theequation值为:\theequation ,thefigure值为:\thefigure ,thetable值为:\thetable diff --git a/Master/texmf-dist/doc/latex/cquthesis/contents/cover.tex b/Master/texmf-dist/doc/latex/cquthesis/contents/cover.tex index 96a01a3eec1..4a04551c451 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/contents/cover.tex +++ b/Master/texmf-dist/doc/latex/cquthesis/contents/cover.tex @@ -17,6 +17,9 @@ studentid = 20128888, % 仅本科生,学号 csupervisor = 孙麟~~教授, % 导师的姓名 esupervisor = {Prof.~Lin Sun}, % 导师的姓名拼音 + cassistsupervisor = {}, % 本科生可选,助理指导教师姓名,不用时请留空为{} + cextrasupervisor = {}, % 本科生可选,校外指导教师姓名,不用时请留空为{} + eassistsupervisor = {}, % 本科生可选,助理指导教师或/和校外指导教师姓名拼音,不用时请留空为{} cpsupervisor = 丁小明~~工程师, % 仅专硕,兼职导师姓名 epsupervisor = Eng.~Xiaoming~Ding, % 仅专硕,兼职导师姓名拼音 cclass = 工学, % 博士生和学硕填学科门类,学硕填学科类型 @@ -34,12 +37,7 @@ % =================== % mycdate = {中文日期}, % myedate = {Date in English}, -% =================== -% 论文的关键词,使用英文逗号分隔 -% =================== - ckeywords = {重庆大学,\LaTeX,\LaTeXe,论文,模板}, - ekeywords = {bachelor, master, doctor, all support, white space is okay here,doctor, all support, white space is okay here} - }% End of \cqusetup +}% End of \cqusetup % =================== % % 论文的摘要 @@ -60,8 +58,8 @@ \item 预置一批优化过的宏包和小功能,包含国际标准单位、化学式支持、三线表等,可按需开启。 \end{itemize} \end{cabstract} -% 如果习惯关键字跟在摘要文字后面,可以用直接命令来设置,如下: -% \ckeywords{重庆大学,\LaTeX,\LaTeXe,论文,模板} +% 中文关键词,请使用英文逗号分隔: +\ckeywords{重庆大学,\LaTeX,\LaTeXe,论文,模板} \begin{eabstract} % 英文摘要 LaTeX is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing. @@ -79,6 +77,7 @@ \end{enumerate} (Quote from \textit{https://latex-project.org/intro.html}) \end{eabstract} +% 英文关键词,请使用英文逗号分隔,关键词内可以空格: +\ekeywords{bachelor, master, doctor, all support, white space is okay here} -% \ekeywords{bachelor, master, doctor, all support, white space is okay here} % 封面和摘要配置完成 diff --git a/Master/texmf-dist/doc/latex/cquthesis/cquthesis.cwl b/Master/texmf-dist/doc/latex/cquthesis/cquthesis.cwl index a5675907e2c..59f378abfec 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/cquthesis.cwl +++ b/Master/texmf-dist/doc/latex/cquthesis/cquthesis.cwl @@ -17,6 +17,8 @@ #include:upgreek #include:subcaption \backmatter#S +\bicaption{Chinese}{English}#n +\bicaption[shortC]{Chinese}[shortE]{English}#n \bigcell{content}#t \begin{cabstract}#S \begin{denotation}#S @@ -60,9 +62,12 @@ \cquauthpage#n \cquauthpage[scanedFile]#n \cqusetup{key=value,}#n +\ckeywords#S \ctexset{key=value,}#n \ding{number}#n \eqlist{name}#n +\eqlist{name}[EnglishName]#n +\ekeywords#S \frontmatter#S \fangsong#n \figref#S @@ -72,7 +77,11 @@ \onlinecite{bibid}#c \kaishu#n \listeq{name}#n -\listofequations#S +\listeq{name}[EnglishName]#n +\listofequations#n +\listofequationsEN#n +\listoffiguresEN#n +\listoftablesEN#n \lishu#n \mainmatter#S \makeabstract#S @@ -92,4 +101,4 @@ \xuhaoseparator#n \xuhaotype[1-6]#n \youyuan#n -\zihao{num}#n \ No newline at end of file +\zihao{num}#n diff --git a/Master/texmf-dist/doc/latex/cquthesis/cquthesis.pdf b/Master/texmf-dist/doc/latex/cquthesis/cquthesis.pdf index 84a9f3e3908..16cf1b9cbb0 100644 Binary files a/Master/texmf-dist/doc/latex/cquthesis/cquthesis.pdf and b/Master/texmf-dist/doc/latex/cquthesis/cquthesis.pdf differ diff --git a/Master/texmf-dist/doc/latex/cquthesis/main.tex b/Master/texmf-dist/doc/latex/cquthesis/main.tex index d51b68c3c77..871c40c93b8 100644 --- a/Master/texmf-dist/doc/latex/cquthesis/main.tex +++ b/Master/texmf-dist/doc/latex/cquthesis/main.tex @@ -3,13 +3,14 @@ %%% 使用前请先阅读使用文档和用户协议,内有详细介绍。Happy Texing! :) %% ======================================================= \documentclass% - [type=bachelor, ]{cquthesis}% + [type=master, bilinguallist=apart,]{cquthesis}% % 可用选项: % type=[bachelor|master|doctor], % 必选,毕业论文类型,以下项目不填时为默认 % liberalformat, % 可选,仅适用本科生,使用文学类论文标题格式,默认未打开 % proffesionalmaster=[true|false], % 可选,仅适用研究生,是(true)否(false)专业硕士,默认为否 % printmode=[oneside|twoside|auto], % 可选,论文打印方式,默认采用auto按页数要求自动判定 % openany,|openright, % 可选,双面打印时每章的第一页仅右页开启,默认左右页开启(openany) +% bilinguallist=[off|combined|apart] % 可选,图录表录等分别按双语题注混编(combined),分开编录(apart),默认关(off) % seriftoc, % 可选,目录中的不同级别采用不同的字号和字体,适用于三级标题很多的情况 % continuoustoc, % 可选,目录和索引不会自动新开一页,适用于索引内容较少时 % draft, % 写作期间可选,不渲染图片,关闭外围功能,加快预览速度,默认未开启 @@ -37,10 +38,13 @@ \tableofcontents %% 插图索引,可选,如不用可注释掉 \listoffigures +\listoffiguresEN %% 表格索引,可选 \listoftables +\listoftablesEN %% 公式索引,可选 \listofequations +\listofequationsEN %% 符号对照表,可选 \input{contents/denotation} diff --git a/Master/texmf-dist/source/latex/cquthesis/cquthesis.dtx b/Master/texmf-dist/source/latex/cquthesis/cquthesis.dtx index 1fcc59f1257..70ed872f91a 100644 --- a/Master/texmf-dist/source/latex/cquthesis/cquthesis.dtx +++ b/Master/texmf-dist/source/latex/cquthesis/cquthesis.dtx @@ -16,7 +16,7 @@ % % \iffalse %<*driver> -\ProvidesFile{cquthesis.dtx}[2016/06/09 v0.9.7 Chongqing University Thesis Template] +\ProvidesFile{cquthesis.dtx}[2016/08/18 v1.14 Chongqing University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -81,6 +81,10 @@ % \changes{v0.9.4}{2016/05/19}{用户文档撰写完成,CQUThesis提交至CTAN审核。} % \changes{v0.9.7}{2016/06/09}{参与了2016年重庆大学毕业设计工作后,模板根据实际测试情况作了一番改进,Beta测试落下帷幕。} % \changes{v0.9.7}{2016/06/09}{拆分了\file{cquthesis.sty}宏包,将其大部分内容并入\file{cquthesis.cls}和\file{cquthesis.cfg}。} +% \changes{v1.00}{2016/06/17}{最后一些小修补,今年的毕设工作完全结束了。目前本科方面的格式审查没有问题,研究生和博士生哪边还没有数据。} +% \changes{v1.00}{2016/06/17}{版本号格式从vX.Y.Z改为vX.YZ,更简洁一些。} +% \changes{v1.10}{2016/06/21}{增加了CQUThesis的开发工具Makefile和makewin.bat,现在它对\LaTeX 中高阶用户和开发者更加友好,文档也相应更新了。} +% \changes{v1.14}{2016/08/18}{改进了makewin.bat,默认的thesis选项加入了自动判定,如果dtx没有解包,程序会自动解包。这也就是说,新手可以在几乎所有情况下放心地通过双击makewin.bat来完成编译了。} % % \def\indexname{代码索引} % \def\glossaryname{更新记录} @@ -129,7 +133,8 @@ % \item 支持重庆大学本科(文学、理工)、硕士(学术、专业)、博士的毕业论文格式; % \item 内置封面、目录、索引、授权书等论文部件,可按需自动生成; % \item 自动侦测文档页数,生成相应的单面打印/双面打印PDF文件; -% \item 预置一批优化过的宏包和小功能,包含国际标准单位、化学式支持、三线表等,可按需开启。 +% \item 预置一批优化过的宏包和小功能,包含中英双语题注及配套图录、表录,国际标准单位、化学式支持、三线表等,可按需开启; +% \item 支持基于cwl文件的代码补全,makefile功能能够在Linux, Mac, Windows三平台通用。 % \end{itemize} % % 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处可以参考示例文档或者根据第~\ref{sec:howtoask}节说明提问,有兴趣者都可以参与完善此手册,也非常欢迎对代码的贡献。 @@ -141,16 +146,24 @@ % % \subsection{系统要求} % \label{sec:sysrequire} -% 本模板用到的宏包比较多,这些包在常见的\TeX{}发行版中都有,推荐使用\textbf{TeX Live},本模板在Windows和Mac环境下的\textbf{TeX Live}发行版中都进行了编译测试。 +% 本模板用到的宏包比较多,这些包在常见的\TeX{}发行版中都有,按照您操作系统的不同,您可以选择不同的\TeX{}发行版: +% \begin{itemize} +% \item Windows用户,推荐使用Mik \TeX ,这是一个专为Windows环境设计的\TeX 发行版,下载体积小,而且可以自主解决宏包依赖问题; +% \item Linux和Mac用户,推荐使用\TeX Live,这是一套大而全的\TeX{}发行版,考虑到使用这两个系统的用户动手能力相对较强,\TeX Live没法自己解决依赖这个问题应该不是很让人头疼\footnote{使用宏包管理器或者从CTAN获取依赖宏包。}。 +% \end{itemize} % -% 截止本文档编译时,本模板(\cquthesis)已经被收录到Mik\TeX 中。 +% 本模板在Windows和Mac环境下的TeX Live发行版中都进行了编译测试。 % % \note{在条件允许的情况下,强烈推荐您使用\XeTeX 引擎进行编译工作。} % % \subsection{获取\cquthesis} -% 请造访\cquthesis{ } \href{https://github.com/nanmu42/cquthesis}{Github主页}下载最新的版本。 -% -% 本宏包在CTAN官方库中也有镜像,镜像定期更新,可以\href{http://www.ctan.org/pkg/cquthesis}{造访这个页面}查看。 +% 您可通过三个主要途径获取\cquthesis : +% +% \begin{itemize} +% \item 造访\cquthesis{ } \href{https://github.com/nanmu42/CQUThesis/releases}{Github主页}下载最新的预发行版本,这是更新最快,功能最全的版本(含工具箱Toolkit); +% \item 访问本模板\href{http://www.ctan.org/pkg/cquthesis}{CTAN官方镜像}下载发行版,这个版本定期从预发行版本同步(不含工具箱Toolkit\footnote{这是出于许可证方面的考虑。}); +% \item 使用Mik \TeX 或\TeX Live的宏包管理功能直接获得本模板,这个方式不含模板示例文件。 +% \end{itemize} % % 除此之外,\cquthesis{}不拥有也不维护任何其他镜像。 % @@ -168,11 +181,13 @@ % \endfoot % \endlastfoot % cquthesis.ins & \textsc{DocStrip} 驱动文件(用于安装或更新) \\ -% cquthesis.dtx & \textsc{DocStrip} 源文件(用于安装或更新)\\\midrule +% cquthesis.dtx & \textsc{DocStrip} 源文件(用于安装或更新)\\ +% makefile & GNU make配置文件(Mac和Linux)\\ +% makewin.bat & Windows版make \\\midrule % cquthesis.cls & \LaTeX 模板文件\\ % cquthesis.cfg & 模板配置文件\\ % cqunumerical.bst & 参考文献样式文件\\ -% cquthesis.cwl & 代码自动补全配置文件\\\midrule +% cquthesis.cwl & 代码着色和自动补全配置文件\\\midrule % main.tex & 示例文档主文件\\ % contents/ & 示例文档章节具体内容\\ % figures/ & 示例文档图片路径\\ @@ -183,40 +198,62 @@ % \textbf{cquthesis.pdf} & 用户手册(本文档)\\\bottomrule % \end{longtable} % -% \note{\file{cquthesis.cls}和\file{cquthesis.cfg}以及\file{cqunumerical.bst}可以由\file{cquthesis.ins}和\file{cquthesis.dtx}生成。} +% \note{\file{cquthesis.cls}和\file{cquthesis.cfg}以及\file{cqunumerical.bst}可以由\file{cquthesis.ins}和\file{cquthesis.dtx}生成,从\cquthesis { }v1.10之后,\file{cquthesis.cls}和\file{cquthesis.cfg}不再做预先提取,这个工作交给用户,整个过程很简单,请见\ref{sec:install}节。} % % \subsection{安装} % \label{sec:install} +% 得益于GNU make和makewin.bat,\cquthesis 的安装十分便利。 % 下载\cquthesis{}的\file*{.zip}压缩包后请将整个文件夹解压出来,进入文件夹后: % \begin{itemize} -% \item Window用户请在文件夹空白处{\heiti 按住Shift键再点击书鼠标右键},选择“在此处打开命令窗口”,运行下列命令: +% \item Windows用户可以直接双击运行\file{makewin.bat}; % -% \begin{shell} -% latex cquthesis.ins -% \end{shell} -% \item Linux和Mac用户请在Bash窗口中进行如下操作: +% \item Linux和Mac用户请在Bash窗口中进行如下操作: % % \begin{shell} % cd cquthesis -% latex cquthesis.ins +% make thesis % \end{shell} %\end{itemize} % -% 之后将生成的文件放到\LaTeX{}能够侦测到的地方,安装即可完成。 +% 即可完成\cquthesis 的安装和示例文档的编译。 % % \subsection{升级} -% \cquthesis 的升级很方便,下载最新的开发版,将zip文件中的\file{cquthesis.dtx} 和\file{cquthesis.ins} 覆盖掉工作文件夹中的相应文件,之后再运行一次\ref{sec:install}节中的命令即可。 +% \cquthesis 的升级很方便,下载最新的开发版,将zip文件中的\file{cquthesis.dtx} 和\file{cquthesis.ins} 覆盖掉工作文件夹中的相应文件后: +% \begin{itemize} +% \item Windows用户请在文件夹空白处{\heiti 按住Shift键再点击书鼠标右键},选择“在此处打开命令窗口”,运行下列命令: +% +% \begin{shell} +% makewin extract +% \end{shell} +% +% \item Linux和Mac用户请在Bash窗口中进行如下操作: +% +% \begin{shell} +% cd cquthesis +% make cls +% \end{shell} +%\end{itemize} +% +% 即可完成\cquthesis 的升级。 % % \subsection{编译用户手册} -% 如果您需要编译用户手册,请定位到解压后的文件夹,运行下列命令: +% 如果您需要编译用户手册,请定位到解压后的文件夹: +% \begin{itemize} +% \item Windows用户请在文件夹空白处{\heiti 按住Shift键再点击书鼠标右键},选择“在此处打开命令窗口”,运行下列命令: +% % \begin{shell} -% xelatex cquthesis.dtx -% makeindex -s gind.ist -o cquthesis.ind cquthesis.idx -% makeindex -s gglo.ist -o cquthesis.gls cquthesis.glo -% xelatex cquthesis.dtx -% xelatex cquthesis.dtx +% makewin doc % \end{shell} % +% \item Linux和Mac用户请在Bash窗口中进行如下操作: +% +% \begin{shell} +% cd cquthesis +% make doc +% \end{shell} +%\end{itemize} +% +% \note{关于make命令和makewin命令的更多用法,请使用help命令进行查询,Windows用户请在命令行中运行makewin help,Linux和Mac用户请打开\file{Makefile}文件查看。} % \section{使用说明} % \label{sec:usage} % 本手册假定用户已经能处理一般的 \LaTeX{} 文档,并对\BibTeX{} 有一定了解。如果从来没有接触过 \TeX 和 \LaTeX,建议先学习相关的基础知识。磨刀不误砍柴工! @@ -257,6 +294,8 @@ % xelatex main % \end{shell} % +% \note{实际情况中,您只需使用make或者makewin就可以自动完成以上所有工作\footnote{make和makewin调用latexmk来完成编译工作,比示意的编译命令更加灵活,能够自主确定必要的编译次数,可以明显缩短编译时间。}。} +% % 下面是示例文件中主文件\file{main.tex}的内容: % % \lstinputlisting[style=lstStyleLaTeX]{main.tex} @@ -289,14 +328,24 @@ % \documentclass[type=master,proffesionalmaster=true,]{cquthesis} % \end{latex} % \DescribeOption{printmode=} -% 可选项,确定单双页打印模式,有三个值可用: +% 可选项,确定单双页打印模式,有三个值可用,默认采用自动判定(auto): % \begin{description} % \item[\option{auto}] 模板会按照学校要求和论文类型自动判定打印模式; % \item[\option{oneside}] 强制以单页模式打印,适合最后提交电子版时; % \item[\option{twoside}] 强制以双页模式打印。 % \end{description} -% -% 默认采用自动判定。 +% +% \DescribeOption{bilinguallist=} +% 从版本v1.12开始,\cquthesis 开始支持图、表、公式的中英双语题注。除此之外,就像您期待的那样,表录、图录、公式目录页有了自己的英文版本,它们全部按双语题注的内容自动生成。这是一个可选项,有三个值可用: +% \begin{description} +% \item[\option{off}] 缺省默认,模板不会生成表录、图录、公式目录的英文版本; +% \item[\option{combined}] 模板会生成表录、图录、公式目录的英文版本,它们会在中文版本中逐条嵌入; +% \item[\option{apart}] 模板会生成表录、图录、公式目录的英文版本,它们独立于中文版本,与其一同输出。 +% \end{description} +% +% 有关双语题注的用法和英文版本表录等文档部件的位置调整方式,请参阅第\ref{sec:bicaptions}节。 +% +% \note{以上三个选项仅与表录、图录、公式目录相关,不会影响双语题注的功能。} % % \DescribeOption{openany} % \DescribeOption{openright} @@ -429,6 +478,13 @@ % % \note{在\file{cover.tex}中自己用不上的字段可以坐视不理、注释、删除(随你意)。模板在v 0.9.7 版本后更新了运作机制,\textbf{不再需要}主动注释掉不需要的字段以获得正确的封面排版。} % +% \DescribeMacro{\cassistsupervisor} +% \DescribeMacro{\cextrasupervisor} +% \DescribeMacro{\eassistsupervisor} +% 本科毕业设计中,有的同学会有助理指导老师或者在校外进行毕业设计(常见于保研的同学),这时需要在论文封面上标注自己的“助理指导教师”或“校外指导教师”。在使用时需要注意:1.这三个字段中,不使用的项目要求留空为正反大括号;2.“助理指导教师”和“校外指导教师”的英文都填写在\cs{eassistsupervisor}中,如果两类指导老师同时存在(这个情况太少了),可以使用正反大括号括起,括号内以逗号分隔。 +% +% \note{这是v 1.14 版本中的新增功能。} +% % \DescribeMacro{\cmajor} % \DescribeMacro{\emajor} % 填写自己的专业名称,专硕不用这个字段。在专业名称太长的时候封面可能会不够美观,这时可以使用\cs{zihao}来调整这一个字段的字号大小。详情请见\file{cover.tex}。 @@ -558,6 +614,36 @@ % 生成原创说明和授权书,这个命令可以带一个\oarg{PDF文件地址}作为参数。这样,在您和您的导师签名之后,您可以单独扫描一下签过名的原创说明和授权书,以\cs{cquauthpage}\oarg{pdf文件地址}的形式将扫描页放入论文的PDF文件中的对应位置。 % % \subsection{宏包和特色功能} +% \subsubsection{双语题注} +% \label{sec:bicaptions} +% \DescribeMacro{\bicaption} +% 在学校的相关格式文件中,硕士生和博士生的表格和插图的题注需要中英对照,使用\cs{bicaption}\marg{中文题注}\marg{英文题注}命令代替\cs{caption}即可解决这个问题,示例如下: +% +% \begin{latex} +% \begin{figure}[tbh] +% \centering +% \includegraphics[width=0.7\linewidth]{figures/TEST} +% \bicaption{这是一张测试用图片}{This figure is for test only} +% \label{fig:cqubadge} +% \end{figure} +% \end{latex} +% +% 在题注很长的时候,为了防止题注对应的表录(或图录)的条目太长,可使用\cs{bicaption}\oarg{短中文}\marg{中文题注}\oarg{短英文}\marg{英文题注}来解决这个问题: +% \begin{latex} +% \begin{tabularx}{cc} +% \bicaption[这是表录中的段条目]{这是一个很长很长很长的中文题注,你可以写很多行}% +% [This is a really short one.]{Linebreak is for demostration only. It's okay to go without it.} +% \label{fig:cqubadge} +% 我 & 在\\ +% 测 & 试\\ +% \end{tabularx} +% \end{latex} +% \DescribeMacro{\eqlist} +% 重要算式列表\cs{eqlist}和\cs{listeq}命令从v1.12版本后也支持中英双语,用法是\cs{eqlist}\marg{中文}\oarg{英文},请注意括号。 +% +% 上面的这些用法都在\cquthesis 的示例文件中有所体现,供您参考。 +% +% \note{英文版本的重要算式列表需要在\option{bilinguallist=}\option{combined}或者\option{apart}时才会生效。另外,当且仅当在\option{bilinguallist=}\option{apart}时,\file{main.tex}中的\cs{listoffiguresEN},\cs{listoftablesEN}和\cs{listofequationsEN}才会发挥作用,此时您可以通过调整这些命令的位置来调整图录、表录、方程式列表各自之间以及中英文版本之间的顺序。} % \subsubsection{数学环境} % \label{sec:math} % \cquthesis{} 定义了常用的数学环境: @@ -673,23 +759,30 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesClass{cquthesis} %\ProvidesFile{cquthesis.cfg} -%[2016/06/09 v0.9.7 Chongqing University Thesis Template] +%[2016/08/18 v1.14 Chongqing University Thesis Template] % \end{macrocode} % 定义一些开发常量: % \begin{macrocode} %<*cls> \hyphenation{Cqu-Thesis} \newcommand{\cquthesis}{\textsc{CquThesis}} -\def\version{0.9.7} +\def\version{1.14} % % \end{macrocode} -% \file{cquthesis.cfg}有一些难以分类的常量: +% \file{cquthesis.cfg}中,涉及文档部件的部分常量: % \changes{v0.9.0}{2016/05/16}{把目录加入到了PDF书签中。} % \begin{macrocode} %<*cfg> \def\cqueqshortname {式} \def\cqu@denotation@name {主要符号对照表} +\def\shorttablename {表} +\def\shorttablenameEN {Table} +\def\shortfigurename {图} +\def\shortfigurenameEN {Figure} \def\listofequationsname {重要算式索引} +\def\listofequationsnameEN {\textbf{List of Equations}} +\def\listoffiguresnameEN {\textbf{List of Figures}} +\def\listoftablesnameEN {\textbf{List of Tables}} \def\cqu@bib@name {参考文献} \def\cqu@tocnameinbkmark {目{ }录} \newcommand{\parenthesesthis}[1]{(#1)} @@ -753,6 +846,16 @@ % \begin{macrocode} \DeclareBoolOption{continuoustoc} % \end{macrocode} +% 双语图录、表录、公式列表开关 +% \begin{macrocode} +\newif\if@bioff +\newif\if@bicombined +\newif\if@biapart +\@biofffalse\@bicombinedfalse\@biapartfalse +\define@key{cqu}{bilinguallist}{% + \@biofffalse\@bicombinedfalse\@biapartfalse + \expandafter\csname @bi#1true\endcsname} +% \end{macrocode} % 传递选项给CTeXBook % \begin{macrocode} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} @@ -796,6 +899,19 @@ \fi \fi % \end{macrocode} +% 如果没有正确指定图录表录的双语模式,取默认值off: +% \begin{macrocode} +\if@bioff\relax\else + \if@bicombined\relax\else + \if@biapart\relax\else + \kvsetkeys{cqu}{bilinguallist=off,} + \ClassWarning{cquthesis}% + {Unexpected or missing bilingual list mode, processing with OFF: \MessageBreak + bilinguallist=[off|combined|apart]}{} + \fi + \fi +\fi +% \end{macrocode} % \subsection{载入宏包} % % 使用成熟的宏包而不是自己造轮子几乎总是一个不错的选择,\LaTeX 的强大之处就在这诸多宏包。 @@ -825,8 +941,12 @@ % % 解决各种文档部件需求,如表格、题注、插图等 % \changes{v0.9.41}{2016/05/25}{修正了\pkg{tgcursor}使\cs{textbf}失效的Bug,现在起使用\pkg{courier}代替。} +% \changes{v1.12}{2016/07/06}{得益于\pkg{caption}和\pkg{bicaption}和\pkg{newfloat}三个宏包,\cquthesis 支持双语题注了。} % \begin{macrocode} +\RequirePackage{newfloat} +\RequirePackage{caption} \RequirePackage[labelformat=simple]{subcaption} +\RequirePackage{bicaption} \RequirePackage{array} \RequirePackage{tabularx} \RequirePackage{booktabs} @@ -1283,8 +1403,9 @@ \fi % % \end{macrocode} -%<*cfg> +% % \begin{macrocode} +%<*cfg> \sisetup{% list-final-separator = {和}, list-pair-separator = {和}, @@ -1325,9 +1446,9 @@ \setlength{\floatsep}{20bp \@plus4pt \@minus1pt} \setlength{\intextsep}{24bp \@plus4pt \@minus2pt} \setlength{\textfloatsep}{20bp \@plus4pt \@minus2pt} -\setlength{\@fptop}{0bp \@plus1.0fil} -\setlength{\@fpsep}{12bp \@plus2.0fil} -\setlength{\@fpbot}{0bp \@plus1.0fil} +\setlength{\@fptop}{6bp \@plus2bp} +\setlength{\@fpsep}{12bp \@plus2bp} +\setlength{\@fpbot}{6bp \@plus2bp} % \end{macrocode} % 让浮动对象缺省值更宽松 % \begin{macrocode} @@ -1369,11 +1490,12 @@ % \end{macro} % \end{macro} % 定制表格和插图的题注样式: +% \changes{v1.12}{2016/07/06}{题注的字体设置对中英文都进行了适配。} % \begin{macrocode} \def\cqu@tabular{\zihao{5}\@tabular} -\DeclareCaptionLabelFormat{cqu}{{\zihao{5}\songti #1~\rmfamily #2}} +\DeclareCaptionLabelFormat{cqu}{{\zihao{5}\rmfamily\songti \textbf{#1~#2}}} \DeclareCaptionLabelSeparator{cqu}{\hspace{\ccwd}} -\DeclareCaptionFont{cqu}{\zihao{5}} +\DeclareCaptionFont{cqu}{\zihao{5}\rmfamily\songti} \captionsetup{labelformat=cqu,labelsep=cqu,font=cqu} \captionsetup[table]{position=top,belowskip={12bp-\intextsep},aboveskip=6bp} \captionsetup[figure]{position=bottom,belowskip={12bp-\intextsep},aboveskip=6bp} @@ -1381,6 +1503,45 @@ \renewcommand{\thesubfigure}{(\alph{subfigure})} \renewcommand{\thesubtable}{(\alph{subtable})} % \end{macrocode} +% \begin{macro}{\bicaption} +% 这里对\cs{bicaption}这个命令进行设置,题注的第二语言默认为英文,用户可以重定义\cs{shorttablenameEN}和\cs{shortfigurenameEN} +% \begin{macrocode} +\captionsetup[bi-first]{bi-first} +\captionsetup[bi-second]{bi-second} +\DeclareCaptionOption{bi-first}[]{% +\def\tablename{\shorttablename} +\def\figurename{\shortfigurename} +}%bi-first +\DeclareCaptionOption{bi-second}[]{% + \def\tablename{\shorttablenameEN} + \def\figurename{\shortfigurenameEN} +}%bi-second +% \end{macrocode} +% \end{macro} +% \begin{macro}{\listoffiguresEN} +% \begin{macro}{\listoftablesEN} +% 按照三种不同情况进行不同的工作:1、如果不开启双语索引,则去掉命令作用,将创建出的list作为黑洞;2、要求中英文编录到一起时不分离索引文件: +% \begin{macrocode} +\DeclareFloatingEnvironment[fileext=lofEN]{figuresEN}[\shortfigurenameEN][\listoffiguresnameEN] +\DeclareFloatingEnvironment[fileext=lotEN]{tablesEN}[\shorttablenameEN][\listoftablesnameEN] +% \end{macrocode} +% 3、中英文分开编译 +% \begin{macrocode} +\if@bicombined\relax +\else + \captionsetup[bi-second]{listtype+=sEN} +\fi +\if@biapart\relax +\else + \AtBeginDocument{% + \let\listoffiguresEN\relax + \let\listoftablesEN\relax + \let\listofequationsEN\relax + }%AtBeginDocument +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} % 调整表格字号,调整每列之间的间距,单元格内垂直居中 % \begin{macrocode} \AtBeginEnvironment{tabularx}{\begingroup\zihao{5}} @@ -1403,16 +1564,20 @@ % % longtable方面也需要做设置 % \begin{macrocode} +\setlength{\LTpre}{\bigskipamount} +\setlength{\LTpost}{\bigskipamount} \let\cqu@LT@array\LT@array \def\LT@array{\zihao{5}\cqu@LT@array} % \end{macrocode} % % \subsubsection{代码环境} -% 载入\pkg{listings}宏包,定义基础代码环境: +% \begin{environment}{lstStyleBase} +% \changes{v1.00}{2016/06/17}{将代码环境的基础字号改为了\cs{footnotesize},原先的\cs{scriptsize}实在太小了。} +% 载入\pkg{listings}宏包,定义基础代码环境,注意这个环境只是个模板,没有提供直接使用的接口: % \begin{macrocode} \RequirePackage{listings} \lstdefinestyle{lstStyleBase}{% - basicstyle=\scriptsize\ttfamily, + basicstyle=\footnotesize\ttfamily, aboveskip=\medskipamount, belowskip=\medskipamount, lineskip=0pt, @@ -1454,6 +1619,7 @@ rulecolor=\color{cyan}, language=Python} % \end{macrocode} +% \end{environment} % \begin{environment}{Cplus} % \begin{environment}{Python} % \cquthesis 内置了两个代码环境,\env{Cplus}和\env{Python},您可以参照代码在\file{cquthesis.sty}中定义自己的环境。 @@ -1553,6 +1719,9 @@ \cqu@def@term{studentid} \cqu@def@term{csupervisor} \cqu@def@term{esupervisor} +\cqu@def@term{cassistsupervisor} +\cqu@def@term{cextrasupervisor} +\cqu@def@term{eassistsupervisor} \cqu@def@term{cpsupervisor} \cqu@def@term{epsupervisor} \cqu@def@term{cmajor} @@ -1619,12 +1788,14 @@ % \begin{macro}{\make@cover@CN} % \changes{v0.9.7}{2016/06/09}{使用\pkg{varwidth}代替了\pkg{pbox}。} % 基本上的思路是能复用就复用,姓名那几行分为左右两个\env{varwidth}: +% \changes{v1.00}{2016/06/17}{现在,标题中的英文和中文统一使用无衬线字体。} +% \changes{v1.14}{2016/08/18}{本科封面新增“助理指导教师”“校外指导教师”的字段,自动判定是否有输入,有则显示,无则不显示。} % \begin{macrocode} \newcommand{\make@cover@CN}{% \thispagestyle{style@empty} \begin{center} \rule{0mm}{15mm} - \heiti + \sffamily\heiti \ifcqu@bachelor \zihao{-2}\cqu@thesistypenameCN \\ \vspace{\stretch{1}} @@ -1648,6 +1819,8 @@ \cqu@studentCN\cqu@title@separatorCN\\ \cqu@studentnumCN\cqu@title@separatorCN\\ \cqu@supervisorCN\cqu@title@separatorCN\\ + \ifdefstring{\cqu@cassistsupervisor}{}{\relax}{{\zihao{5}\begin{CJKfilltwosides}{66bp}\cqu@assistsupervisorCN\end{CJKfilltwosides}}\hfill\cqu@title@separatorCN\\} + \ifdefstring{\cqu@cextrasupervisor}{}{\relax}{{\zihao{5}\begin{CJKfilltwosides}{66bp}\cqu@extrasupervisorCN\end{CJKfilltwosides}}\hfill\cqu@title@separatorCN\\} \cqu@majorCN\cqu@title@separatorCN \end{CJKfilltwosides} \end{varwidth} @@ -1670,9 +1843,13 @@ \zihao{3} \begin{varwidth}{\textwidth}% \mbox{\cqu@cauthor}\\ - \ifcqu@bachelor\mbox{\cqu@studentid}\\\fi + \ifcqu@bachelor\cqu@studentid\\\fi \cqu@csupervisor\\ %不要放在盒子里 \ifcqu@academic %这里有点复杂 + \ifcqu@bachelor + \ifdefstring{\cqu@cassistsupervisor}{}{\relax}{\cqu@cassistsupervisor\\} + \ifdefstring{\cqu@cextrasupervisor}{}{\relax}{\cqu@cextrasupervisor\\} + \fi \mbox{\cqu@cmajor} \ifcqu@bachelor\relax\else\\\cqu@cclass\fi \else @@ -1691,6 +1868,7 @@ % \subsubsection{绘制英文封面} % \begin{macro}{\make@cover@EN} % 英文封面由于不需要汉字两端对齐,相对来说排版难度低一些: +% \changes{v1.14}{2016/08/18}{“助理指导教师”“校外指导教师”的英文字段也相应添加,同样自动判定是否有输入来决定是否显示。} % \begin{macrocode} \newcommand{\make@cover@EN}{% \cleardoublepage @@ -1707,6 +1885,7 @@ \\ \vspace{\stretch{2}} \zihao{3}\textbf{\cqu@studentEN\cqu@title@separatorEN\mbox{\cqu@eauthor}}\\ \cqu@supervisorEN\cqu@title@separatorEN\mbox{\cqu@esupervisor}\\ + \ifdefstring{\cqu@eassistsupervisor}{}{\relax}{\cqu@assistsupervisorEN\cqu@title@separatorEN\mbox{\cqu@eassistsupervisor}\\} \cqu@majorEN\cqu@title@separatorEN\mbox{\cqu@emajor} \else \zihao{-1}\textbf{\cqu@etitle} @@ -1869,6 +2048,9 @@ \def\cqu@studentnumCN{学号} \def\cqu@supervisorCN{指导教师} \def\cqu@supervisorEN{Supervisor} + \def\cqu@assistsupervisorCN{助理指导教师} + \def\cqu@extrasupervisorCN{校外指导教师} + \def\cqu@assistsupervisorEN{Assistant Supervisor} \def\cqu@majorCN{专业} \def\cqu@majorEN{Major} \def\cqu@universitynameCN{重庆大学} @@ -1990,13 +2172,30 @@ \fi % \end{macrocode} % \subsubsection{公式索引} +% \begin{macro}{\listofequationsEN} +% 支持生成双语对照索引,分三个情况: % \begin{macrocode} \newlistof[chapter]{equations}{equ}{\listofequationsname} -\newcommand{\listeq}[1]{% - \addcontentsline{equ}{equations}{\protect\numberline{\theequation}#1}\par} +\newlistof[chapter]{equationsEN}{equEN}{\listofequationsnameEN} +\DeclareDocumentCommand{\listeq}{ m o }{% + \addcontentsline{equ}{equations}{\protect\numberline{\theequation}#1}\par + \IfNoValueTF{#2}{% + \relax + }{% + \if@bicombined + \addcontentsline{equ}{equations}{\protect\numberline{\theequation}#2}\par + \else + \if@biapart + \addcontentsline{equEN}{equationsEN}{\protect\numberline{\theequation}#2}\par + \fi + \fi + } +}%listeq \setlength{\cftequationsnumwidth}{2.5em} +\setlength{\cftequationsENnumwidth}{2.5em} \let\eqlist\listeq % \end{macrocode} +% \end{macro} % % 正确输出页眉页脚 % \begin{macrocode} @@ -2011,17 +2210,20 @@ % % 目录和索引标题居中,包含\cs{fixhead} % \changes{v0.9.0}{2016/05/16}{把目录加到了PDF书签中。} +% \changes{v1.12}{2016/07/06}{现在,目录、图录、表录、公式表的英文字体也采用了无衬线字。} % \begin{macrocode} %<*cls> \renewcommand{\cfttoctitlefont}{% - \phantomsection\pdfbookmark[0]{\cqu@tocnameinbkmark}{toc}\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftloftitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftlottitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftequtitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} + \phantomsection\pdfbookmark[0]{\cqu@tocnameinbkmark}{toc}\cqu@fixhead\hfill\bfseries\sffamily\heiti\zihao{3}} +\renewcommand{\cftloftitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftlottitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftequtitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftequENtitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} \renewcommand{\cftaftertoctitle}{\hfill} \renewcommand{\cftafterloftitle}{\hfill} \renewcommand{\cftafterlottitle}{\hfill} \renewcommand{\cftafterequtitle}{\hfill} +\renewcommand{\cftafterequENtitle}{\hfill} % \end{macrocode} % % 重写使用tocloft宏包情况下的目录和索引生成,每次生成新开一页 diff --git a/Master/texmf-dist/source/latex/cquthesis/makewin.bat b/Master/texmf-dist/source/latex/cquthesis/makewin.bat new file mode 100755 index 00000000000..b7a547cb29c --- /dev/null +++ b/Master/texmf-dist/source/latex/cquthesis/makewin.bat @@ -0,0 +1,136 @@ +@echo off + +set flag=%1 +if %flag%x == x ( + set flag=thesis +) + +if %flag%x == thesisx ( + call:thesis + goto:EOF +) +if %flag%x == thesisxx ( + call:thesisx + goto:EOF +) +if %flag%x == docx ( + call:extract + call:document + goto:EOF +) +if %flag%x == cleanx ( + call:cleanaux + goto:EOF +) +if %flag%x == cleanpdfx ( + call:cleanpdf + goto:EOF +) +if %flag%x == cleanallx ( + call:cleanaux + call:cleanpdf + goto:EOF +) +if %flag%x == extractx ( + call:extract + goto:EOF +) +if %flag%x == allx ( + call:thesis + call:document + goto:EOF +) +if %flag%x == buildx ( + call:extract + call:thesis + goto:EOF +) +if %flag%x == buildxx ( + call:extract + call:thesis + call:document + goto:EOF +) + +:help + echo ************************************************************* + echo This is the Makefile script for CQUThesis on Windows. + echo For CQUThesis: https://github.com/nanmu42/CQUThesis + echo by Zhennan Li (C) 2016 under LPPL 1.3 + echo The idea comes from Github Liam0205/sduthesis, Many thanks! + echo ************************************************************* + echo * + echo USAGE: + echo makewin [param] + echo param: + echo help Display this help text + echo thesis (default)Compile the thesis via latexmk + echo thesisx Compile the thesis via XeLaTeX(only if latexmk is not installed.) + echo doc Compile the documentation of CQUThesis + echo clean Clean all aux files + echo cleanpdf Clean all PDFs + echo cleanall Clean all aux files and all PDFs + echo extract Extract the Thesis Template from .dtx files. + echo all thesis + doc + echo build extract + thesis + echo buildx extract + thesis + doc + echo * + echo ***********************Happy TeXing************************** +goto:EOF + +:checkfiles + IF NOT EXIST cquthesis.cls call:extract + IF NOT EXIST cquthesis.cfg call:extract +goto:EOF + +:thesis + call:checkfiles + latexmk -xelatex main.tex +goto:EOF + +:thesisx + call:checkfiles + xelatex main.tex + bibtex main.tex + xelatex main.tex + xelatex main.tex + xelatex main.tex +goto:EOF + +:cleanaux + echo clean aux... + for %%i in (*.aux *.bbl *.equ *.glo *.gls *.hd *.idx *.ilg *.ind *.lof *.lot *.out *.blg *.log *.thm *.toc *.synctex.gz *.lofEN *.lotEN *.equEN) do ( + del %%i + ) + echo Done. +goto:EOF + +:cleanpdf + echo clean pdf... + for %%i in (*.pdf) do ( + del %%i + ) + echo Done. +goto:EOF + +:clean_all + call:cleanaux + call:cleanpdf +goto:EOF + +:extract + echo extracting... + latex cquthesis.ins + echo *******CQUThesis has been extracted.******** +goto:EOF + +:document + echo building documents... + set cmode=-interaction=batchmode + xelatex cquthesis.dtx + makeindex -s gind.ist -o cquthesis.ind cquthesis.idx + makeindex -s gglo.ist -o cquthesis.gls cquthesis.glo + xelatex cquthesis.dtx + xelatex cquthesis.dtx + xelatex cquthesis.dtx +goto:EOF diff --git a/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cfg b/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cfg index c31fb325562..763888259ff 100644 --- a/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cfg +++ b/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cfg @@ -22,10 +22,17 @@ %% This is the configuration file of the cquthesis package with LaTeX2e. %% \ProvidesFile{cquthesis.cfg} -[2016/06/09 v0.9.7 Chongqing University Thesis Template] +[2016/08/18 v1.14 Chongqing University Thesis Template] \def\cqueqshortname {式} \def\cqu@denotation@name {主要符号对照表} +\def\shorttablename {表} +\def\shorttablenameEN {Table} +\def\shortfigurename {图} +\def\shortfigurenameEN {Figure} \def\listofequationsname {重要算式索引} +\def\listofequationsnameEN {\textbf{List of Equations}} +\def\listoffiguresnameEN {\textbf{List of Figures}} +\def\listoftablesnameEN {\textbf{List of Tables}} \def\cqu@bib@name {参考文献} \def\cqu@tocnameinbkmark {目{ }录} \newcommand{\parenthesesthis}[1]{(#1)} @@ -199,6 +206,9 @@ range-phrase = {$ \sim $}, \def\cqu@studentnumCN{学号} \def\cqu@supervisorCN{指导教师} \def\cqu@supervisorEN{Supervisor} +\def\cqu@assistsupervisorCN{助理指导教师} +\def\cqu@extrasupervisorCN{校外指导教师} +\def\cqu@assistsupervisorEN{Assistant Supervisor} \def\cqu@majorCN{专业} \def\cqu@majorEN{Major} \def\cqu@universitynameCN{重庆大学} diff --git a/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cls b/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cls index 702854e3f7b..6445c6db8c0 100644 --- a/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cls +++ b/Master/texmf-dist/tex/latex/cquthesis/cquthesis.cls @@ -21,10 +21,10 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{cquthesis} -[2016/06/09 v0.9.7 Chongqing University Thesis Template] +[2016/08/18 v1.14 Chongqing University Thesis Template] \hyphenation{Cqu-Thesis} \newcommand{\cquthesis}{\textsc{CquThesis}} -\def\version{0.9.7} +\def\version{1.14} \RequirePackage{kvoptions} \SetupKeyvalOptions{ family=cqu, @@ -51,6 +51,13 @@ setkeys=\kvsetkeys} \DeclareBoolOption[false]{secret} \DeclareBoolOption[false]{seriftoc} \DeclareBoolOption{continuoustoc} +\newif\if@bioff +\newif\if@bicombined +\newif\if@biapart +\@biofffalse\@bicombinedfalse\@biapartfalse +\define@key{cqu}{bilinguallist}{% +\@biofffalse\@bicombinedfalse\@biapartfalse +\expandafter\csname @bi#1true\endcsname} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} \kvsetkeys{cqu}{} \ProcessKeyvalOptions* @@ -79,6 +86,16 @@ printmode=[oneside|twoside|auto]}{} \fi \fi \fi +\if@bioff\relax\else +\if@bicombined\relax\else +\if@biapart\relax\else +\kvsetkeys{cqu}{bilinguallist=off,} +\ClassWarning{cquthesis}% +{Unexpected or missing bilingual list mode, processing with OFF: \MessageBreak +bilinguallist=[off|combined|apart]}{} +\fi +\fi +\fi \RequirePackage{etoolbox} \RequirePackage{xparse} \RequirePackage{environ} @@ -90,7 +107,10 @@ printmode=[oneside|twoside|auto]}{} \RequirePackage{newtxmath} \RequirePackage{pifont} \RequirePackage{CJKfntef} +\RequirePackage{newfloat} +\RequirePackage{caption} \RequirePackage[labelformat=simple]{subcaption} +\RequirePackage{bicaption} \RequirePackage{array} \RequirePackage{tabularx} \RequirePackage{booktabs} @@ -277,9 +297,9 @@ text-micro = {\textmu}, \setlength{\floatsep}{20bp \@plus4pt \@minus1pt} \setlength{\intextsep}{24bp \@plus4pt \@minus2pt} \setlength{\textfloatsep}{20bp \@plus4pt \@minus2pt} -\setlength{\@fptop}{0bp \@plus1.0fil} -\setlength{\@fpsep}{12bp \@plus2.0fil} -\setlength{\@fpbot}{0bp \@plus1.0fil} +\setlength{\@fptop}{6bp \@plus2bp} +\setlength{\@fpsep}{12bp \@plus2bp} +\setlength{\@fpbot}{6bp \@plus2bp} \renewcommand{\textfraction}{0.15} \renewcommand{\topfraction}{0.85} \renewcommand{\bottomfraction}{0.65} @@ -305,15 +325,39 @@ text-micro = {\textmu}, \fi} } \def\cqu@tabular{\zihao{5}\@tabular} -\DeclareCaptionLabelFormat{cqu}{{\zihao{5}\songti #1~\rmfamily #2}} +\DeclareCaptionLabelFormat{cqu}{{\zihao{5}\rmfamily\songti \textbf{#1~#2}}} \DeclareCaptionLabelSeparator{cqu}{\hspace{\ccwd}} -\DeclareCaptionFont{cqu}{\zihao{5}} +\DeclareCaptionFont{cqu}{\zihao{5}\rmfamily\songti} \captionsetup{labelformat=cqu,labelsep=cqu,font=cqu} \captionsetup[table]{position=top,belowskip={12bp-\intextsep},aboveskip=6bp} \captionsetup[figure]{position=bottom,belowskip={12bp-\intextsep},aboveskip=6bp} \captionsetup[sub]{font=cqu,skip=6bp} \renewcommand{\thesubfigure}{(\alph{subfigure})} \renewcommand{\thesubtable}{(\alph{subtable})} +\captionsetup[bi-first]{bi-first} +\captionsetup[bi-second]{bi-second} +\DeclareCaptionOption{bi-first}[]{% +\def\tablename{\shorttablename} +\def\figurename{\shortfigurename} +}%bi-first +\DeclareCaptionOption{bi-second}[]{% +\def\tablename{\shorttablenameEN} +\def\figurename{\shortfigurenameEN} +}%bi-second +\DeclareFloatingEnvironment[fileext=lofEN]{figuresEN}[\shortfigurenameEN][\listoffiguresnameEN] +\DeclareFloatingEnvironment[fileext=lotEN]{tablesEN}[\shorttablenameEN][\listoftablesnameEN] +\if@bicombined\relax +\else +\captionsetup[bi-second]{listtype+=sEN} +\fi +\if@biapart\relax +\else +\AtBeginDocument{% +\let\listoffiguresEN\relax +\let\listoftablesEN\relax +\let\listofequationsEN\relax +}%AtBeginDocument +\fi \AtBeginEnvironment{tabularx}{\begingroup\zihao{5}} \AtEndEnvironment{tabularx}{\endgroup} \setlength{\tabcolsep}{12pt} @@ -321,11 +365,13 @@ text-micro = {\textmu}, \newcommand{\bigcell}[1]{\vspace{6pt}\begin{varwidth}{\linewidth}#1\end{varwidth}\vspace{6pt}} \newcommand{\headcell}[1]{\multicolumn{1}{c}{\heiti #1}} \newcommand{\colsep}[1][12pt]{\setlength{\tabcolsep}{#1}} +\setlength{\LTpre}{\bigskipamount} +\setlength{\LTpost}{\bigskipamount} \let\cqu@LT@array\LT@array \def\LT@array{\zihao{5}\cqu@LT@array} \RequirePackage{listings} \lstdefinestyle{lstStyleBase}{% -basicstyle=\scriptsize\ttfamily, +basicstyle=\footnotesize\ttfamily, aboveskip=\medskipamount, belowskip=\medskipamount, lineskip=0pt, @@ -417,6 +463,9 @@ language=Python} \cqu@def@term{studentid} \cqu@def@term{csupervisor} \cqu@def@term{esupervisor} +\cqu@def@term{cassistsupervisor} +\cqu@def@term{cextrasupervisor} +\cqu@def@term{eassistsupervisor} \cqu@def@term{cpsupervisor} \cqu@def@term{epsupervisor} \cqu@def@term{cmajor} @@ -445,7 +494,7 @@ language=Python} \thispagestyle{style@empty} \begin{center} \rule{0mm}{15mm} -\heiti +\sffamily\heiti \ifcqu@bachelor \zihao{-2}\cqu@thesistypenameCN \\ \vspace{\stretch{1}} @@ -469,6 +518,8 @@ language=Python} \cqu@studentCN\cqu@title@separatorCN\\ \cqu@studentnumCN\cqu@title@separatorCN\\ \cqu@supervisorCN\cqu@title@separatorCN\\ +\ifdefstring{\cqu@cassistsupervisor}{}{\relax}{{\zihao{5}\begin{CJKfilltwosides}{66bp}\cqu@assistsupervisorCN\end{CJKfilltwosides}}\hfill\cqu@title@separatorCN\\} +\ifdefstring{\cqu@cextrasupervisor}{}{\relax}{{\zihao{5}\begin{CJKfilltwosides}{66bp}\cqu@extrasupervisorCN\end{CJKfilltwosides}}\hfill\cqu@title@separatorCN\\} \cqu@majorCN\cqu@title@separatorCN \end{CJKfilltwosides} \end{varwidth} @@ -491,9 +542,13 @@ language=Python} \zihao{3} \begin{varwidth}{\textwidth}% \mbox{\cqu@cauthor}\\ -\ifcqu@bachelor\mbox{\cqu@studentid}\\\fi +\ifcqu@bachelor\cqu@studentid\\\fi \cqu@csupervisor\\ %不要放在盒子里 \ifcqu@academic %这里有点复杂 +\ifcqu@bachelor +\ifdefstring{\cqu@cassistsupervisor}{}{\relax}{\cqu@cassistsupervisor\\} +\ifdefstring{\cqu@cextrasupervisor}{}{\relax}{\cqu@cextrasupervisor\\} +\fi \mbox{\cqu@cmajor} \ifcqu@bachelor\relax\else\\\cqu@cclass\fi \else @@ -521,6 +576,7 @@ language=Python} \\ \vspace{\stretch{2}} \zihao{3}\textbf{\cqu@studentEN\cqu@title@separatorEN\mbox{\cqu@eauthor}}\\ \cqu@supervisorEN\cqu@title@separatorEN\mbox{\cqu@esupervisor}\\ +\ifdefstring{\cqu@eassistsupervisor}{}{\relax}{\cqu@assistsupervisorEN\cqu@title@separatorEN\mbox{\cqu@eassistsupervisor}\\} \cqu@majorEN\cqu@title@separatorEN\mbox{\cqu@emajor} \else \zihao{-1}\textbf{\cqu@etitle} @@ -664,20 +720,36 @@ itemindent = 0mm, \renewcommand{\cftsubsecfont}{\zihao{5}} \fi \newlistof[chapter]{equations}{equ}{\listofequationsname} -\newcommand{\listeq}[1]{% -\addcontentsline{equ}{equations}{\protect\numberline{\theequation}#1}\par} +\newlistof[chapter]{equationsEN}{equEN}{\listofequationsnameEN} +\DeclareDocumentCommand{\listeq}{ m o }{% +\addcontentsline{equ}{equations}{\protect\numberline{\theequation}#1}\par +\IfNoValueTF{#2}{% +\relax +}{% +\if@bicombined +\addcontentsline{equ}{equations}{\protect\numberline{\theequation}#2}\par +\else +\if@biapart +\addcontentsline{equEN}{equationsEN}{\protect\numberline{\theequation}#2}\par +\fi +\fi +} +}%listeq \setlength{\cftequationsnumwidth}{2.5em} +\setlength{\cftequationsENnumwidth}{2.5em} \let\eqlist\listeq \tocloftpagestyle{style@normal} \renewcommand{\cfttoctitlefont}{% -\phantomsection\pdfbookmark[0]{\cqu@tocnameinbkmark}{toc}\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftloftitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftlottitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} -\renewcommand{\cftequtitlefont}{\cqu@fixhead\hfill\heiti\zihao{3}} +\phantomsection\pdfbookmark[0]{\cqu@tocnameinbkmark}{toc}\cqu@fixhead\hfill\bfseries\sffamily\heiti\zihao{3}} +\renewcommand{\cftloftitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftlottitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftequtitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} +\renewcommand{\cftequENtitlefont}{\cqu@fixhead\hfill\sffamily\heiti\zihao{3}} \renewcommand{\cftaftertoctitle}{\hfill} \renewcommand{\cftafterloftitle}{\hfill} \renewcommand{\cftafterlottitle}{\hfill} \renewcommand{\cftafterequtitle}{\hfill} +\renewcommand{\cftafterequENtitle}{\hfill} \ifcqu@continuoustoc\relax\else \renewcommand{\@cfttocstart}{\clearpage} \renewcommand{\@cfttocfinish}{\clearpage} -- cgit v1.2.3