From 1927ebbe0621fbca8bf2c12796dc99cfeafdeb25 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 1 Mar 2017 22:31:29 +0000
Subject: pkuthss (1mar17)

git-svn-id: svn://tug.org/texlive/trunk@43374 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls | 97 ++++++++++++-------------
 1 file changed, 45 insertions(+), 52 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls')

diff --git a/Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls b/Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls
index 6d2789cac3f..d449071a4bc 100644
--- a/Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls
+++ b/Master/texmf-dist/tex/latex/pkuthss/pkuthss.cls
@@ -1,7 +1,7 @@
 % Peking University dissertation document class
 %
 % Copyright (c) 2008-2009 solvethis
-% Copyright (c) 2010-2016 Casper Ti. Vector
+% Copyright (c) 2010-2017 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
@@ -23,7 +23,7 @@
 
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{pkuthss}
-	[2016/05/24 v1.7.3 Peking University dissertation document class]
+	[2017/03/01 v1.7.4 Peking University dissertation document class]
 
 % eg. `\pkuthss@int@boolopt{spacing}{true}' will expand to:
 %   \newif\ifpkuthss@opt@spacing \pkuthss@opt@spacingtrue
@@ -56,6 +56,8 @@
 % Whether to automatically set up properties for generated PDF from user
 % defined document information (author, title, etc.).
 \pkuthss@int@boolopt{pdfprop}{true}
+% Whether to disable some infractions intended to make the style less ugly.
+\pkuthss@int@boolopt{ugly}{false}
 % Pass all other options to `ctexbook' document class.
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
 % Process all class options now.
@@ -64,9 +66,7 @@
 % Prevent fontspec (loaded by xeCJK) from interfering with newtxmath.
 \ifpkuthss@opt@pkufont\PassOptionsToPackage{no-math}{fontspec}\fi
 % pkuthss is based on ctexbook; we use `xiao 4' as default font size.
-% CJKfntef provides `\CJKunderline' used in `\maketitle'.
-% fancyhdr provides utilities for setting up headers and footers.
-\LoadClass[hyperref, cs4size, fntef, fancyhdr]{ctexbook}[2011/03/11]
+\LoadClass[zihao = -4]{ctexbook}[2014/03/06]
 % ctex 2.x no longer loads ifpdf and ifxetex by itself.
 \RequirePackage{ifpdf, ifxetex}
 % Provides support for `key = val' grammar.
@@ -75,9 +75,10 @@
 \RequirePackage{graphicx}[1999/02/16]
 % Provides utilities for setting up page layout.
 \RequirePackage{geometry}
-% `hyperref', `fntef', `fancyhdr' and `cs4size' are deprecated in ctex 2.x.
-% hyperref now does not make citation hyperlinks if not explicitly loaded.
-% All compatibility support for ctex 1.x is scheduled for removal in 2017.
+% fancyhdr provides utilities for setting up headers and footers.
+\RequirePackage{fancyhdr}
+% Provides `\uline' used in `\maketitle'.
+\RequirePackage{ulem}
 % `\AtEndOfClass' used to avoid `PDF destination not defined' with setspace.
 \AtEndOfClass{\RequirePackage{hyperref}}
 
@@ -91,12 +92,7 @@
 				XeLaTeX compilation without UTF-8 is very problematic.\MessageBreak
 				Therefore please use UTF-8 encoding for the LaTeX code.%
 			}
-	\else\ifpdf
-		% Fix garbled text in bookmarks for pdfLaTeX compilation in GBK.
-		% Compatibility settings for ctex 1.x, to be removed in 2017; ctex 2.x
-		% loads xCJK2uni by itself when necessary.
-		\RequirePackage{xCJK2uni}
-	\fi\fi
+	\fi
 \else
 	\input{pkuthss-utf8.def}
 \fi
@@ -105,7 +101,7 @@
 	% Use Times New Roman / Arial according to school regulation.
 	% Option used to prevent newtxtext from manipulating footnote marks.
 	\RequirePackage[defaultsups]{newtxtext}
-	\RequirePackage{newtxmath}
+	\RequirePackage[cmintegrals, varg]{newtxmath}
 \else
 	% Provides `\Box' for originauth.tex if newtx is absent.
 	\RequirePackage{latexsym}
@@ -157,10 +153,6 @@
 \fi
 
 \ifpkuthss@opt@spacing
-	% Automatically ignore spaces between CJK characters, or otherwise preserve
-	% spaces. XeCJK itself will handle this issue, therefore we do not use
-	% `CJKspace' when using XeLaTeX.
-	\unless\ifxetex\RequirePackage{CJKspace}\fi
 	% Make spacing nicer in some situations (eg. footnotes and verbatims).
 	\RequirePackage{setspace}
 	% Lists often appear to be too sparse when items are just one or two lines
@@ -267,36 +259,37 @@
 \setlength{\belowdisplayskip}{6bp plus 1.5bp minus 3.5bp}
 
 % Set up chapter/section/... captions.
-% The alternative settings in comments can be used in case the infractions
-% (intended to make the style less ugly) get caught; note that the `*skip'
-% values are not supposed to be modified: the actual style of the school's
-% guide and Word template seem to be different from the written specification
-% (when applied verbatim in LaTeX), and here the actual style is used.
-\CTEXsetup[
-	nameformat = {\zihao{-2}\bfseries},
-	titleformat = {\zihao{-2}\bfseries},
-	%nameformat = {\zihao{3}\bfseries},
-	%titleformat = {\zihao{3}\bfseries},
-	beforeskip = {0bp}, afterskip = {18bp}
-]{chapter}
-\CTEXsetup[
-	format = {\zihao{-3}\bfseries},
-	%format = {\zihao{4}\bfseries},
-	beforeskip = {20bp plus 1ex minus 0.2ex},
-	afterskip = {6bp plus 0.2ex}
-]{section}
-\CTEXsetup[
-	format = {\zihao{4}\bfseries},
-	%format = {\fontsize{13bp}{15.6bp}\selectfont\bfseries},
-	beforeskip = {12bp plus 1ex minus 0.2ex},
-	afterskip = {6bp plus 0.2ex}
-]{subsection}
-\CTEXsetup[
-	format = {\bfseries},
-	%format = {\zihao{-4}\bfseries},
-	beforeskip = {12bp plus 1ex minus 0.2ex},
-	afterskip = {6bp plus 0.2ex}
-]{subsubsection}
+% The `*skip' values are not supposed to be modified by the `ugly' option:
+% the actual style of the school's guide and Word template seem to be different
+% from the written specification (when applied verbatim in LaTeX), and here the
+% actual style is used.
+\ctexset{
+	chapter = {beforeskip = {0bp}, afterskip = {18bp}},
+	section =
+		{beforeskip = {20bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}},
+	subsection =
+		{beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}},
+	subsubsection =
+		{beforeskip = {12bp plus 1ex minus 0.2ex}, afterskip = {6bp plus 0.2ex}}
+}
+\ifpkuthss@opt@ugly
+	\ctexset{
+		chapter =
+			{nameformat = {\zihao{3}\bfseries}, titleformat = {\zihao{3}\bfseries}},
+		section = {format = {\zihao{4}\bfseries}},
+		subsection =
+			{format = {\fontsize{13bp}{15.6bp}\selectfont\bfseries}},
+		subsubsection = {format = {\zihao{-4}\bfseries}}
+	}
+\else
+	\ctexset{
+		chapter =
+			{nameformat = {\zihao{-2}\bfseries}, titleformat = {\zihao{-2}\bfseries}},
+		section = {format = {\zihao{-3}\bfseries}},
+		subsection = {format = {\zihao{4}\bfseries}},
+		subsubsection = {format = {\bfseries}}
+	}
+\fi
 
 % Internal command to set up headers and footers.
 \def\pkuthss@int@setpagestyle{
@@ -349,11 +342,11 @@
 		\loop\ifnum\pkuthss@tmp@linecount>0
 			% Fill specified space with underline on the bottom line. `\underline'
 			% draws line on the baseline (not the bottom line), and this is why
-			% `\CJKunderline' is used here instead.
+			% `\uline' is used here instead.
 			\ifnum\pkuthss@tmp@linecount=1
-				\CJKunderline{\makebox[#2]{}}
+				\uline{\makebox[#2]{}}
 			\else
-				\CJKunderline{\makebox[#2]{}}\\
+				\uline{\makebox[#2]{}}\\
 			\fi
 		\advance\pkuthss@tmp@linecount by -1\relax
 		\repeat%
-- 
cgit v1.2.3

