Fix error caused by chinese character immediately after a command, namely `quad'.

Use more elegant hyperref handling ported from ctex.
Load the natbib package by default.
Bump version number to `1.3 beta2'.
This commit is contained in:
Casper Ti. Vector 2011-06-25 18:08:23 +00:00
parent d00d8b6c7a
commit 3be755d2a2
8 changed files with 45 additions and 37 deletions

View File

@ -1,6 +1,6 @@
# vim:ft=make:ts=4:sw=4
PROJECT = pkuthss-1.3beta1
PROJECT = pkuthss-1.3beta2
SOURCES = tex/ doc/
DEST_UTF8LF = $(PROJECT)-utf8lf
DEST_GBKCRLF = $(PROJECT)-gbkcrlf

View File

@ -1,4 +1,4 @@
2011/4/8ver 1.3 beta1包括前面所有 alpha 版本):
2011/4/15ver 1.3 beta2包括前面所有 alpha 和 beta 版本):
--- 进一步重构,
将核心设置集中于 pkuthss 文档类中,
常见的额外设置集中于 pkuthss-extra 宏包中。

View File

@ -246,31 +246,17 @@
pkuthss 文档类建立在 ctexbook\cite{ctex} 文档类的基础上,
并调用了 CJKfntef、%
graphicx\cite{graphicx}、geometry\cite{geometry} %
fancyhdr\cite{fancyhdr} 等几个宏包。
graphicx\cite{graphicx}、geometry\cite{geometry}%
fancyhdr\cite{fancyhdr} 和 natbib\cite{natbib} 等几个宏包。
因此ctexbook 文档类和这些宏包所提供的功能均可以使用。
例如,用户如果想将目录的标题改为“目\quad\quad录”,
例如,用户如果想将目录的标题改为“目{\quad\quad}录”,
则可以使用 ctexbook 文档类提供的 \verb|\CTEXoptions| 命令:
\begin{Verbatim}[frame=single]
\CTEXoptions{contentsname={\quad\quad}}
\CTEXoptions{contentsname={{\quad\quad}}}
\end{Verbatim}
pkuthss-extra 宏包可能调用以下这些宏包:
\begin{itemize}
\item 启用 \verb|spacing| 选项时会调用 %
setspace 和 footmisc\cite{footmisc} 宏包。
\item 启用 \verb|tightlist| 选项时会调用 %
enumitem\cite{enumitem}%
natbib\cite{natbib} 宏包。
\item 启用 \verb|tocbibind| 选项时会调用 %
tocbibind\cite{tocbibind} 宏包。
\item 启用 \verb|upcite| 选项时会调用 %
natbib\cite{natbib} 宏包。
\end{itemize}
因此在启用相应选项时,用户可以使用对应宏包所提供的功能。
例如,用户有时可能需要使用非上标的引用标记,
又例如,用户有时可能需要使用非上标的引用标记,
此时可以使用 natbib 宏包提供的相关命令,
例如在本文档中的以下代码
\begin{Verbatim}[frame=single]
@ -278,6 +264,17 @@
\end{Verbatim}
将产生“文献 \citenum{ctex} 中提到”。
pkuthss-extra 宏包可能调用以下这些宏包:
\begin{itemize}
\item 启用 \verb|spacing| 选项时会调用 %
setspace 和 footmisc\cite{footmisc} 宏包。
\item 启用 \verb|tightlist| 选项时会调用 %
enumitem\cite{enumitem} 宏包。
\item 启用 \verb|tocbibind| 选项时会调用 %
tocbibind\cite{tocbibind} 宏包。
\end{itemize}
因此在启用相应选项时,用户可以使用对应宏包所提供的功能。
\subsection{不建议更改的设置}
\emph{%
pkuthss 文档类中有一些一旦改动就有可能破坏预设排版规划的设置,

View File

@ -11,6 +11,11 @@
可以参考 hyperref 宏包的 README 文件。
此文件通常和执行 \verb|texdoc hyperref| %
时打开的 pdf 文件位于同一目录中。
低于 1.02c 版本的 ctex 宏包中对 hyperref 的设置有些不周,
因此文档类中对其进行了一些手动的处理。
考虑到新版本 ctex 宏包将逐渐被更多人采用,
进行这些处理的代码将在以后被删除,
而改成直接调用 ctex 宏包的 \verb|hyperref| 选项。
当启用 natbib 宏包的 \verb|super| 选项时,
\verb|\citenum| 命令生成的引用序号前会有一个额外的空格。

View File

@ -11,7 +11,7 @@
% 提供 Verbatim 环境和 \VerbatimInput 命令。
\usepackage{fancyvrb}
% pkuthss 文档模版的版本。
\newcommand{\docversion}{v1.3 beta1}
\newcommand{\docversion}{v1.3 beta2}
% 参考文献格式。
\bibliographystyle{ref/chinesebst-mod}

View File

@ -90,7 +90,7 @@
@MISC{FerretL,
AUTHOR = "FerretL",
TITLE = "新的pku博士论文模板",
TITLE = "新的 pku 博士论文模板",
URL = "http://bdwm.net/a.php?b/Thesis/M.1174982168.A/4270722.rar",
YEAR = "2007",
LANGUAGE = "Chinese",
@ -98,7 +98,7 @@
@MISC{lwolf,
AUTHOR = "lwolf",
TITLE = "学士(硕/博)毕业论文模板[基于dypang的模板]",
TITLE = "学士(硕/博)毕业论文模板 [基于 dypang 的模板]",
URL = "http://bdwm.net/a.php?b/MathTools/M.1179239165.A/5A2D5A2.rar",
YEAR = "2007",
LANGUAGE = "Chinese",

View File

@ -24,7 +24,7 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{pkuthss-extra}
[2011/04/08 v1.3 beta1 Extra settings for pkuthss document class]
[2011/04/15 v1.3 beta2 Extra settings for pkuthss document class]
% 检查对 pkuthss 文档类的依赖是否满足。
\@ifclassloaded{pkuthss}{}{
@ -83,7 +83,6 @@
\RequirePackage{enumitem}
\setlist{nolistsep}
% 参考文献的条目间隔往往显得较大,此处取消其额外增加的(垂直)间隔。
\RequirePackage{natbib}
\setlength{\bibsep}{\parsep}
\fi
@ -112,7 +111,6 @@
\ifpkuthss@extraopt@upcite
% 使引用标记默认成为上标。
\RequirePackage{natbib}
\setcitestyle{super,square,comma}
\fi

View File

@ -24,7 +24,7 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{pkuthss}
[2011/04/08 v1.3 beta1 Peking University dissertation document class]
[2011/04/15 v1.3 beta2 Peking University dissertation document class]
%
\newif\ifpkuthss@opt@gbk \pkuthss@opt@gbktrue
@ -50,6 +50,9 @@
\RequirePackage{graphicx}[1999/02/16]
% 便使
\RequirePackage{geometry}
% 便使
% 使)
\RequirePackage[numbers]{natbib}
%
\ifpkuthss@opt@extra\RequirePackage{pkuthss-extra}\fi
@ -71,23 +74,28 @@
%
% ctex ctex-common.def
% 使 ctex hyperref setspace
% XXX:
% 使 ctex hyperref 1.02c ctex
% hyperref setspace
% ctex 2013 Casper
% :) ctexbook
% hyperref
\providecommand\hypersetup[1]{\PassOptionsToPackage{#1}{hyperref}}
\AtEndPreamble{\@ifpackageloaded{hyperref}{}{\RequirePackage{hyperref}}}
\ifxetex
\RequirePackage{hyperref}
\hypersetup{xetex,unicode}
\else
\ifpdf
\RequirePackage[pdftex]{hyperref}
\hypersetup{pdftex}
\else
\ifCTEX@GBK
\hypersetup{dvipdfmx}
\ifpkuthss@opt@gbk
\AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}}
\fi
\RequirePackage[dvipdfmx]{hyperref}
\fi
\ifCTEX@GBK
\hypersetup{CJKbookmarks=true}
\ifpkuthss@opt@gbk
\hypersetup{CJKbookmarks}
\else
\hypersetup{unicode=true}
\hypersetup{unicode}
\fi
\fi
}