diff options
Diffstat (limited to 'macros/latex/contrib/pkuthss/doc/readme')
12 files changed, 226 insertions, 267 deletions
diff --git a/macros/latex/contrib/pkuthss/doc/readme/ChangeLog.txt b/macros/latex/contrib/pkuthss/doc/readme/ChangeLog.txt index f1f002704c..57eac504ca 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/ChangeLog.txt +++ b/macros/latex/contrib/pkuthss/doc/readme/ChangeLog.txt @@ -1,3 +1,25 @@ +2019-11-15, v1.8.1 + + * Changes to example template: + - Migrate to latexmk (also for packaging). + - ctex-fontset-pkuthss.def: `[ simkai.ttf ]' etc is no longer supported. + - spine.tex: fix garbled characters and hbox warnings with pdflatex. + + * Changes to package code: + - pkuthss.cls: work around the `\lvert already defined' error. + - pkuthss.cls: fix section title spacing below the page header. + - pkuthss.cls: adjust titlepage spacing. + + * Changes to documentation: + - Synchronise with the current code. + - Use \mbox around \supercite by default. + - Improve verbatims. + + * Misc: + - Completion of some previous commits. + - Migrate to Gitea, "for obvious reasons". + - Minor fixes and cosmetics. + 2018-07-02, v1.8.0 * Changes to example template: diff --git a/macros/latex/contrib/pkuthss/doc/readme/Makefile b/macros/latex/contrib/pkuthss/doc/readme/Makefile deleted file mode 100644 index 8835cd28e6..0000000000 --- a/macros/latex/contrib/pkuthss/doc/readme/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2008-2009 solvethis -# Copyright (c) 2010-2012,2014-2015,2018 Casper Ti. Vector -# Public domain. - -JOB = pkuthss -BIBTEX = biber -l zh__pinyin --output-safechars -DVIPDF = dvipdfmx -MAKE = make -RM = rm -f - -ifndef LATEX - LATEX1 = latex - LATEX2 = xelatex -else - LATEX1 = $(LATEX) - LATEX2 = $(LATEX) -endif - -ifeq ($(LATEX), latex) - DODVIPDF = $(DVIPDF) $(JOB) -endif - -doc: - $(LATEX1) $(JOB) - $(BIBTEX) $(JOB) - $(LATEX2) $(JOB) - $(LATEX2) $(JOB) - $(DODVIPDF) - -clean: - $(RM) $(JOB).aux $(JOB).bbl $(JOB).bcf $(JOB).blg $(JOB).dvi \ - $(JOB).lof $(JOB).log $(JOB).lot $(JOB).run.xml $(JOB).toc \ - $(JOB).out $(JOB).out.bak missfont.log texput.log chap/*.aux - -distclean: clean - $(RM) $(JOB).pdf - -# vim:ts=4:sw=4 diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap1.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap1.tex index 3eaa29114b..2e5152ece5 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap1.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap1.tex @@ -1,7 +1,7 @@ % Documentation for pkuthss. % % Copyright (c) 2008-2009 solvethis -% Copyright (c) 2010-2018 Casper Ti. Vector +% Copyright (c) 2010-2019 Casper Ti. Vector % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3 of this license or (at @@ -33,24 +33,23 @@ \begin{itemize} \item 一个基本的 \hologo{TeX} 发行版。 \item CJK 或 XeCJK(供 \hologo{XeLaTeX} 使用)宏包。 - \item ctex\supercite{ctex} 宏包(提供了 ctexbook 文档类)。 + \item ctex\cupercite{ctex} 宏包(提供了 ctexbook 文档类)。 \item 中文字体。 \item 如果要使用 biblatex 进行文献列表和引用的排版的话, - 还需要 biblatex\supercite{biblatex} 宏包; + 还需要 biblatex\cupercite{biblatex} 宏包; \item 如果要对中文文献进行按汉语拼音的排序的话, - 还需要 biber\supercite{biber} 程序。 + 还需要 biber\cupercite{biber} 程序。 \item 如果使用默认的文献列表和引用样式的话,还需要作者编写的 biblatex 样式 - (biblatex-caspervector\supercite{biblatex-caspervector}), + (biblatex-caspervector\cupercite{biblatex-caspervector}), 此样式要求使用 biber 程序。 - \item 如果须要使用 Makefile 来实现自动编译,还需要 Make 工具; - 但如果使用由批处理实现的伪“Makefile”就不用了。 + \item 如果须要使用 latexmk 来实现自动编译,还需要 latexmk 工具。 \end{itemize} \myemph{最新}的\myemph{完全版} \hologo{TeX} Live 系统(\myemph{% 注:某些 Linux 发行版软件仓库中的 \hologo{TeX} Live 有问题, 建议使用独立安装版的 \hologo{TeX} Live% \unemph{\footnote{\url{https://www.tug.org/texlive/}.}}。% -})都已经包含除中文字体和 Make 之外所有要求的项目。% +})都已经包含除中文字体之外所有要求的项目。% \myemph{% 为了获得最好的支持, 我们建议用户使用最新、完全版的 \hologo{TeX} 系统和各宏包。% @@ -66,22 +65,16 @@ 这些字体是 GB18030 字符集的,不存在上述问题。% } -Linux 用户可以从软件源获得 GNU 的 make; -其它类 UNIX 系统应该也会提供 make 工具,请参阅相应的文档以获得帮助。% -Windows 用户可以从以下地址下载 Windows 下的 GNU make 工具:\\ -\hspace*{\parindent}% -\url{http://gnuwin32.sourceforge.net/packages/make.htm} - \section{模版文件}\label{sec:doc-dir} 在正确安装 pkuthss 文档模版之后,在终端/命令提示符中执行 -\begin{Verbatim}[frame = single] +\begin{Verbatim} texdoc pkuthss \end{Verbatim} 所打开的 pdf 文件所在的同一目录中包含两个子目录和相应的两个 pdf 文件, 其中 \verb|readme/| 为说明文档(即本文档)的源代码,% \verb|example/| 为文档模版的源代码,% -\verb|readme.pdf| 和 \verb|example.pdf| +\verb|pkuthss.pdf| 和 \verb|example.pdf| 分别为说明文档和文档模版的 pdf 文件。 \verb|example/| 目录下的源代码使用的是 UTF-8 编码, @@ -98,44 +91,32 @@ texdoc pkuthss 因此 pkuthss 文档模版的作者建议用户使用支持 LF 换行的文本编辑器编辑文件。% } -模版中的重要文件有: +模版中的关键文件有: \begin{itemize} - \item \verb|Makefile|: - 被 Make 工具调用的 Makefile,用于使编译工作自动化。 + \item \verb|ctexopts.cfg|、\verb|ctex-fontset-pkuthss.def|: + 比较常用的字体配置,适用于 2.0 及以后版本的 + ctex\cupercite{ctex} 宏包。 + \item \verb|latexmkrc|: + 被 latexmk 工具读取的配置文件,用于使编译工作自动化。 \item \verb|Make.bat|:% - Windows 下的伪“Makefile”,用 Windows 批处理实现。 + 方便 Windows 用户使用的批处理文件,会调用 latexmk。 + \item \verb|spine.tex|:书脊的源文件,具体用法请参考其中代码。 + \item \verb|thesis.tex|:示例模版的主文件。 \item \verb|chap/|:目录,包含各章节内容: \begin{itemize} - \item \verb|copyright.tex|:版权声明部分。 - \item \verb|originauth.tex|: - 原创性声明和使用授权说明部分\supercite{pku-originauth}。 + \item \verb|copy.tex|:版权声明部分。 + \item \verb|origin.tex|: + 原创性声明和使用授权说明部分\cupercite{pku-originauth}。 \end{itemize} \myemph{% - 注:pkuthss 文档模版支持排版学校要求的二维码, - 请参考 \texttt{copyright.tex} 和 - \texttt{originauth.tex} 中的相关注释。% + 注:pkuthss 文档模版可排版学校要求的二维码, + 请参考 \texttt{copy.tex} 和 \texttt{origin.tex} 中的相关注释。% } - - \item \verb|misc/|: - 目录,目前包含比较常用的字体配置: - \begin{itemize} - \item \verb|ctexopts.cfg|、\verb|ctex-fontset-pkuthss.def|: - 适用于 2.0 及以后版本的 ctex\supercite{ctex} 宏包。 - \item \verb|ctex-xecjk-windows.def|: - 适用于 2.0 以前版本的 ctex 宏包。 - \end{itemize} - 使用时, - 请将和用户系统中 ctex 宏包版本相匹配的\myemph{所有}配置文件 - 复制到模版的主目录中。 \end{itemize} \section{编译方式}\label{sec:compile} -首次编译前,请将 \verb|misc/| 目录中和用户系统中 -ctex 宏包版本相匹配的配置文件复制到模版的主目录中, -详见第 \ref{sec:doc-dir} 节。 - pkuthss 文档模版支持三种编译方式,即 \begin{itemize} \item \hologo{LaTeX} -- dvipdfmx 方式:\\ @@ -149,42 +130,36 @@ pkuthss 文档模版支持三种编译方式,即 \verb|xelatex| 和 \verb|xelatex|。 \end{itemize} \myemph{% - 注意:\hologo{XeLaTeX} 对非 UTF-8 编码的支持不好, + 注意:在特定情形下,\texttt{latex}/\texttt{pdflatex}/\texttt{xelatex} + 步骤可能须要执行多于 2 次,而下文推荐的 latexmk 工具会自动处理这类情形。 + 此外,\hologo{XeLaTeX} 对非 UTF-8 编码的支持不好, 因此 \hologo{XeLaTeX} 方式的编译不支持 GBK 编码。% } -pkuthss 文档模版附带的 Makefile 中已经对这三种编译方式进行了完整的配置。 -用户只须要在 Makefile 中通过设定变量 \verb|JOB| 的值指定被编译的主文件名, -并通过设定变量 \verb|LATEX| 的值指定采用哪种编译方式, -即可通过在主文件所在目录调用 Make 工具来实现自动编译: -如果是在类 UNIX 环境下,则用户应该调用的命令名为 \verb|make|: -\begin{Verbatim}[frame = single] +pkuthss 文档模版附带的 \verb|latexmkrc| 中已经对这三种编译方式进行了完整的 +配置。用户只须要在 \verb|latexmkrc| 中通过设定变量 \verb|default_files| +的值指定被编译的主文件名,并通过设定变量 \verb|pdf_mode| 的值指定采用 +哪种编译方式,即可通过在主文件所在目录调用 latexmk 工具来实现自动编译: +类 UNIX 环境下大致如下 +\begin{Verbatim} cd /path/to/directory/with/thesis.tex -make +latexmk \end{Verbatim} -而如果是在 Windows 环境下,则用户应该调用的命令名可能为 \verb|mingw32-make|: -\begin{Verbatim}[frame = single] +而在 Windows 环境下大致如下 +\begin{Verbatim} cd \path\to\directory\with\thesis.tex -mingw32-make +latexmk \end{Verbatim} -用户如果不想配置 Windows 下的 GNU Make, -则也可以使用由 Windows 批处理实现的伪“Makefile”, -通过在主文件所在目录调用 \verb|make|\footnote{% - Windows 将批处理文件作为可执行文件,调用时可以不显式地指出扩展名。% -}: -\begin{Verbatim}[frame = single] -cd \path\to\directory\with\thesis.tex -make -\end{Verbatim} -\myemph{% +Windows 用户也可以使用批处理文件 \verb|Make.bat|: +在主文件所在目录双击此文件,它便会调用 latexmk 进行编译。\myemph{% 注意:% Windows 批处理对于 LF(\texttt{\string\n})换行的批处理文件支持有问题。 在命令提示符(cmd)下执行这些批处理文件时没有问题, 但双击文件图标执行时可能就会出错。 \hologo{TeX} Live 中安装的 \texttt{Make.bat} 和 CTAN 上提供的压缩包里的 \texttt{Make.bat} - 有可能是 LF(\texttt{\string\n})换行的。% + 在正常情况下应该是 CRLF(\texttt{\string\r\string\n})换行的。% } % vim:ts=4:sw=4 diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap2.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap2.tex index 1ab1b3e9cd..4455b376b7 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap2.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap2.tex @@ -1,7 +1,7 @@ % Documentation for pkuthss. % % Copyright (c) 2008-2009 solvethis -% Copyright (c) 2010-2018 Casper Ti. Vector +% Copyright (c) 2010-2019 Casper Ti. Vector % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3 of this license or (at @@ -46,7 +46,7 @@ }。 \item \textbf{\texttt{[no]pkufont}}: - 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}% + 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}% 将西文字体改为类似于 Times New Roman / Arial 的字体。 \item \textbf{\texttt{[no]pkufoot}}\footnote{% @@ -54,7 +54,7 @@ \texttt{[no]footfmt} 选项; 更改名称是为了使文档类选项名更加规则。% }: - 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}% + 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}% 修改和脚注相关的一些格式。 具体地说,启用 \verb|pkufoot| 选项后会进行以下几项设置: \begin{itemize} @@ -64,7 +64,7 @@ \end{itemize} \item \textbf{\texttt{[no]pkuspace}}: - 是否根据学校对论文格式的要求\mbox{\supercite{pku-thesisstyle}}% + 是否根据学校对论文格式的要求\cupercite{pku-thesisstyle}% 修改排版中的一些间距及相关设置。 具体地说,启用 \verb|pkuspace| 选项后会按 \parencite{pku-thesisstyle} 中的要求修改以下几项设置: @@ -89,8 +89,6 @@ 是否采用一些常用的调整间距的额外版式设定。 具体地说,启用 \verb|spacing| 选项后会进行以下几项设置: \begin{itemize} - \item 自动忽略 CJK 文字之间的空白而 - 保留(CJK 文字与西文之间等的)其它空白。 \item 调用 setspace 宏包以使某些细节处的空间安排更美观。 \item 采用比 \hologo{LaTeX} 默认设定更加紧密的枚举环境% \footnote{% @@ -100,6 +98,7 @@ 启用 \texttt{spacing} 选项后, 将去掉这些环境中额外增加的(垂直)间隔。% }。 + \item 调整枚举环境的缩进,以适应中文排版中的习惯。 \end{itemize} \item \textbf{\texttt{[no]spechap}}\footnote{% @@ -139,13 +138,13 @@ 例如,如果须要使用 UTF-8 编码撰写论文, 则应在载入 pkuthss 文档类时加上 \verb|UTF8| 选项: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \documentclass[UTF8, ...]{pkuthss} % “...”代表其它的选项。 \end{Verbatim} 又例如,文档默认情况下是双面模式,每章都从右页(奇数页)开始。 如果希望改成一章可以从任意页开始,可以这样设置: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \documentclass[openany, ...]{pkuthss} % 每章从任意页开始。 \end{Verbatim} @@ -153,7 +152,7 @@ \subsection{设定文档信息的命令} 这一类命令的语法为 -\begin{Verbatim}[frame = single] +\begin{Verbatim} \commandname{具体信息} % commandname 为具体命令的名称。 \end{Verbatim} @@ -176,7 +175,7 @@ \end{itemize} 例如,如果要设定专业为“化学”(“Chemistry”),则可以使用以下命令: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \cmajor{化学} \emajor{Chemistry} \end{Verbatim} @@ -184,7 +183,7 @@ \subsection{自身存储文档信息的命令} 这一类命令的语法为 -\begin{Verbatim}[frame = single] +\begin{Verbatim} % commandname 为具体的命令名。 \renewcommand{\commandname}{具体信息} \end{Verbatim} @@ -202,7 +201,7 @@ 例如, 如果要设定论文的类别为“本科生毕业论文”(“Undergraduate Thesis”), 则可以使用以下命令: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \renewcommand{\cthesisname}{本科生毕业论文} \renewcommand{\ethesisname}{Undergraduate Thesis} \end{Verbatim} @@ -210,7 +209,7 @@ \subsection{以“key = value”格式设置文档信息} 用户可以通过 \verb|\pkuthssinfo| 命令集中设定文档信息,其语法为: -\begin{Verbatim}[frame = single] +\begin{Verbatim} % key1、key2、value1、value2 等为具体文档信息的项目名和内容。 \pkuthssinfo{key1 = value1, key2 = value2, ...} \end{Verbatim} @@ -224,7 +223,7 @@ } 例如,前面提到的文档信息的设置可以集中地写成: -\begin{Verbatim}[frame = single, tabsize = 4] +\begin{Verbatim} \pkuthssinfo{ ..., % “...”代表其它的设定。 cthesisname = {本科生毕业论文}, @@ -260,46 +259,46 @@ \section{从其它文档类和宏包继承的功能}\label{sec:thirdparty} -pkuthss 文档类建立在 ctexbook\supercite{ctex} 文档类之上, -并调用了 geometry\supercite{geometry}、fancyhdr\supercite{fancyhdr}、% -hyperref\supercite{hyperref}、graphicx\supercite{graphicx} -和 ulem\supercite{ulem} 等几个宏包。 +pkuthss 文档类建立在 ctexbook\cupercite{ctex} 文档类之上, +并调用了 geometry\cupercite{geometry}、fancyhdr\cupercite{fancyhdr}、% +hyperref\cupercite{hyperref}、graphicx\cupercite{graphicx} +和 ulem\cupercite{ulem} 等几个宏包。 因此,ctexbook 文档类和这些宏包所提供的功能均可以使用。 例如,用户如果想将目录的标题改为“目{\quad\quad}录”, 则可以使用 ctexbook 文档类提供的 \verb|\ctexset| 命令: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \ctexset[contentsname = {目{\quad\quad}录}] \end{Verbatim} 在默认的配置下,% -pkuthss 文档模版使用作者编写的 biblatex\supercite{biblatex} 样式% -\mbox{\supercite{biblatex-caspervector}}进行参考文献和引用的排版, +pkuthss 文档模版使用作者编写的 biblatex\cupercite{biblatex} 样式% +\cupercite{biblatex-caspervector}进行参考文献和引用的排版, 用户可以使用它以及 biblatex 本身所提供的功能。 例如,用户可以分别使用 \verb|\cite|、\verb|\parencite| 和 \verb|\supercite| 生成未格式化的、带方括号的和上标且带方括号的引用标记: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \cite{ctex},\parencite{ctex},\supercite{ctex} \end{Verbatim} 在本文中将产生“\cite{ctex},\parencite{ctex},\supercite{ctex}”。 -就目前而言,在\myemph{除 3.0--3.3 之外版本的} biblatex 中, -通过更复杂的设置,还可以满足例如被引用的文献按照引用顺序排序, +就目前而言,在 biblatex 中,通过更复杂的设置, +还可以满足例如被引用的文献按照引用顺序排序, 而未引用的文献按照西文文献在前、中文文献在后排序这样的需求, -详见 biblatex-caspervector 的文档\supercite{biblatex-caspervector}。 +详见 biblatex-caspervector 的文档\cupercite{biblatex-caspervector}。 除此之外,pkuthss 文档类还可能调用以下这些宏包: \begin{itemize} \item 启用 \verb|pkufont| 选项时会调用 - newtxtext 和 newtxmath\supercite{newtx} 宏包, - 否则会调用 latexsym\supercite{latexsym} 宏包。 + newtxtext 和 newtxmath\cupercite{newtx} 宏包, + 否则会调用 latexsym\cupercite{latexsym} 宏包。 \item 启用 \verb|pkufoot| 选项时会调用 - tikz\supercite{tikz} 和 scrextend\supercite{scrextend} 宏包。 + tikz\cupercite{tikz} 和 scrextend\cupercite{scrextend} 宏包。 \item 启用 \verb|pkuspace| 选项时会调用 - tocloft\supercite{tocloft}、caption\supercite{caption} 和 - subcaption\supercite{subcaption} 宏包。 + tocloft\cupercite{tocloft}、caption\cupercite{caption} 和 + subcaption\cupercite{subcaption} 宏包。 \item 启用 \verb|spacing| 选项时会调用 setspace 和 - enumitem\supercite{enumitem} 宏包。 + enumitem\cupercite{enumitem} 宏包。 \end{itemize} 因此在启用相应选项时,用户可以使用对应宏包所提供的功能。 @@ -311,7 +310,7 @@ pkuthss 文档模版的实现是简洁、清晰、灵活的。 通过修改 pkuthss 文档类的源文件进行自定义。 在目前常用的 \hologo{TeX} 系统中, 假设 pkuthss 的说明文档所在目录具有下述形式的路径: -\begin{Verbatim}[frame = single] +\begin{Verbatim} # 说明文档所在目录($TEXMFDIST 的形式见下面几行): $TEXMFDIST/doc/latex/pkuthss/ # 若用户使用 Windows 下的 TeX Live 系统,则 $TEXMFDIST 一般类似于: @@ -320,7 +319,7 @@ C:\texlive\2015\texmf-dist /usr/local/texlive/2015/texmf-dist \end{Verbatim} 则其源文件所在目录应该位于以下目录: -\begin{Verbatim}[frame = single] +\begin{Verbatim} $TEXMFDIST/tex/latex/pkuthss/ \end{Verbatim} @@ -340,16 +339,16 @@ $TEXMFDIST/tex/latex/pkuthss/ 此时,用户可以修改 \verb|pkuthss.cls| 里 \verb|\maketitle| 定义中 \verb|\thss@int@fillinblank| 宏的参数来改变 带下划线的空白的行数和行宽,其语法为: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \thss@int@fillinblank{行数}{行宽}{内容} \end{Verbatim} 例如,如果“研究方向”一栏需要两行的空白, 可以将 \verb|pkuthss.cls| 里的 -\begin{Verbatim}[frame = single] +\begin{Verbatim} \thss@int@fillinblank{1}{\thss@tmp@len}{\kaishu\@direction} \end{Verbatim} 改为 -\begin{Verbatim}[frame = single] +\begin{Verbatim} \thss@int@fillinblank{2}{\thss@tmp@len}{\kaishu\@direction} \end{Verbatim} 当然,为了美观,可以将多于一行的部分移到封面中作者信息部分的最下方。 diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap3.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap3.tex index bde028dd98..77de4b0461 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap3.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-chap3.tex @@ -1,7 +1,7 @@ % Documentation for pkuthss. % % Copyright (c) 2008-2009 solvethis -% Copyright (c) 2010-2018 Casper Ti. Vector +% Copyright (c) 2010-2019 Casper Ti. Vector % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3 of this license or (at @@ -46,7 +46,7 @@ 可能引起一些问题,详见第 \ref{sec:req} 节。 Windows 批处理对于 LF(\texttt{\string\n})换行的批处理文件支持有问题, -解决方式见第 \ref{sec:compile} 节。 +诊断方式见第 \ref{sec:compile} 节。 Windows 的“记事本”程序在查看 LF(\texttt{\string\n}) 换行的文本文件时存在着一些问题, 因此建议用户使用支持 LF 换行的文本编辑器编辑文件, @@ -54,41 +54,22 @@ Windows 的“记事本”程序在查看 LF(\texttt{\string\n}) \section{上游宏包可能引起的问题} -biblatex\supercite{biblatex} 宏包会自行设定 \verb|\bibname|, +biblatex\cupercite{biblatex} 宏包会自行设定 \verb|\bibname|, 故会覆盖通过 \verb|\ctexset| 设定的参考文献列表标题。 使用 biblatex 的用户可以使用 \verb|\printbibliography| 的 \verb|title| 选项来手动设定参考文献列表的标题,例如: -\begin{Verbatim}[frame = single] +\begin{Verbatim} \printbibliography[title = {文献}, ...] % “...”为其它选项。 \end{Verbatim} -hyperref\supercite{hyperref} 宏包和一些宏包可能发生冲突。 +hyperref\cupercite{hyperref} 宏包和一些宏包可能发生冲突。 关于如何避免这些冲突, 可以参考 hyperref 宏包 README 文件中的“Package Compatibility”一节。 此文件通常和执行 \verb|texdoc hyperref| 时打开的 pdf 文件位于同一目录中。 -使用 \hologo{XeLaTeX} 的用户可能在已经安装字体的情况下遇到形如(其中 -\verb|xxxxxxxx| 为具体字体名) -\begin{Verbatim}[frame = single, fontsize = {\small}] -! fontspec error: "font-not-found" -! The font "xxxxxxxx" cannot be found. -! See the fontspec documentation for further information. -! For immediate help type H <return>. -\end{Verbatim} -的错误。 -这种错误一般是(主要是非 Windows 平台的)用户采用了自定义的 -(包括大小写不同于原文件的)字体文件名, -并改动 \verb|ctex.cfg| 等配置文件之后没有在调用 -pkuthss 文档类时加入 \verb|nofonts| 选项, -又使用 \verb|xelatex| 编译造成的,使用 -\begin{Verbatim}[frame = single] -\documentclass[nofonts, ...]{pkuthss} % “...”代表其它的选项。 -\end{Verbatim} -即可解决此问题。 - biber 运行时有一定概率出现形如(目录名可能稍有不同) -\begin{Verbatim}[frame = single, fontsize = {\small}] +\begin{Verbatim} data source .../par-xxxxxxxx/cache-xxxxxxxx/ inc/lib/Biber/LaTeX/recode_data.xml not found in . \end{Verbatim} @@ -98,25 +79,29 @@ data source .../par-xxxxxxxx/cache-xxxxxxxx/ 遇到这种情况时,删除掉上述临时目录及其所有内容, 再重新运行 biber 通常便可解决问题。 -caption\supercite{caption} 宏包对于其不认识的宏包均会提示 -\begin{Verbatim}[frame = single, fontsize = {\small}] -Package caption Warning: Unsupported document class (or package) detected, -(caption) usage of the caption package is not recommended. -See the caption package documentation for explanation. +就目前而言,amsthm\cupercite{amsthm} 宏包在后于 newtxmath\cupercite{newtx} +宏包被调用时会导致以下的错误: +\begin{Verbatim} +! LaTeX Error: Command \openbox already defined. + Or name \end... illegal, see p.192 of the manual. +\end{Verbatim} +解决此问题的最简单方法是在通过 +\begin{Verbatim} +\usepackage{amsthm} +\end{Verbatim} +调用 amsthm 宏包之前加入以下命令: +\begin{Verbatim} +\let\openbox\relax \end{Verbatim} -pkuthss 文档模版基于 ctexbook 文档类,而后者基于标准的 book 文档类, -因此这个警告并不影响用户正常使用\footnote{% - \url{http://bbs.ctex.org/forum.php?mod=redirect&goto=findpost&ptid=63117&pid=402145}.% -}。 \section{文档格式可能存在的问题} -学校对学位论文格式的规定\mbox{\supercite{pku-thesisstyle}}% +学校对学位论文格式的规定\cupercite{pku-thesisstyle}% 显然没有考虑到非 MS Word 类排版工具的工作方式, 因此 pkuthss 文档模版只是对其要求的格式进行模仿, 而在一些小的细节上可能有所出入。 -biblatex-caspervector\supercite{biblatex-caspervector} 所实现的格式和 +biblatex-caspervector\cupercite{biblatex-caspervector} 所实现的格式和 \parencite{pku-thesisstyle} 的规定并不一致, 但其作者暂时没有精力也不愿意去实现后者所规定的比原格式更丑陋得多的格式。 @@ -124,7 +109,7 @@ biblatex-caspervector\supercite{biblatex-caspervector} 所实现的格式和 关于 pkuthss 文档模版的意见和建议, 请在北大未名 BBS 的 MathTools 版或 pkuthss 项目主页的 issue tracker% -\footnote{\url{https://gitlab.com/CasperVector/pkuthss/issues}.}% +\footnote{\url{https://gitea.com/CasperVector/pkuthss/issues}.}% 上提出, 或通过电子邮件\footnote% {\href{mailto:CasperVector@gmail.com}{\texttt{CasperVector@gmail.com}}.}% diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-copy.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-copy.tex index 74b2cc186a..736ee4c298 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-copy.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-copy.tex @@ -31,14 +31,14 @@ 版权所有 \copyright\ 2008--2009 solvethis \par -版权所有 \copyright\ 2010--2017 Casper Ti. Vector +版权所有 \copyright\ 2010--2019 Casper Ti. Vector \vskip 1em pkuthss 文档类及其说明文档均以 \hologo{LaTeX} Project Public License 发布。 随 pkuthss 提供的模版源代码中,除以下文件 \begin{itemize} - \item \verb|chap/copyright.tex| - \item \verb|chap/originauth.tex| + \item \verb|chap/copy.tex| + \item \verb|chap/origin.tex| \end{itemize} 以 New BSD License 发布, 以及参考文献和引用列表使用的样式文件版权声明见相应文件中说明以外, diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-encl1.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-encl1.tex index 30c397b6e1..f87f67472f 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-encl1.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-encl1.tex @@ -30,14 +30,10 @@ \raggedbottom \section{1.3 版以后的更新记录} -\VerbatimInput[ - tabsize = 4, fontsize = {\small}, baselinestretch = 1 -]{ChangeLog.txt} +\VerbatimInput{ChangeLog.txt} \section{1.3 及其以前版本的更新记录} -\VerbatimInput[ - tabsize = 4, fontsize = {\small}, baselinestretch = 1.1 -]{ChangeLog-upto-1.3.txt} +\VerbatimInput[baselinestretch = 1.1]{ChangeLog-upto-1.3.txt} \flushbottom diff --git a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-intro.tex b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-intro.tex index db16f7776b..c5485c2a3f 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-intro.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/chap/pkuthss-intro.tex @@ -1,7 +1,7 @@ % Documentation for pkuthss. % % Copyright (c) 2008-2009 solvethis -% Copyright (c) 2010-2012,2014-2015,2018 Casper Ti. Vector +% Copyright (c) 2010-2012,2014-2015,2018-2019 Casper Ti. Vector % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3 of this license or (at @@ -33,7 +33,7 @@ pkuthss 文档模版由三部分构成: \begin{itemize} \item \textbf{pkuthss 文档类}: - 其中根据学校的格式规范\mbox{\supercite{pku-thesisstyle}}% + 其中根据学校的格式规范\cupercite{pku-thesisstyle}% 实现了学位论文所需的基本格式要求, 主要包括对排版格式的设定和提供设置论文信息的命令; 此外也实现了学位论文中用户可能较多用到的一些额外功能, @@ -43,7 +43,7 @@ pkuthss 文档模版由三部分构成: 说明文档即本文档, 在安装(见第 \ref{sec:req} 节)之后应该可以用 \hologo{TeX} 系统提供的 \verb|texdoc| 命令调出: -\begin{Verbatim}[frame = single] +\begin{Verbatim} texdoc pkuthss \end{Verbatim} \item \textbf{论文模版}: @@ -52,16 +52,16 @@ texdoc pkuthss 用户只须按照模版中的框架修改代码,即可写出自己的论文。 \end{itemize} -在此之前,包括 dypang\supercite{dypang}、FerretL\supercite{FerretL}、% -lwolf\supercite{lwolf}、Langpku\supercite{Langpku}、% -solvethis\supercite{solvethis} 等的数位网友均做过学位论文模版的工作。 +在此之前,包括 dypang\cupercite{dypang}、FerretL\cupercite{FerretL}、% +lwolf\cupercite{lwolf}、Langpku\cupercite{Langpku}、% +solvethis\cupercite{solvethis} 等的数位网友均做过学位论文模版的工作。 本论文模版是 solvethis 的 pkuthss 模版的更新版本, 更新的重点是重构和对新文档类、宏包的支持。 pkuthss 文档模版现在的维护者是 Casper Ti. Vector\footnote% {\href{mailto:CasperVector@gmail.com}{\texttt{CasperVector@gmail.com}}.}。% -pkuthss 文档模版目前托管在 GitLab 上, +pkuthss 文档模版目前托管在 Gitea 上, 其项目主页是:\\ -\hspace*{\parindent}\url{https://gitlab.com/CasperVector/pkuthss} +\hspace*{\parindent}\url{https://gitea.com/CasperVector/pkuthss} % vim:ts=4:sw=4 diff --git a/macros/latex/contrib/pkuthss/doc/readme/latexmkrc b/macros/latex/contrib/pkuthss/doc/readme/latexmkrc new file mode 100644 index 0000000000..0f25b84f67 --- /dev/null +++ b/macros/latex/contrib/pkuthss/doc/readme/latexmkrc @@ -0,0 +1,10 @@ +# Copyright (c) 2019 Casper Ti. Vector +# Public domain. + +@default_files = ('pkuthss'); +$pdf_mode = 5; +$dvipdf = "dvipdfmx %O -o %D %S"; +$bibtex_use = 1.5; +$biber = "biber -l zh__pinyin --output-safechars %O %S"; +$clean_ext = "run.xml"; + diff --git a/macros/latex/contrib/pkuthss/doc/readme/pkuthss-english.patch b/macros/latex/contrib/pkuthss/doc/readme/pkuthss-english.patch index a4c13c0357..67174bdfbc 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/pkuthss-english.patch +++ b/macros/latex/contrib/pkuthss/doc/readme/pkuthss-english.patch @@ -1,12 +1,12 @@ diff --git a/doc/example/chap/abs.tex b/doc/example/chap/abs.tex -index b930654..cfa6cd3 100644 +index 305792f..cfa6cd3 100644 --- a/doc/example/chap/abs.tex +++ b/doc/example/chap/abs.tex @@ -2,7 +2,7 @@ % Public domain. \begin{cabstract} -- \pkuthssffaq % 中文测试文字 +- \pkuthssffaq % 中文测试文字。 + 中文摘要。 \end{cabstract} @@ -100,13 +100,14 @@ index ac5b0c9..9d2ad60 100644 - % vim:ts=4:sw=4 diff --git a/doc/example/thesis.tex b/doc/example/thesis.tex -index d7a575f..baed091 100644 +index 30e05de..4d6ee53 100644 --- a/doc/example/thesis.tex +++ b/doc/example/thesis.tex -@@ -14,53 +14,44 @@ - % 其它用户不用加入 nofonts 选项,加入之后反而会产生错误。 - \documentclass[UTF8]{pkuthss} - +@@ -16,54 +16,44 @@ + % 如果的确须要使脚注按页编号的话,可以去掉后面 footmisc 包的注释。 + % 注意:在启用此设定的情况下,可能要多编译一次以产生正确的脚注编号。 + %\usepackage[perpage]{footmisc} +- -% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex-caspervector 的文档)。 -% 这里按照西文文献在前,中文文献在后排序(“sorting = ecnyt”); -% 若须按照中文文献在前,西文文献在后排序,请设置“sorting = cenyt”; @@ -116,10 +117,10 @@ index d7a575f..baed091 100644 +% 使用 biblatex 排版参考文献,并规定其格式(详见 biblatex 的文档)。 +\usepackage[backend = biber]{biblatex} - % 按学校要求设定参考文献列表中的条目之内及之间的距离。 - \setlength{\bibitemsep}{3bp} % 对于 linespread 值的计算过程有兴趣的同学可以参考 pkuthss.cls。 \renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont} + % 按学校要求设定参考文献列表的段间距。 + \setlength{\bibitemsep}{3bp} +\ctexset{ + contentsname = {Contents}, @@ -180,21 +181,12 @@ index d7a575f..baed091 100644 \begin{document} % 以下为正文之前的部分,默认不进行章节编号。 \frontmatter -@@ -94,7 +85,7 @@ - \appendix - % 排版参考文献列表。bibintoc 选项使“参考文献”出现在目录中; - % 如果同时要使参考文献列表参与章节编号,可将“bibintoc”改为“bibnumbered”。 -- \printbibliography[heading = bibintoc] -+ \printbibliography[heading = bibintoc, title = Reference] - % 各附录。 - \include{chap/encl1} - diff --git a/tex/pkuthss-utf8.def b/tex/pkuthss-utf8.def -index c2c951b..d453918 100644 +index b699685..e4e58b6 100644 --- a/tex/pkuthss-utf8.def +++ b/tex/pkuthss-utf8.def @@ -25,13 +25,13 @@ - [2017/03/01 v1.7.4 Labels and captions in UTF-8 encoding + [2018/07/02 v1.8.0 Labels and captions in UTF-8 encoding for the pkuthss document class] -\def\label@ctitle{题目:} @@ -215,10 +207,10 @@ index c2c951b..d453918 100644 \def\label@ckeywords{关键词:} \def\label@ekeywords{KEYWORDS:\ } diff --git a/tex/pkuthss.cls b/tex/pkuthss.cls -index 6208799..a785d69 100644 +index 9e68dc3..4b8cb00 100644 --- a/tex/pkuthss.cls +++ b/tex/pkuthss.cls -@@ -300,7 +300,7 @@ +@@ -301,7 +301,7 @@ \fancyhf{}\renewcommand*{\headrulewidth}{0.75bp} \fancyfoot[C]{\zihao{5}\normalfont{\thepage}} \if@twoside @@ -227,49 +219,49 @@ index 6208799..a785d69 100644 \fancyhead[CO]{\zihao{5}\normalfont\thss@int@setcase{\leftmark}} \else \fancyhead[C]{\zihao{5}\normalfont\thss@int@setcase{\leftmark}} -@@ -349,13 +349,13 @@ - \zihao{1}% - \includegraphics[height = 2.4em]{pkulogo}\hspace{0.4em}% - \raisebox{0.4em}{\includegraphics[height = 1.6em]{pkuword}}\\[0.8em] -- {\bfseries{\cthesisname}}% -+ {\bfseries{\ethesisname}}% - } - \vfill - % Title of the thesis. - {% - \zihao{2}{\label@ctitle}% -- \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@ctitle}}% -+ \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@etitle}}% - } - \vfill - % Information about the author. -@@ -363,19 +363,19 @@ - % Slightly adjust the line skip when using new font size. - \zihao{3}\linespread{1.75}\selectfont - \def\thss@tmp@len{0.56\textwidth} -- \begin{tabular}{l@{\extracolsep{0.2em}}c} -- {\bfseries\label@cauthor} & -- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cauthor} \\ -- {\bfseries\label@studentid} & -+ \begin{tabular}{c@{\extracolsep{0.2em}}c@{\extracolsep{0.2em}}c} -+ {\bfseries\label@cauthor} & : & -+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@eauthor} \\ -+ {\bfseries\label@studentid} & : & - \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@studentid} \\ -- {\bfseries\label@school} & -+ {\bfseries\label@school} & : & - \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@school} \\ -- {\bfseries\label@cmajor} & -- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmajor} \\ -- {\bfseries\label@direction} & -+ {\bfseries\label@cmajor} & : & -+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@emajor} \\ -+ {\bfseries\label@direction} & : & - \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@direction} \\ -- {\bfseries\label@cmentor} & -- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmentor} \\ -+ {\bfseries\label@cmentor} & : & -+ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@ementor} \\ - \end{tabular}% - } - \vfill +@@ -347,13 +347,13 @@ + \zihao{1}% + \includegraphics[height = 2.4em]{pkulogo}\hspace{0.4em}% + \raisebox{0.4em}{\includegraphics[height = 1.6em]{pkuword}}\\[0.8em] +- {\bfseries{\cthesisname}}% ++ {\bfseries{\ethesisname}}% + } + \vfill + % Title of the thesis. + {% + \zihao{2}{\label@ctitle}\linespread{1.6}\selectfont% +- \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@ctitle}}% ++ \thss@int@fillinblank{2}{0.64\textwidth}{\textbf{\@etitle}}% + } + \vfill + % Information about the author. +@@ -361,19 +361,19 @@ + % Slightly adjust the line skip when using new font size. + \zihao{3}\linespread{1.75}\selectfont + \def\thss@tmp@len{0.56\textwidth} +- \begin{tabular}{l@{\extracolsep{0.2em}}c} +- {\bfseries\label@cauthor} & +- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cauthor} \\ +- {\bfseries\label@studentid} & ++ \begin{tabular}{c@{\extracolsep{0.2em}}c@{\extracolsep{0.2em}}c} ++ {\bfseries\label@cauthor} & : & ++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@eauthor} \\ ++ {\bfseries\label@studentid} & : & + \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@studentid} \\ +- {\bfseries\label@school} & ++ {\bfseries\label@school} & : & + \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@school} \\ +- {\bfseries\label@cmajor} & +- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmajor} \\ +- {\bfseries\label@direction} & ++ {\bfseries\label@cmajor} & : & ++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@emajor} \\ ++ {\bfseries\label@direction} & : & + \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@direction} \\ +- {\bfseries\label@cmentor} & +- \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@cmentor} \\ ++ {\bfseries\label@cmentor} & : & ++ \thss@int@fillinblank{1}{\thss@tmp@len}{\fangsong\@ementor} \\ + \end{tabular}% + } + \vfill diff --git a/macros/latex/contrib/pkuthss/doc/readme/pkuthss.bib b/macros/latex/contrib/pkuthss/doc/readme/pkuthss.bib index ea9e83124a..a85359a66e 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/pkuthss.bib +++ b/macros/latex/contrib/pkuthss/doc/readme/pkuthss.bib @@ -1,3 +1,14 @@ +@online{amsthm, + author = {{Publications Technical Group, American Mathematical Society}}, + title = {Using the amsthm Package}, + edition = {Ver.\ 2.20.3}, + type = {M/OL}, + date = {2017-09}, + url = {https://ctan.org/pkg/amsthm}, + urldate = {2019-11-15}, + language = {english}, +} + @online{biber, author = {Kime, Philip and Charette, Fran\c{c}ois}, title = {Biber: A backend bibliography processor for biblatex}, diff --git a/macros/latex/contrib/pkuthss/doc/readme/pkuthss.tex b/macros/latex/contrib/pkuthss/doc/readme/pkuthss.tex index bf0cd252a0..70989bac57 100644 --- a/macros/latex/contrib/pkuthss/doc/readme/pkuthss.tex +++ b/macros/latex/contrib/pkuthss/doc/readme/pkuthss.tex @@ -1,7 +1,7 @@ % Documentation for pkuthss. % % Copyright (c) 2008-2009 solvethis -% Copyright (c) 2010-2016,2018 Casper Ti. Vector +% Copyright (c) 2010-2016,2018-2019 Casper Ti. Vector % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3 of this license or (at @@ -31,18 +31,25 @@ backend = biber, style = caspervector, utf8, sorting = ecnyt, giveninits = true, sortgiveninits = true ]{biblatex} -\usepackage{fancyvrb, hologo} +\usepackage{iftex, fancyvrb, hologo} -\setlength{\hfuzz}{3pt} +\hypersetup{colorlinks = true, allcolors = blue} \ctexset{linestretch = 2\ccwd} -\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont} +\setlength{\hfuzz}{3pt} \setlength{\bibitemsep}{3bp} +\renewcommand*{\bibfont}{\zihao{5}\linespread{1.27}\selectfont} -\hypersetup{colorlinks = true, allcolors = blue} +\newcommand*{\cupercite}[1]{\supercite{#1}\mbox{}} \newcommand{\myemph}[1]{\emph{\textcolor{red}{#1}}} \newcommand{\unemph}[1]{\textup{\textcolor{black}{#1}}} -\newcommand{\docversion}{v1.8.0} +\RecustomVerbatimEnvironment{Verbatim}{Verbatim}% + {frame = single, tabsize = 4, formatcom = {\ifXeTeX\xeCJKVerbAddon\fi}} +\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}{ + fontsize = {\small}, baselinestretch = 1, + tabsize = 4, formatcom = {\ifXeTeX\xeCJKVerbAddon\fi} +} +\newcommand*{\docversion}{v1.8.0} \pkuthssinfo{ cthesisname = {本科生毕业论文}, ethesisname = {Undergraduate Thesis}, ctitle = {北京大学学位论文模版\\pkuthss \docversion}, @@ -53,7 +60,7 @@ cauthor = {盖茨波·钛·维克托}, eauthor = {Casper Ti.\ Vector}, studentid = {00910???}, - date = {\zhdigits{2018}年\zhnumber{7}月}, + date = {\zhdigits{2019} 年 \zhnumber{11} 月}, school = {化学与分子工程学院}, cmajor = {化学(?)}, emajor = {Chemistry ... ?}, direction = {据说 Casper 自己也不知道}, |