From ff1e02dbf9c33ee832d7f0cb39a42648b376c9c5 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 15 Oct 2020 03:00:58 +0000 Subject: CTAN sync 202010150300 --- macros/latex/contrib/babel-contrib/russian/README | 7 +- .../contrib/babel-contrib/russian/russianb.dtx | 43 +- .../contrib/babel-contrib/russian/russianb.pdf | Bin 550621 -> 127486 bytes .../contrib/babel-contrib/ukrainian/README.md | 7 +- .../contrib/babel-contrib/ukrainian/ukraineb.dtx | 79 +- .../contrib/babel-contrib/ukrainian/ukraineb.pdf | Bin 134371 -> 134237 bytes macros/latex/contrib/denisbdoc/README.md | 6 +- macros/latex/contrib/denisbdoc/denisbdoc.dtx | 425 ++++++----- macros/latex/contrib/eso-pic/README | 11 - macros/latex/contrib/eso-pic/README.md | 11 + macros/latex/contrib/eso-pic/eso-ex1.tex | 30 +- macros/latex/contrib/eso-pic/eso-ex2.tex | 25 +- macros/latex/contrib/eso-pic/eso-ex3.tex | 42 -- macros/latex/contrib/eso-pic/eso-ex4.tex | 38 +- macros/latex/contrib/eso-pic/eso-ex5.tex | 1 - macros/latex/contrib/eso-pic/eso-memoir-test.tex | 3 +- macros/latex/contrib/eso-pic/eso-pic.dtx | 120 ++- macros/latex/contrib/eso-pic/eso-pic.pdf | Bin 250230 -> 250019 bytes macros/latex/contrib/eso-pic/showframe.sty | 23 +- macros/latex/contrib/gentombow/README.md | 34 +- macros/latex/contrib/gentombow/bounddvi-en.pdf | Bin 49513 -> 49397 bytes macros/latex/contrib/gentombow/bounddvi.pdf | Bin 123721 -> 102475 bytes macros/latex/contrib/gentombow/bounddvi.sty | 130 ++-- macros/latex/contrib/gentombow/gentombow-ja.pdf | Bin 213739 -> 174085 bytes macros/latex/contrib/gentombow/gentombow-ja.tex | 13 +- macros/latex/contrib/gentombow/gentombow.pdf | Bin 150461 -> 150209 bytes macros/latex/contrib/gentombow/gentombow.sty | 48 +- macros/latex/contrib/gentombow/gentombow.tex | 1 + macros/latex/contrib/gentombow/pxesopic.sty | 239 ++++++ macros/latex/contrib/gentombow/pxgentombow.pdf | Bin 23384 -> 23109 bytes macros/latex/contrib/gentombow/pxgentombow.sty | 2 +- macros/latex/contrib/gentombow/pxpdfpages.sty | 72 ++ macros/latex/contrib/gentombow/pxtextpos.sty | 108 +++ macros/latex/contrib/leaflet/README.md | 5 - macros/latex/contrib/leaflet/leaflet-manual.pdf | Bin 93938 -> 92279 bytes macros/latex/contrib/leaflet/leaflet.dtx | 354 +++++---- macros/latex/contrib/leaflet/leaflet.pdf | Bin 240797 -> 246694 bytes macros/latex/contrib/thuthesis/CHANGELOG.md | 21 +- macros/latex/contrib/thuthesis/Makefile | 4 +- macros/latex/contrib/thuthesis/README.md | 2 + macros/latex/contrib/thuthesis/data/abstract.tex | 61 +- .../contrib/thuthesis/data/acknowledgements.tex | 11 +- .../contrib/thuthesis/data/appendix-survey.tex | 199 ++--- .../thuthesis/data/appendix-translation.tex | 109 +-- macros/latex/contrib/thuthesis/data/appendix.tex | 94 +-- macros/latex/contrib/thuthesis/data/chap01.tex | 668 ++--------------- macros/latex/contrib/thuthesis/data/chap02.tex | 177 ++--- macros/latex/contrib/thuthesis/data/chap03.tex | 76 ++ macros/latex/contrib/thuthesis/data/chap04.tex | 73 ++ macros/latex/contrib/thuthesis/data/denotation.tex | 120 +-- macros/latex/contrib/thuthesis/data/resolution.tex | 2 +- macros/latex/contrib/thuthesis/data/resume.tex | 70 +- .../latex/contrib/thuthesis/figures/committee.pdf | Bin 35129 -> 0 bytes .../contrib/thuthesis/figures/scan-copyright.pdf | Bin 35716 -> 0 bytes .../contrib/thuthesis/figures/scan-record.pdf | Bin 108783 -> 0 bytes .../contrib/thuthesis/figures/scan-statement.pdf | Bin 31558 -> 0 bytes .../contrib/thuthesis/figures/thu-fig-logo.pdf | Bin 111420 -> 0 bytes .../contrib/thuthesis/figures/thu-lib-logo.pdf | Bin 7726 -> 0 bytes .../contrib/thuthesis/figures/thu-text-logo.pdf | Bin 22013 -> 0 bytes .../contrib/thuthesis/figures/thu-whole-logo.pdf | Bin 121086 -> 0 bytes macros/latex/contrib/thuthesis/ref/refs.bib | 550 ++++++++------ macros/latex/contrib/thuthesis/spine.pdf | Bin 17118 -> 17199 bytes macros/latex/contrib/thuthesis/thusetup.tex | 54 +- .../latex/contrib/thuthesis/thuthesis-example.pdf | Bin 891653 -> 449650 bytes .../latex/contrib/thuthesis/thuthesis-example.tex | 6 +- macros/latex/contrib/thuthesis/thuthesis.dtx | 833 ++++++++++++--------- macros/latex/contrib/thuthesis/thuthesis.pdf | Bin 1156739 -> 1027021 bytes macros/latex/contrib/yathesis/CHANGELOG.md | 19 +- macros/latex/contrib/yathesis/README.md | 2 +- macros/latex/contrib/yathesis/doc/yathesis-fr.pdf | Bin 6522425 -> 6337461 bytes .../yathesis/exemples/specimen/bibliographie.bib | 2 +- .../contrib/yathesis/exemples/specimen/these.pdf | Bin 1245596 -> 1246385 bytes .../contrib/yathesis/exemples/specimen/these.tex | 12 +- .../yathesis/source/yathesis-samples-templates.dtx | 14 +- macros/latex/contrib/yathesis/source/yathesis.dtx | 141 ++-- macros/latex/required/firstaid/changes.txt | 5 + macros/latex/required/firstaid/firstaid.ins | 6 +- .../latex2e-first-aid-for-external-files.dtx | 146 +++- .../latex2e-first-aid-for-external-files.pdf | Bin 208937 -> 223600 bytes 79 files changed, 2790 insertions(+), 2564 deletions(-) delete mode 100644 macros/latex/contrib/eso-pic/README create mode 100644 macros/latex/contrib/eso-pic/README.md delete mode 100644 macros/latex/contrib/eso-pic/eso-ex3.tex create mode 100644 macros/latex/contrib/gentombow/pxesopic.sty create mode 100644 macros/latex/contrib/gentombow/pxpdfpages.sty create mode 100644 macros/latex/contrib/gentombow/pxtextpos.sty create mode 100644 macros/latex/contrib/thuthesis/data/chap03.tex create mode 100644 macros/latex/contrib/thuthesis/data/chap04.tex delete mode 100644 macros/latex/contrib/thuthesis/figures/committee.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/scan-copyright.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/scan-record.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/scan-statement.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/thu-fig-logo.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/thu-lib-logo.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/thu-text-logo.pdf delete mode 100644 macros/latex/contrib/thuthesis/figures/thu-whole-logo.pdf (limited to 'macros/latex') diff --git a/macros/latex/contrib/babel-contrib/russian/README b/macros/latex/contrib/babel-contrib/russian/README index 46fe0449e7..fb47e71ebd 100644 --- a/macros/latex/contrib/babel-contrib/russian/README +++ b/macros/latex/contrib/babel-contrib/russian/README @@ -1,6 +1,6 @@ ---------------------------------------------------------------- -Russian language module for Babel, v1.3k +Russian language module for Babel, v1.3l Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -108,6 +108,11 @@ might be absent. 5. CHANGES +2020-10-16 version 1.3l + + * Patches for Russian language from hyperref package to babel-russian module + (thanks to Ulrike Fischer). + 2020-09-06 version 1.3k * Bug fixed in definition of \Russian command (thanks to Javier Bezos). diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.dtx b/macros/latex/contrib/babel-contrib/russian/russianb.dtx index cf89bcd118..33c24a06f5 100644 --- a/macros/latex/contrib/babel-contrib/russian/russianb.dtx +++ b/macros/latex/contrib/babel-contrib/russian/russianb.dtx @@ -7,7 +7,7 @@ %<*readme> ---------------------------------------------------------------- -Russian language module for Babel, v1.3k +Russian language module for Babel, v1.3l Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -119,6 +119,11 @@ might be absent. 5. CHANGES +2020-10-16 version 1.3l + + * Patches for Russian language from hyperref package to babel-russian module + (thanks to Ulrike Fischer). + 2020-09-06 version 1.3k * Bug fixed in definition of \Russian command (thanks to Javier Bezos). @@ -267,7 +272,7 @@ and the derived files russianb.ins, % %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesFile{russianb.ldf}[2020/09/09 1.3k Russian support for the Babel system] +\ProvidesFile{russianb.ldf}[2020/10/16 1.3l Russian support for the Babel system] % %<*driver> \documentclass[a4paper]{ltxdoc} @@ -281,16 +286,10 @@ and the derived files russianb.ins, \ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0 \usepackage{fontspec} \defaultfontfeatures{Ligatures={TeX}} - \setmainfont{CMU Serif} - %\setmainfont{STIX Two}[ - % UprightFont={* Math}, - % %UprightFont={* Text}, - % ItalicFont={* Text Italic}, - % BoldFont={* Text Bold}, - % BoldItalicFont={* Text Bold Italic}, - %] - %\setsansfont{CMU Sans Serif} - %\setmonofont{CMU Typewriter Text} + \setmainfont{cmunrm.otf}%{CMU Serif} + %\setmainfont{STIX Two Text} + \setsansfont{cmunss.otf}%{CMU Sans Serif} + \setmonofont{cmuntt.otf}%{CMU Typewriter Text} %%\setmonofont[Scale=MatchLowercase]{Courier New} %%\setmonofont[Scale=MatchUppercase]{Courier New} %%\setmonofont{Courier New} @@ -909,7 +908,8 @@ and the derived files russianb.ins, % % \section{Implementation} % -% \changes{1.3k}{2020/09/06}{bug in definition of \cs{Russian} fixed} +% \changes{1.3l}{2020/10/16}{Added support to hyperref package} +% \changes{1.3k}{2020/09/06}{Bug in definition of \cs{Russian} fixed} % \changes{1.3h}{2016/02/18}{\cs{cyrdash} is redefined} % \changes{1.3h}{2016/02/18}{Bugs fixed in captions for revtex4 and revtex4-1} % \changes{1.3g}{2015/05/01}{Added support for revtex4 and revtex4-1 classes} @@ -1363,12 +1363,16 @@ and the derived files russianb.ins, % which indicates explicitly breakpoint for hyphenation in a word. Meaning % of these shorthands is explained in table~\ref{tab:russian-quote}. % +% Some of this definitions need a alternative definitions for the booksmarks. +% \changes{1.3l}{2020/10/16}{Modified shorthands} % \begin{macrocode} +\providecommand\texorpdfstring[2]{#1} \declare@shorthand{russian}{""}{\hskip\z@skip} -\declare@shorthand{russian}{"~}{\textormath{\leavevmode\hbox{-}}{-}} +\declare@shorthand{russian}{"~}{\texorpdfstring{\textormath{\leavevmode\hbox{-}}{-}}{-}} \declare@shorthand{russian}{"=}{\nobreak-\hskip\z@skip} \declare@shorthand{russian}{"|}{% - \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}} + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}{}} % \end{macrocode} % % \subsubsection{Emdash, endash and hyphenation sign} @@ -1378,12 +1382,13 @@ and the derived files russianb.ins, % If it is, we output an emdash, otherwise a hyphen sign. Therefor % \TeX\ looks for the next token after the first `|-|', writes % its meaning to |\russian@sh@next| and finally call for |\russian@sh@tmp|. +% \changes{1.3l}{2020/10/16}{Modified shorthands} % \begin{macrocode} \declare@shorthand{russian}{"-}{% - \def\russian@sh@tmp{% + \texorpdfstring{\def\russian@sh@tmp{% \if\russian@sh@next-\expandafter\russian@sh@emdash \else\expandafter\russian@sh@hyphen\fi}% - \futurelet\russian@sh@next\russian@sh@tmp} + \futurelet\russian@sh@next\russian@sh@tmp}{-}} % \end{macrocode} % Two macros |\russian@sh@hyphen| and |\russian@sh@emdash| called by % |\russian@sh@tmp| are defined below. The second of @@ -1406,7 +1411,7 @@ and the derived files russianb.ins, \errmessage{Wrong usage of cdash}\fi\fi\fi} % \end{macrocode} % -% All these 3 internal macros call for |\cyrdash|, which type Cyrillic +% All these 3 internal macros call for |\cyrdash|, which types Cyrillic % emdash, but put different spaces around the dash. % % |\@Acdash| is invoked by |"---|. It types Cyrillic emdash to be used @@ -2179,7 +2184,7 @@ and the derived files russianb.ins, %\iffalse % %\fi -%\CheckSum{2353} +%\CheckSum{2358} %\Finale % %% diff --git a/macros/latex/contrib/babel-contrib/russian/russianb.pdf b/macros/latex/contrib/babel-contrib/russian/russianb.pdf index ac043c91cf..791989648b 100644 Binary files a/macros/latex/contrib/babel-contrib/russian/russianb.pdf and b/macros/latex/contrib/babel-contrib/russian/russianb.pdf differ diff --git a/macros/latex/contrib/babel-contrib/ukrainian/README.md b/macros/latex/contrib/babel-contrib/ukrainian/README.md index bdeb5018d7..ed2832dc1d 100644 --- a/macros/latex/contrib/babel-contrib/ukrainian/README.md +++ b/macros/latex/contrib/babel-contrib/ukrainian/README.md @@ -1,6 +1,6 @@ ---------------------------------------------------------------- -Ukrainian language module for Babel, v1.4c +Ukrainian language module for Babel, v1.4e Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -15,7 +15,7 @@ The current maintainer is Sergiy Ponomarenko . 1. INSTALLATION - unpack babel-ukrainian.zip -- run "xelatex.exe ukraineb.dtx" (recommended) +- run "lualatex.exe ukraineb.dtx" (recommended) or "pdflatex.exe ukraineb.dtx"; run "tex.exe ukraineb.dtx" or "tex.exe ukraineb.ins", if you don't need documentation @@ -81,6 +81,9 @@ files as they might have stored incompatible internal encodings. 5. CHANGES +2020-10-13 version 1.4e + * Preventing a problem with duplicate math operators in russian.ldf. + 2020-10-13 version 1.4d * Added support for pdfstings. diff --git a/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.dtx b/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.dtx index f99ce29dbb..8d1ef19714 100644 --- a/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.dtx +++ b/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.dtx @@ -6,7 +6,7 @@ %<*readme> ---------------------------------------------------------------- -Ukrainian language module for Babel, v1.4c +Ukrainian language module for Babel, v1.4e Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -22,7 +22,7 @@ The current maintainer is Sergiy Ponomarenko . 1. INSTALLATION - unpack babel-ukrainian.zip -- run "xelatex.exe ukraineb.dtx" (recommended) +- run "lualatex.exe ukraineb.dtx" (recommended) or "pdflatex.exe ukraineb.dtx"; run "tex.exe ukraineb.dtx" or "tex.exe ukraineb.ins", if you don't need documentation @@ -90,6 +90,9 @@ files as they might have stored incompatible internal encodings. 5. CHANGES +2020-10-13 version 1.4e + * Preventing a problem with duplicate math operators in russian.ldf. + 2020-10-13 version 1.4d * Added support for pdfstings. @@ -200,8 +203,8 @@ and the derived files ukraineb.ins, % %<*code> \NeedsTeXFormat{LaTeX2e} -%\ProvidesLanguage{\jobname}[2020/10/13 1.4d Ukrainian support for the Babel system] -\ProvidesFile{ukraineb.ldf}[2020/10/13 1.4d Ukrainian support for the Babel system] +%\ProvidesLanguage{\jobname}[2020/10/14 1.4e Ukrainian support for the Babel system] +\ProvidesFile{ukraineb.ldf}[2020/10/14 1.4e Ukrainian support for the Babel system] % %<*driver> \documentclass[a4paper]{ltxdoc} @@ -1009,29 +1012,7 @@ and the derived files ukraineb.ins, % well enough to Ukrainian version of Windows ANSI encoding which is almost % equivalent to \texttt{cp1251}. % -% \begin{macrocode} -\@ifpackageloaded{inputenc}{% - \if@ukr@uni@ode - \PackageWarning{babel}{inputenc should not be used with LuaTeX or XeTeX} - \fi -}{% - %\def\reserved@a{LWN}% - %\ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{OT2}% - \ifx\reserved@a\cyrillicencoding - \else - \def\reserved@a{EU1}% - \ifx\reserved@a\cyrillicencoding\else - \def\reserved@a{EU2}% - \ifx\reserved@a\cyrillicencoding\else - \PackageWarning{babel}% - {No input encoding specified for Ukrainian language} - \fi - \fi - \fi - %\fi -} -% \end{macrocode} +% \changes{1.4e}{2020/10/14}{Removed check if inputenc is loaded} % % % \subsection{Shorthands} @@ -1534,7 +1515,7 @@ and the derived files ukraineb.ins, % % \subsection{Ukrainian mathetematical typography traditions} % -% \Describe\sh{} +% \Describe\sh{}% % \DescribeOther\ch{}% % \DescribeOther\tg{}% % \DescribeOther\ctg{}% @@ -1551,20 +1532,34 @@ and the derived files ukraineb.ins, % defined in Latin~1 encoding: % % \begin{macrocode} -\def\sh{\mathop{\operator@font sh}\nolimits} -\def\ch{\mathop{\operator@font ch}\nolimits} -\def\tg{\mathop{\operator@font tg}\nolimits} -\def\ctg{\mathop{\operator@font ctg}\nolimits} -\def\arctg{\mathop{\operator@font arctg}\nolimits} -\def\arcctg{\mathop{\operator@font arcctg}\nolimits} -\addto\extrasukrainian{% - \babel@save{\th}% - \let\ltx@th\th - \def\th{\textormath{\ltx@th}% - {\mathop{\operator@font th}\nolimits}}% +\AtBeginDocument{% + \@ifpackagewith{babel}{russian}{\relax}{% + \@ifpackageloaded{amsopn} + {% + \DeclareMathOperator{\sh}{sh}% + \DeclareMathOperator{\ch}{ch}% + \DeclareMathOperator{\tg}{tg}% + \DeclareMathOperator{\ctg}{ctg}% + \DeclareMathOperator{\arctg}{arctg}% + \DeclareMathOperator{\arcctg}{arcctg}% + \DeclareMathOperator{\cth}{cth}%\ + \DeclareMathOperator{\cosec}{cosec}% + \DeclareMathOperator{\math@th}{th}% + }{% + \DeclareRobustCommand\sh{\mathop{\operator@font sh}\nolimits}% + \DeclareRobustCommand\ch{\mathop{\operator@font ch}\nolimits}% + \DeclareRobustCommand\tg{\mathop{\operator@font tg}\nolimits}% + \DeclareRobustCommand\ctg{\mathop{\operator@font ctg}\nolimits}% + \DeclareRobustCommand{\arctg}{\mathop{\operator@font arctg}\nolimits}% + \DeclareRobustCommand\arcctg{\mathop{\operator@font arcctg}\nolimits}% + \DeclareRobustCommand\cth{\mathop{\operator@font cth}\nolimits}%\MakeRobust\cth% + \DeclareRobustCommand\cosec{\mathop{\operator@font cosec}\nolimits}% + \DeclareRobustCommand{\math@th}{\mathop{\operator@font arctg}\nolimits}% + }% + \let\text@th\th% + \DeclareRobustCommand{\th}{\TextOrMath{\text@th}{\math@th}}% + }% } -\def\cth{\mathop{\operator@font cth}\nolimits} -\def\cosec{\mathop{\operator@font cosec}\nolimits} % \end{macrocode} % % For compatibility with older Ukrainian packages we leave definition of the |\No| @@ -1591,7 +1586,7 @@ and the derived files ukraineb.ins, %\iffalse % %\fi -% \CheckSum{1092} +% \CheckSum{1083} %\Finale % %% diff --git a/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.pdf b/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.pdf index a9714b7d06..8278fe7607 100644 Binary files a/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.pdf and b/macros/latex/contrib/babel-contrib/ukrainian/ukraineb.pdf differ diff --git a/macros/latex/contrib/denisbdoc/README.md b/macros/latex/contrib/denisbdoc/README.md index 7eb3cbb01a..4c41602027 100644 --- a/macros/latex/contrib/denisbdoc/README.md +++ b/macros/latex/contrib/denisbdoc/README.md @@ -1,8 +1,8 @@ -denisbdoc - A personal package for documenting classes and packages, v. 0.9 -=========================================================================== +denisbdoc - A personal package for documenting classes and packages, v. 0.9.1 +============================================================================= **The sole purpose of this (quick 'n dirty) `denisbdoc` package is for -documenting the classes written by its author (Denis Bitouzé).** +documenting the classes written by their author (Denis Bitouzé).** The class is supplied in `.dtx` format. If you want to unpack the `.dtx` yourself, running: diff --git a/macros/latex/contrib/denisbdoc/denisbdoc.dtx b/macros/latex/contrib/denisbdoc/denisbdoc.dtx index a1f0bf4b18..af502881fe 100644 --- a/macros/latex/contrib/denisbdoc/denisbdoc.dtx +++ b/macros/latex/contrib/denisbdoc/denisbdoc.dtx @@ -3,11 +3,11 @@ \iffalse % %<*readme> -denisbdoc - A personal package for documenting classes and packages, v. 0.9 -=========================================================================== +denisbdoc - A personal package for documenting classes and packages, v. 0.9.1 +============================================================================= **The sole purpose of this (quick 'n dirty) `denisbdoc` package is for -documenting the classes written by its author (Denis Bitouzé).** +documenting the classes written by their author (Denis Bitouzé).** The class is supplied in `.dtx` format. If you want to unpack the `.dtx` yourself, running: @@ -31,7 +31,7 @@ This package is currently not documented. \preamble ----------------------------------------------------------------------------- denisbdoc --- A personal dirty package for documenting personal classes, - version 0.9 + version 0.9.1 Maintained by Denis Bitouzé E-mail: denis.bitouze@univ-littoral.fr @@ -125,6 +125,7 @@ This work consists of the file denisbdoc.dtx %\changes{v0.7}{2017/01/01}{Seventh CTAN version} %\changes{v0.8}{2020/03/27}{Eighth CTAN version} %\changes{v0.9}{2020/05/31}{Nineth CTAN version} +%\changes{v0.9.1}{2020/10/14}{Further CTAN version} % %\begin{abstract} % ... @@ -195,7 +196,7 @@ This work consists of the file denisbdoc.dtx % % The usual preliminaries. % \begin{macrocode} -\ProvidesExplPackage {denisbdoc} {2020/05/31} {0.9} +\ProvidesExplPackage {denisbdoc} {2020/10/14} {0.9.1} {A personal package for documenting packages} % \end{macrocode} % @@ -242,9 +243,16 @@ This work consists of the file denisbdoc.dtx % \begin{macrocode} \sys_if_engine_pdftex:TF { - \RequirePackage{cmap} + % \RequirePackage{cmap} \RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc} +% \end{macrocode} +% +% In order to get rid of the warning "PDF inclusion: multiple pdfs with page +% group included in a single page" (see +% \url{http://tex.stackexchange.com/q/183149/18401}). +% \begin{macrocode} + \pdfsuppresswarningpagegroup=1 }{ \RequirePackage{fontspec} } @@ -409,7 +417,6 @@ This work consists of the file denisbdoc.dtx }% \@ifpackageloaded{glossaries}{% }{% - % \RequirePackage{glossaries}% \RequirePackage[xindy,hyperfirst=false,toc=false]{glossaries-extra}% \makeglossaries% \newglossaryentry{zip}{% @@ -422,7 +429,7 @@ This work consists of the file denisbdoc.dtx text={zip}% }% \setglossarystyle{indexhypergroup}% - \setabbreviationstyle[acronym]{long-short-sc}% + \setabbreviationstyle{long-short-sc}% \newcommand*{\formatfont}[1]{\textsc{#1}}% \glssetcategoryattribute{format}{glossnamefont}{formatfont}% \glssetcategoryattribute{format}{font}{formatfont}% @@ -460,7 +467,10 @@ This work consists of the file denisbdoc.dtx % \end{macrocode} % % \begin{macrocode} -\renewcommand{\acrpluralsuffix}{} +\@ifpackageloaded{glossaries-extra}{% + \renewcommand*{\glsxtrabbrvpluralsuffix}{} +}{% +} % \end{macrocode} % % % Some hacks to avoid issues of \pkg{hypdoc} reported by me at @@ -718,30 +728,30 @@ This work consists of the file denisbdoc.dtx }{}{\aaa}% % \end{macrocode} % -% We create a boolean which tests if the letter in the navigation bar is the 1st -% one or not (in the latter case, a newline is added). -% \begin{macrocode} - \newif\if@DBD@no@first@letter@ - \@DBD@no@first@letter@false -% \end{macrocode} -% % \begin{macrocode} \newcommand*{\indexheading}[2]{% \hypertarget{#2:#1}{\textbf{#1}}% \protected@write\@auxout{}{\string\DBD@indexgroup{#1}{#2}}% } +% \end{macrocode} +% +% We create a boolean which tests whether the letter in the navigation bar is +% the 1st one or not (in the latter case, a newline is added). +% \begin{macrocode} +\newtoggle{@DBD@no@first@letter} \newcommand*{\DBD@indexgroup}[2]{% \csgappto{DBD@indexnavigation@#2}{% - \if@DBD@no@first@letter@ - \,\textbar\,% - % \\ - \else - \noindent - \@DBD@no@first@letter@true - \fi + \iftoggle{@DBD@no@first@letter}{% + \,\textbar\,% + % \\ + }{% + \toggletrue{@DBD@no@first@letter}% + \noindent% + }% \hyperlink{#2:#1}{\textbf{#1}}% }% }% +\fi % \end{macrocode} % % \begin{macrocode} @@ -1072,7 +1082,7 @@ This work consists of the file denisbdoc.dtx {% % Séquences de contrôles (communément appelées commandes ou macros) moretexcs={% - tcbset,tcbuselibrary% + tcbset,tcbuselibrary,tcbsetforeverylayer% },% % Mots-clés de niveau 1 : arguments optionnels morekeywords={% @@ -1083,8 +1093,9 @@ This work consists of the file denisbdoc.dtx },% % Mots-clés de niveau 3 : arguments optionnels clés dans clé=valeur morekeywords=[3]{% - lightgray,red!50!white% + lightgray,red!50!white,autoparskip,beforeafter,skip,balanced% },% + alsoletter={ \ },% sensitive,% }[keywords,tex,comments]% % @@ -1311,7 +1322,7 @@ This work consists of the file denisbdoc.dtx % \begin{macrocode} \lstdefinelanguage[studentreport]{TeX}[LaTeX]{TeX}{% moretexcs={% Control sequences' names - reportsetup,daterange,professionaladvisor,academicadvisor,companylogo% + reportsetup,daterange,companytutor,academictutor,companylogo% },% % Mandatory arguments (other than environments' names) morekeywords={% @@ -1320,11 +1331,11 @@ This work consists of the file denisbdoc.dtx },% morekeywords=[2]{% Keys of key-value lists institute,subinstitute,subsubinstitute,year,10pt,11pt,12pt,internship,project,layout,% - strings,pretitle,company,advisor,advisors,before~start~date,before~end~date,date,% - logos,logosheights,,% + strings,pretitle,company,tutor,tutors,before~start~date,before~end~date,date,% + logos,logosheights,keywords,subject,% },% morekeywords=[3]{% Values of key-value lists - ulco,iutlco,gte,gim,% + ulco,iutlco,gtelco,gimlco,% },% alsoletter={!-*1234560}% }% @@ -1410,154 +1421,6 @@ This work consists of the file denisbdoc.dtx % % prebreak={\c_space_tl\Righttorque}, % % postbreak={\c_space_tl\Lefttorque} % }% -\lstdefinestyle{pre-dbtex}{% - escapechar=", - language=[LaTeX]TeX, - alsolanguage=[extLaTeX]TeX, - % alsolanguage=[glossaries]TeX, - % alsolanguage=[biblatex]TeX, - alsolanguage=[csquotes]TeX, - % alsolanguage=[tcolorbox]TeX, - % alsolanguage=[listings]TeX, - % alsolanguage=[xcolor]TeX, - % alsolanguage=[hyperref]TeX, - texcsstyle=*\color{texcs}, - breaklines=true, - basicstyle=\normalfont\ttfamily, - commentstyle=\color{comment}\itshape, - directivestyle={\color{directive}}, - keywordstyle={\color{red}}, - keywordstyle={[1]\color{environment}}, - keywordstyle={[2]\color{key}}, - keywordstyle={[3]\color{value}}, - keywordstyle={[4]\color{keyword4}}, - keywordstyle={[5]\color{keyword5}}, - moredelim=*[s][\color{math}\ttfamily]{\\[}{\\]}, - moredelim=*[s][\color{math}\ttfamily]{$}{$}, - stringstyle=\color{string}, - columns=flexible, - keepspaces, - numberstyle=\small, - inputencoding=utf8/latin1, - aboveskip=\c_@@_listings_aboveskip_skip, - belowskip=\c_@@_listings_belowskip_skip -}% -\bool_if:nT {\g_@@_yad_bool} {% - \lstdefinestyle{dbtex}{% - style=pre-dbtex,% - alsolanguage=[yad]TeX,% - alsolanguage=[colophon]TeX,% - moretexcs={printbibliography,autocite},% - morekeywords=[2]{% - colback,refsegment% - },% - morekeywords=[2]{% - red,white% - },% - }% -} -\bool_if:nT {\g_@@_gzt_bool} {% - \lstdefinestyle{dbtex}{% - style=pre-dbtex,% - alsolanguage=[gzt]TeX,% - }% -} -\bool_if:nT {\g_@@_nwejm_bool} {% - \lstdefinestyle{dbtex}{% - style=pre-dbtex,% - alsolanguage=[nwejm]TeX,% - }% -} -\bool_if:nT {\g_@@_studentreport_bool} {% - \lstdefinestyle{dbtex}{% - style=pre-dbtex,% - alsolanguage=[studentreport]TeX,% - }% -} -\lstset{style=dbtex} -\sys_if_engine_pdftex:TF -{ - \ExplSyntaxOff - \lstMakeShortInline[style=dbtex]| - \ExplSyntaxOn -}{ - \lstMakeShortInline[style=dbtex]× -} -% \end{macrocode} -% -% \begin{macrocode} -\tcbset{dbtcb/.style={% - breakable, - fonttitle=\bfseries, - enlarge~top~by=1mm, - separator~sign~dash, - label~separator=-, - before~title={% - \hypersetup{hidelinks}% - \tcbset{% - color~definition=white, - color~hyperlink=white, - }% - }% - }% -}% -% -\tcbset{% - doc~head={% - % boxsep=4pt,arc=4pt,boxrule=0.6pt,% - % frame~style=fill,% - % colframe=red!50!black,% - interior~style={% - fill,% - color=yellow!10!white,% - }% - }% -} -\tcbset{% - /tcb/doclang/environment~content=contenu~de~l'environnement, - /tcb/doclang/color=~(couleur), - /tcb/doclang/colors=Couleurs, - /tcb/doclang/environments=Environnements, - /tcb/doclang/keys=Clés, - /tcb/doclang/values=Valeurs, - /tcb/doclang/pageshort=p., - /tcb/documentation~listing~style=dbtex, - /tcb/color~command=texcs, - /tcb/color~environment=environment, - /tcb/color~key=key, - /tcb/color~value=value, - % index~format=pgfchapter, - index~format=off, - index~colorize, - index~annotate=false, - enhanced, - listing~style=dbtex, - every~box/.style={documentation~listing~style=dbtex}, -% index~actual={}, -% doc~left~indent=-15mm, -% doc~right~indent=-15mm+2em - codes/.style={% - listing~only, - enlarge~top~by=\medskipamount, - colframe=ExampleFrame, - colback=ExampleBack, - fonttitle=\bfseries, - fontupper=\small, - split=0.5, - enhanced, - breakable, - listing~style=dbtex, - }% -}% -\tcbset{samples/.style={% - codes, - % listing~options={rangebeginprefix=\\,rangeendsuffix=\}} - }% -}% -\renewcommand*{\tcbdocnew}[1]{\scriptsize\sffamily\textcolor{green!50!black}{\bfseries -Nouv.~:}~#1} -\renewcommand*{\tcbdocupdated}[1]{\scriptsize\sffamily\textcolor{blue!75!black}{\bfseries -\textsc{m.-à-j.}~:}~#1} % \end{macrocode} % % Suppression du gras dans la commande ×\docAuxCommand× : @@ -1743,7 +1606,7 @@ Nouv.~:}~#1} % % This saves the url with all characters catcode other: % \begin{macrocode} -\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { http://ctan.org/pkg/ } } +\tl_const:Nx \c_@@_standard_url_tl { \tl_to_str:n { https://ctan.org/pkg/ } } % \end{macrocode} % Separate formatting: % #1: package or class name @@ -2189,13 +2052,6 @@ Nouv.~:}~#1} } % \end{macrocode} % -% In order to get rid of the warning "PDF inclusion: multiple pdfs with page -% group included in a single page" (see -% \url{http://tex.stackexchange.com/q/183149/18401}). -% \begin{macrocode} -\pdfsuppresswarningpagegroup=1 -% \end{macrocode} -% % We want to make the angle brackets generated by ×\meta× to be copied and % pasted as they are, and not replaced by "h" and "i" % (cf. \url{https://tex.stackexchange.com/q/18146/18401}). @@ -2229,6 +2085,12 @@ Nouv.~:}~#1} drop~lifted~shadow, #1% } +\NewTCBListing{preamblecode*}{ !O{} }{% + codes,% + enlarge~top~by=\c_zero_dim, + drop~lifted~shadow, + #1% +} \NewTCBListing{bodycode}{ !O{} }{% codes,% #1% @@ -2294,13 +2156,11 @@ Nouv.~:}~#1} colframe=red!75!black, dbtcb }{wa} -% \newtcbtheorem[list~inside=dbexamplelist,number~within=\g_@@_number_within_tl,crefname={exemple}{exemples}]{dbexample}{Exemple}{% colback=lime!5!white, colframe=lime!75!black, - dbtcb + dbtcb, }{ex} -% \newtcbtheorem[list~inside=dbremarklist,number~within=\g_@@_number_within_tl,crefname={remarque}{remarques}]{dbremark}{Remarque}{% colback=cyan!5!white, colframe=cyan!75!black, @@ -2309,7 +2169,7 @@ Nouv.~:}~#1} \newtcbtheorem[list~inside=dbfaqlist,number~within=\g_@@_number_within_tl,crefname={question}{questions}]{dbfaq}{Question}{% colback=lightgray!5!white, colframe=lightgray!75!black, - fontupper=\itshape, + % fontupper=\itshape, dbtcb }{faq} \newtcbtheorem[list~inside=dbtabularlist,number~within=\g_@@_number_within_tl,crefname={tableau}{tableaux}]{dbtab}{Tableau}{% @@ -2488,7 +2348,6 @@ Nouv.~:}~#1} % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} % % \subsection{\Class{nwejm}} % @@ -2524,8 +2383,194 @@ Nouv.~:}~#1} % \end{macrocode} % \end{macro} % \end{macro} +% +% \subsection{\Class{studentreport}} +% +% \begin{macrocode} +\tl_const:Nn \c_@@_studentreport_class_name_tl {studentreport} +% \end{macrocode} +% +% \begin{macro}{\studentreportcl} +% \begin{macrocode} +\ProvideDocumentCommand \studentreportcl { } +{% + \Class{\c_@@_studentreport_class_name_tl} +} +\NewDocumentCommand \studentreportauthor { } +{% + \class[\c_@@_standard_url_tl\c_@@_studentreport_class_name_tl]{\c_@@_studentreportauthor_class_name_tl} +} +\NewDocumentCommand \studentreportauthorcl { } +{% + \Class[\c_@@_standard_url_tl\c_@@_studentreport_class_name_tl]{\c_@@_studentreportauthor_class_name_tl} +} +% \end{macrocode} % \end{macro} % +% \begin{macrocode} +\lstdefinestyle{pre-dbtex}{% + escapechar=",%" + language=[LaTeX]TeX, + alsolanguage=[extLaTeX]TeX, + % alsolanguage=[glossaries]TeX, + % alsolanguage=[biblatex]TeX, + alsolanguage=[csquotes]TeX, + % alsolanguage=[tcolorbox]TeX, + % alsolanguage=[listings]TeX, + % alsolanguage=[xcolor]TeX, + % alsolanguage=[hyperref]TeX, + texcsstyle=*\color{texcs}, + breaklines=true, + basicstyle=\normalfont\ttfamily, + commentstyle=\color{comment}\itshape, + directivestyle={\color{directive}}, + keywordstyle={\color{red}}, + keywordstyle={[1]\color{environment}}, + keywordstyle={[2]\color{key}}, + keywordstyle={[3]\color{value}}, + keywordstyle={[4]\color{keyword4}}, + keywordstyle={[5]\color{keyword5}}, + moredelim=*[s][\color{math}\ttfamily]{\\[}{\\]}, + moredelim=*[s][\color{math}\ttfamily]{$}{$}, + stringstyle=\color{string}, + columns=flexible, + keepspaces, + numberstyle=\small, + inputencoding=utf8/latin1, + aboveskip=\c_@@_listings_aboveskip_skip, + belowskip=\c_@@_listings_belowskip_skip +}% +% \end{macrocode} +% +% \begin{macrocode} +\tl_gclear:N \g_tmpa_tl +\bool_if:nT {\g_@@_yad_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[yad]TeX,% + alsolanguage=[colophon]TeX,% + moretexcs={printbibliography,autocite},% + morekeywords=[2]{% + colback,refsegment% + },% + morekeywords=[2]{% + red,white% + },% + }% + \tl_gset:Nx \g_tmpa_tl {\c_@@_yat_class_name_tl} +} +\bool_if:nT {\g_@@_gzt_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[gzt]TeX,% + }% + \tl_gset:Nx \g_tmpa_tl {\c_@@_gzt_class_name_tl} +} +\bool_if:nT {\g_@@_nwejm_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[nwejm]TeX,% + }% + \tl_gset:Nx \g_tmpa_tl {\c_@@_nwejm_class_name_tl} +} +\bool_if:nT {\g_@@_studentreport_bool} {% + \lstdefinestyle{dbtex}{% + style=pre-dbtex,% + alsolanguage=[studentreport]TeX,% + }% + \tl_gset:Nx \g_tmpa_tl {\c_@@_studentreport_class_name_tl} +} +\NewDocumentCommand{\currentclass}{}{\g_tmpa_tl} +\NewExpandableDocumentCommand{\currenturl}{}{\c_@@_standard_url_tl\g_tmpa_tl} +\NewDocumentCommand{\thisclass}{}{\class{\g_tmpa_tl}} +\NewDocumentCommand{\Thisclass}{}{\Class{\g_tmpa_tl}} +% \end{macrocode} +% +% \begin{macrocode} +\tcbset{dbtcb/.style={% + breakable, + fonttitle=\bfseries, + enlarge~top~by=1mm, + separator~sign~dash, + label~separator=-, + before~title={% + \hypersetup{hidelinks}% + \tcbset{% + color~definition=white, + color~hyperlink=white, + }% + }% + }% +}% +% +\tcbset{% + doc~head={% + % boxsep=4pt,arc=4pt,boxrule=0.6pt,% + % frame~style=fill,% + % colframe=red!50!black,% + interior~style={% + fill,% + color=yellow!10!white,% + }% + }% +} +\tcbset{% + /tcb/doclang/environment~content=contenu~de~l'environnement, + /tcb/doclang/color=~(couleur), + /tcb/doclang/colors=Couleurs, + /tcb/doclang/environments=Environnements, + /tcb/doclang/keys=Clés, + /tcb/doclang/values=Valeurs, + /tcb/doclang/pageshort=p., + /tcb/documentation~listing~style=dbtex, + /tcb/color~command=texcs, + /tcb/color~environment=environment, + /tcb/color~key=key, + /tcb/color~value=value, + % index~format=pgfchapter, + index~format=off, + index~colorize, + index~annotate=false, + enhanced, + listing~style=dbtex, + every~box/.style={documentation~listing~style=dbtex}, +% index~actual={}, +% doc~left~indent=-15mm, +% doc~right~indent=-15mm+2em + codes/.style={% + listing~only, + enlarge~top~by=\medskipamount, + colframe=ExampleFrame, + colback=ExampleBack, + fonttitle=\bfseries, + fontupper=\small, + split=0.5, + enhanced, + breakable, + listing~style=dbtex, + }% +}% +\tcbset{samples/.style={% + codes, + % listing~options={rangebeginprefix=\\,rangeendsuffix=\}} + }% +}% +\renewcommand*{\tcbdocnew}[1]{\scriptsize\sffamily\textcolor{green!50!black}{\bfseries +Nouv.~:}~#1} +\renewcommand*{\tcbdocupdated}[1]{\scriptsize\sffamily\textcolor{blue!75!black}{\bfseries +\textsc{m.-à-j.}~:}~#1} +% +\lstset{style=dbtex} +\sys_if_engine_pdftex:TF +{ + \ExplSyntaxOff + \lstMakeShortInline[style=dbtex]| + \ExplSyntaxOn +}{ + \lstMakeShortInline[style=dbtex]× +} +% \end{macrocode} +% % We PDFdisable some commands in order to avoid troubles in bookmarks. % \begin{macrocode} \pdfstringdefDisableCommands{% diff --git a/macros/latex/contrib/eso-pic/README b/macros/latex/contrib/eso-pic/README deleted file mode 100644 index 2633b5dc54..0000000000 --- a/macros/latex/contrib/eso-pic/README +++ /dev/null @@ -1,11 +0,0 @@ -eso-pic -======= - -LaTeX package to add pic­ture com­mands (or back­grounds) to ev­ery page. - -The pack­age adds one or more user com­mands to LaTeX’s shipout rou­tine, which -may be used to place the out­put at fixed po­si­tions. The grid op­tion may be -used to find the cor­rect places. - -Rolf Niepraschk - diff --git a/macros/latex/contrib/eso-pic/README.md b/macros/latex/contrib/eso-pic/README.md new file mode 100644 index 0000000000..2633b5dc54 --- /dev/null +++ b/macros/latex/contrib/eso-pic/README.md @@ -0,0 +1,11 @@ +eso-pic +======= + +LaTeX package to add pic­ture com­mands (or back­grounds) to ev­ery page. + +The pack­age adds one or more user com­mands to LaTeX’s shipout rou­tine, which +may be used to place the out­put at fixed po­si­tions. The grid op­tion may be +used to find the cor­rect places. + +Rolf Niepraschk + diff --git a/macros/latex/contrib/eso-pic/eso-ex1.tex b/macros/latex/contrib/eso-pic/eso-ex1.tex index c9a43c24f9..c780356975 100644 --- a/macros/latex/contrib/eso-pic/eso-ex1.tex +++ b/macros/latex/contrib/eso-pic/eso-ex1.tex @@ -1,22 +1,22 @@ % file `eso-ex1.tex'; a framed background example -% Rolf Niepraschk, 2020-09-27, Rolf.Niepraschk@gmx.de \documentclass[a4paper]{article} \usepackage{eso-pic} \listfiles -\newdimen\myTempdima -\newdimen\myTempdimb -\newdimen\myTempdimc - -\AddToShipoutPicture{% - \setlength{\myTempdima}{15mm}% - \setlength{\myTempdimb}{\dimexpr\paperwidth-2\myTempdima}% - \setlength{\myTempdimc}{\dimexpr\paperheight-2\myTempdima}% - \thicklines% - \put(\LenToUnit{\myTempdima},\LenToUnit{\myTempdima}){% - \framebox(\LenToUnit{\myTempdimb},\LenToUnit{\myTempdimc}){}}% +\newdimen\myLenA +\newdimen\myLenB +\newdimen\myLenC + +\AddToShipoutPictureBG{% + \begingroup + \setlength\myLenA{15mm}% + \setlength\myLenB{\dimexpr\paperwidth-2\myLenA}% + \setlength\myLenC{\dimexpr\paperheight-2\myLenA}% + \thicklines% + \put(\myLenA,\myLenA){\framebox(\myLenB,\myLenC){}}% + \endgroup } \begin{document} @@ -24,11 +24,13 @@ \section*{First page} This page and all the following have a frame with 15~mm - distance from the paper edges.\newpage + distance from the paper edges. + + \newpage \section*{Second page} - \AddToShipoutPicture*{\put(100,100){\circle{40}}} + \AddToShipoutPictureBG*{\put(100,100){\circle{40}}} Only this page has a circle on the lower left side. diff --git a/macros/latex/contrib/eso-pic/eso-ex2.tex b/macros/latex/contrib/eso-pic/eso-ex2.tex index 37012a958e..affe690bd7 100644 --- a/macros/latex/contrib/eso-pic/eso-ex2.tex +++ b/macros/latex/contrib/eso-pic/eso-ex2.tex @@ -1,24 +1,23 @@ % file `eso-ex2.tex'; an example for background pictures -% Rolf Niepraschk, 2015-07-14, Rolf.Niepraschk@gmx.de -\listfiles\setcounter{errorcontextlines}{100} + \documentclass{article} \usepackage{eso-pic} \usepackage{graphicx} -\usepackage[dvips]{geometry} -% Tells `dvips' and `pdfTeX' the papersize. % `rose.eps' from CTAN: macros/generic/boxedeps/ \newcommand\BackgroundPicture{% - \put(0,0){% - \parbox[b][\paperheight]{\paperwidth}{% - \vfill - \centering - \includegraphics[width=\paperwidth,height=\paperheight,% - keepaspectratio]{rose}% - \vfill - }}} + \put(0,0){% + \parbox[b][\paperheight]{\paperwidth}{% + \vfill + \centering + \includegraphics[width=\paperwidth,height=\paperheight,% + keepaspectratio]{rose}% + \vfill + } + } +} % The picture is centered on the page background \AddToShipoutPicture{\BackgroundPicture} @@ -34,7 +33,7 @@ \newpage -\AddToShipoutPicture{\BackgroundPicture} +\AddToShipoutPictureBG{\BackgroundPicture} \section{\LaTeX} \end{document} diff --git a/macros/latex/contrib/eso-pic/eso-ex3.tex b/macros/latex/contrib/eso-pic/eso-ex3.tex deleted file mode 100644 index 4465d3e3f8..0000000000 --- a/macros/latex/contrib/eso-pic/eso-ex3.tex +++ /dev/null @@ -1,42 +0,0 @@ - -% file `eso-ex3.tex'; an example for import pages of another (pdf) document. -% This works only with `pdfTeX' (maybe `VTeX'?). -% Based on an article from Andreas Matthias in d.c.t.t -% -% A much better solution is Andreas' package `pdfpages'. -% -% Rolf Niepraschk, 2015-07-14, Rolf.Niepraschk@gmx.de - -\documentclass[a4paper]{article} -\usepackage[pdftex]{graphicx}% -% `pdftex.def' >= 2000/05/12 v0.02u and `pdftex' >= v0.14 are needed. -\usepackage{ifthen,calc,eso-pic} - -\newcounter{thispdfpage}\newcounter{afterlastpdfpage} -\newcommand{\includepdfpages}[3] -{% - \setcounter{thispdfpage}{#2}\setcounter{afterlastpdfpage}{#3+1}% - \newpage - \whiledo{\value{thispdfpage} < \value{afterlastpdfpage}}% - {% - \AddToShipoutPicture* - {% - \put(0,0){% - \includegraphics[width=\paperwidth,height=\paperheight,% - keepaspectratio,page=\arabic{thispdfpage}]{#1}}% - } - \thispagestyle{empty}\mbox{}\newpage - \stepcounter{thispdfpage}% - } -} - -\begin{document} - -\section{First page of the main document} - -% import pages 1 to 3 of an external document. -\includepdfpages{ltx3info.pdf}{1}{3} - -\section{First page after the imported pages of the external document} - -\end{document} diff --git a/macros/latex/contrib/eso-pic/eso-ex4.tex b/macros/latex/contrib/eso-pic/eso-ex4.tex index eb617a7bbd..46a66c5774 100644 --- a/macros/latex/contrib/eso-pic/eso-ex4.tex +++ b/macros/latex/contrib/eso-pic/eso-ex4.tex @@ -1,32 +1,54 @@ % file `eso-ex4.tex'; a framed text area example -% Rolf Niepraschk, 2015-07-14, Rolf.Niepraschk@gmx.de \listfiles\setcounter{errorcontextlines}{100} \documentclass[a4paper,twoside]{article} -\usepackage{graphicx,color} +\usepackage{graphicx,pict2e} \usepackage{eso-pic} -\definecolor{lightgray}{gray}{.75} -\AddToShipoutPicture{% - \AtTextLowerLeft{% - \framebox(\LenToUnit{\textwidth},\LenToUnit{\textheight}){}}} +\AddToShipoutPictureBG{% + \AtTextLowerLeft{\framebox(\textwidth,\textheight){}}} \setlength\parindent{0pt} \begin{document} \section*{First page} + + \AddToShipoutPictureBG*{% on the background, only this page + \AtTextUpperLeft{% + \put(30mm,-25mm){\color{lightgray}\circle*{50}} + } + } + \AddToShipoutPictureFG*{% on the foreground, only this page + \AtTextUpperLeft{% + \put(60mm,-25mm){\color{lightgray}\circle*{50}} + } + } This page and all the following have a frame around the - text area. + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par + This page and all the following have a frame around the + text area. \par \vfill X \hfill X\newpage \section*{Second page} - \AddToShipoutPicture*{% + \AddToShipoutPictureBG*{% \AtTextCenter{% \makebox(0,0)[c]{\resizebox{\textwidth}{!}{% \rotatebox{45}{\textsf{\textbf{\color{lightgray}DRAFT}}}}} diff --git a/macros/latex/contrib/eso-pic/eso-ex5.tex b/macros/latex/contrib/eso-pic/eso-ex5.tex index 6c6e1e9ea5..78d0ee5ef7 100644 --- a/macros/latex/contrib/eso-pic/eso-ex5.tex +++ b/macros/latex/contrib/eso-pic/eso-ex5.tex @@ -1,6 +1,5 @@ % file `eso-ex5.tex'; background grid example -% Rolf Niepraschk, 2015-07-14, Rolf.Niepraschk@gmx.de \listfiles\setcounter{errorcontextlines}{100} \documentclass[a4paper,twoside]{article} diff --git a/macros/latex/contrib/eso-pic/eso-memoir-test.tex b/macros/latex/contrib/eso-pic/eso-memoir-test.tex index 5df69f737e..ad88f57fcd 100644 --- a/macros/latex/contrib/eso-pic/eso-memoir-test.tex +++ b/macros/latex/contrib/eso-pic/eso-memoir-test.tex @@ -1,5 +1,3 @@ -% Rolf Niepraschk, 2015-07-14, Rolf.Niepraschk@gmx.de - \setcounter{errorcontextlines}{100} \listfiles \documentclass[twoside,a4paper,showtrims]{memoir} @@ -19,6 +17,7 @@ \AddToShipoutPicture{% \AtPageLowerLeft{\circle*{40}}% \AtPageUpperLeft{\circle*{40}}% + \AtPageCenter{\circle*{40}}% \AtTextLowerLeft{\circle*{15}}% \AtTextUpperLeft{\circle*{15}}% \AtStockLowerLeft{\circle*{40}}% diff --git a/macros/latex/contrib/eso-pic/eso-pic.dtx b/macros/latex/contrib/eso-pic/eso-pic.dtx index 74060e560e..5cdf9141cd 100644 --- a/macros/latex/contrib/eso-pic/eso-pic.dtx +++ b/macros/latex/contrib/eso-pic/eso-pic.dtx @@ -23,9 +23,9 @@ % \fi % % \iffalse -%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\NeedsTeXFormat{LaTeX2e}[2020-10-01] %\ProvidesPackage{eso-pic} -% [2020/09/27 v2.0i eso-pic (RN)] +% [2020/10/14 v3.0a eso-pic (RN)] % %<*driver> \documentclass[a4paper]{ltxdoc} @@ -37,7 +37,7 @@ % % \fi % -% \CheckSum{782} +% \CheckSum{750} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -151,9 +151,10 @@ % \cs{ClearShipoutPictureFG} % clears the contents of \cs{ESO@HookIFG}. % -% \DescribeMacro{\LenToUnit} Allows a length as parameter to a picture -% command. Note that this macro is no more necessary when using -% |\usepackage{picture}|. +% \DescribeMacro{\LenToUnit} [Allows a length as parameter to a picture +% command.] Note that this macro exist only for compatibility to older +% versions of this package. A recent \LaTeX\ version allows dimensions +% in picture commands. % % \DescribeMacro{\gridSetup} % \cmd{\gridSetup}\oarg{gridunitname}\marg{gridunit}\marg{labelfactor}^^A @@ -208,28 +209,21 @@ % % \subsection{The main functionality} % -% \begin{macrocode} -\RequirePackage{atbegshi} -% \end{macrocode} % \begin{macro}{\LenToUnit} % \changes{v1.0d}{2006/07/14}{Using \cmd{\providecommand} instead of % \cmd{\newcommand} for \cmd{\LenToUnit}} % \changes{v2.0f}{2015/07/14}{Changed definition for better compatibility % with package \pkgname{curve2e} suggested by Claudio Beccari.} +% Only for compatibility +% \changes{v3.0a}{2020/10/14}{No more used. (RN).} % \begin{macrocode} -\providecommand*\LenToUnit[1]{\strip@pt\dimexpr#1*\p@/\unitlength} +\providecommand*\LenToUnit[1]{#1} % \end{macrocode} % \end{macro} -% \changes{v2.0i}{2020/09/27}{no more system dimension registers} -% \begin{macro}{\ESO@tempdima} -% \begin{macro}{\ESO@tempdimb} -% Some auxiliary dimension registers % \begin{macrocode} \newdimen\ESO@tempdima \newdimen\ESO@tempdimb % \end{macrocode} -% \end{macro} -% \end{macro} % \begin{macro}{\ESO@isMEMOIR} % Support for the \clsname{memoir} class. % \begin{macrocode} @@ -240,20 +234,20 @@ % \begin{macro}{\AtPageUpperLeft} % \begin{macrocode} \newcommand\AtPageUpperLeft[1]{% - \put(0,\LenToUnit{-\ESO@yoffsetI}){#1}% + \put(0,-\ESO@yoffsetI){#1}% } % \end{macrocode} % \end{macro} % \begin{macro}{\AtPageLowerLeft} % \begin{macrocode} \newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{% - \put(0,\LenToUnit{-\paperheight}){#1}}} + \put(0,-\paperheight){#1}}} % \end{macrocode} % \end{macro} % \begin{macro}{\AtPageCenter} % \begin{macrocode} \newcommand\AtPageCenter[1]{\AtPageUpperLeft{% - \put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}% + \put(.5\paperwidth,-.5\paperheight){#1}}% } % \end{macrocode} % \end{macro} @@ -274,7 +268,7 @@ \advance\ESO@tempdimb\paperheight \advance\ESO@tempdimb\trimtop \AtPageLowerLeft{% - \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){#1}% + \put(\ESO@tempdima,\ESO@tempdimb){#1}% }% \endgroup } @@ -290,7 +284,7 @@ \ESO@isMEMOIR{% \renewcommand\AtStockUpperLeft[1]{% \AtStockLowerLeft{% - \put(0,\LenToUnit{\stockheight}){#1}% + \put(0,\stockheight){#1}% }% }% }{% @@ -305,7 +299,7 @@ \ESO@isMEMOIR{% \renewcommand\AtStockCenter[1]{% \AtStockLowerLeft{% - \put(\LenToUnit{.5\stockwidth},\LenToUnit{.5\stockheight}){#1}% + \put(.5\stockwidth,.5\stockheight){#1}% }% }% }{% @@ -329,7 +323,7 @@ \fi \ESO@tempdimb=-\uppermargin \AtPageUpperLeft{% - \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){#1}% + \put(\ESO@tempdima,\ESO@tempdimb){#1}% }% \endgroup } @@ -351,7 +345,7 @@ \advance\ESO@tempdimb-\headheight \advance\ESO@tempdimb-\headsep \AtPageUpperLeft{% - \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){#1}% + \put(\ESO@tempdima,\ESO@tempdimb){#1}% }% \endgroup } @@ -361,13 +355,13 @@ % \begin{macro}{\AtTextLowerLeft} % \begin{macrocode} \newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{% - \put(0,\LenToUnit{-\textheight}){#1}}} + \put(0,-\textheight){#1}}} % \end{macrocode} % \end{macro} % \begin{macro}{\AtTextCenter} % \begin{macrocode} \newcommand\AtTextCenter[1]{\AtTextUpperLeft{% - \put(\LenToUnit{.5\textwidth},\LenToUnit{-.5\textheight}){#1}}} + \put(.5\textwidth,-.5\textheight){#1}}} % \end{macrocode} % \end{macro} % \DescribeMacro{\ESO@HookIBG}\DescribeMacro{\ESO@HookIIBG} @@ -405,6 +399,7 @@ \@ifstar{\g@addto@macro\ESO@HookIIFG}{\g@addto@macro\ESO@HookIFG}} % \end{macrocode} % \end{macro} +% \changes{v3.0a}{2020/10/14}{LaTeX's shipout hooks instead of `atbegshi' (RN).} % \begin{macro}{\ClearShipoutPictureBG} % \begin{macro}{\ClearShipoutPicture} % \begin{macro}{\ClearShipoutPictureFG} @@ -419,15 +414,11 @@ % \end{macro} % \end{macro} % \end{macro} -% \begin{macro}{\AtBeginShipout} -% \begin{macro}{\AtBeginShipoutUpperLeft} -% \begin{macro}{\AtBeginShipoutUpperLeftForeground} -% (see package \pkgname{atbegshi}) % \changes{v2.0c}{2010/10/06}{bugfix for memoir class % (reported by YI Hoze)} % \begin{macrocode} \ESO@isMEMOIR{% - \AtBeginShipout{% + \newcommand*\ESO@MEMOIR@corr{% \ESO@tempdima=-\trimedge \advance\ESO@tempdima-\paperwidth \advance\ESO@tempdima\stockwidth @@ -438,41 +429,38 @@ \fi\fi \ESO@tempdimb=\ESO@yoffsetI \advance\ESO@tempdimb-\trimtop - \nointerlineskip - \AtBeginShipoutUpperLeft{% - \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){% - \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG - \global\let\ESO@HookIIBG\@empty - }% + } + \nointerlineskip + \AddToHook{shipout/background}{% + \ESO@MEMOIR@corr + \put(\ESO@tempdima,\ESO@tempdimb){% + \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG + \global\let\ESO@HookIIBG\@empty }% - \AtBeginShipoutUpperLeftForeground{% - \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){% - \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG - \global\let\ESO@HookIIFG\@empty - }% + }% + \AddToHook{shipout/foreground}{% + \ESO@MEMOIR@corr + \put(\ESO@tempdima,\ESO@tempdimb){% + \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG + \global\let\ESO@HookIIFG\@empty }% - } + }% }{% - \AtBeginShipout{% - \nointerlineskip - \AtBeginShipoutUpperLeft{% - \put(0,\LenToUnit{\ESO@yoffsetI}){% - \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG - \global\let\ESO@HookIIBG\@empty - }% + \nointerlineskip + \AddToHook{shipout/background}{% + \put(0,\ESO@yoffsetI){% + \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG + \global\let\ESO@HookIIBG\@empty }% - \AtBeginShipoutUpperLeftForeground{% - \put(0,\LenToUnit{\ESO@yoffsetI}){% - \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG - \global\let\ESO@HookIIFG\@empty - }% + }% + \AddToHook{shipout/foreground}{% + \put(0,\ESO@yoffsetI){% + \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG + \global\let\ESO@HookIIFG\@empty }% - } + }% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} % \subsection{The background grid} % \begin{macrocode} \RequirePackage{keyval} @@ -613,7 +601,7 @@ \fi }% \ifESO@dvips\def\@tempb{eepic}\else\def\@tempb{epic}\fi - \def\@tempa{dotted}%\def\ESO@gap{\LenToUnit{6\@wholewidth}}% + \def\@tempa{dotted}%\def\ESO@gap{6\@wholewidth}% \ifx\@tempa\ESO@subgridstyle \IfFileExists{\@tempb.sty}% {% @@ -648,26 +636,26 @@ % \begin{macrocode} \ESO@div{\paperheight}{\ESO@griddelta}% \multiput(0,0)(0,\ESO@griddeltaY){\@tempcnta}% - {\ESO@hline{\LenToUnit{\paperwidth}}}% + {\ESO@hline{\paperwidth}}% % \end{macrocode} % --- vertical subgrid lines --- % \begin{macrocode} \ESO@div{\paperwidth}{\ESO@griddelta}% - \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@griddelta,0){\@tempcnta}% - {\ESO@vline{\LenToUnit{\paperheight}}}% + \multiput(0,\ESO@yoffsetII)(\ESO@griddelta,0){\@tempcnta}% + {\ESO@vline{\paperheight}}% \ESO@color{\ESO@gridcolor}% % \end{macrocode} % --- horizontal grid lines --- % \begin{macrocode} \ESO@div{\paperheight}{\ESO@gridDelta}% \multiput(0,0)(0,\ESO@gridDeltaY){\@tempcnta}% - {\ESO@Hline{\LenToUnit{\paperwidth}}}% + {\ESO@Hline{\paperwidth}}% % \end{macrocode} % --- vertical grid lines --- % \begin{macrocode} \ESO@div{\paperwidth}{\ESO@gridDelta}% - \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@gridDelta,0){\@tempcnta}% - {\ESO@Vline{\LenToUnit{\paperheight}}}% + \multiput(0,\ESO@yoffsetII)(\ESO@gridDelta,0){\@tempcnta}% + {\ESO@Vline{\paperheight}}% % \end{macrocode} % --- horizontal numbers --- % \changes{v1.1a}{2002/11/09}{Font setting added.} diff --git a/macros/latex/contrib/eso-pic/eso-pic.pdf b/macros/latex/contrib/eso-pic/eso-pic.pdf index c1b4fe471b..961f29e150 100644 Binary files a/macros/latex/contrib/eso-pic/eso-pic.pdf and b/macros/latex/contrib/eso-pic/eso-pic.pdf differ diff --git a/macros/latex/contrib/eso-pic/showframe.sty b/macros/latex/contrib/eso-pic/showframe.sty index 5bc0366f10..9d746d87ac 100644 --- a/macros/latex/contrib/eso-pic/showframe.sty +++ b/macros/latex/contrib/eso-pic/showframe.sty @@ -22,7 +22,7 @@ % \ShowFrameColor and \ShowFrameLinethickness can be used to change % the frames. -\ProvidesPackage{showframe}[2011/02/24 v0.1i showframe (new impl., RN)] +\ProvidesPackage{showframe}[2020/10/14 v0.1j showframe (new impl., RN)] \newif\ifSF@frame\SF@frametrue @@ -34,31 +34,32 @@ \newcommand*\ShowFrameColor{\normalcolor} \newcommand*\ShowFrameLinethickness{.8pt} +\newdimen\SF@tempdima \newcommand\ShowFramePicture{% \begingroup \ShowFrameColor\linethickness{\ShowFrameLinethickness}% \AtPageLowerLeft{% - \framebox(\LenToUnit{\paperwidth},\LenToUnit{\paperheight}){}}% + \framebox(\paperwidth,\paperheight){}}% \AtTextLowerLeft{% - \framebox(\LenToUnit{\textwidth},\LenToUnit{\textheight}){}}% + \framebox(\textwidth,\textheight){}}% \AtTextUpperLeft{% - \put(0,\LenToUnit{\headsep}){% - \framebox(\LenToUnit{\textwidth},\LenToUnit{\headheight}){}}}% + \put(0,\headsep){% + \framebox(\textwidth,\headheight){}}}% \AtTextLowerLeft{% - \put(0,\LenToUnit{-\footskip}){% - \line(1,0){\LenToUnit{\textwidth}}}}% + \put(0,-\footskip){% + \line(1,0){\textwidth}}}% \AtTextLowerLeft{% - \@tempdima=\textwidth\advance\@tempdima\marginparsep% + \SF@tempdima=\textwidth\advance\SF@tempdima\marginparsep% \if@twoside \ifodd\c@page\else \if@mparswitch - \@tempdima=-\marginparsep\advance\@tempdima-\marginparwidth + \SF@tempdima=-\marginparsep\advance\SF@tempdima-\marginparwidth \fi \fi \fi - \put(\LenToUnit{\@tempdima},0)% - {\framebox(\LenToUnit{\marginparwidth},\LenToUnit{\textheight}){}}% + \put(\SF@tempdima,0)% + {\framebox(\marginparwidth,\textheight){}}% }% \endgroup } diff --git a/macros/latex/contrib/gentombow/README.md b/macros/latex/contrib/gentombow/README.md index 6ea7f2aea5..94cbdbdac0 100644 --- a/macros/latex/contrib/gentombow/README.md +++ b/macros/latex/contrib/gentombow/README.md @@ -3,6 +3,16 @@ This bundle provides a LaTeX package for generating Japanese-style crop marks (called 'tombow' in Japanese) for practical use in self-publishing. +The core feature of "gentombow.sty" is based on pLaTeX kernel. + +## Supported engines + +All packages except bounddvi.sty works with the followings: +- LaTeX + dvips/dvipdfmx +- pLaTeX/upLaTeX + dvips/dvipdfmx +- pdfLaTeX +- LuaLaTeX +- XeLaTeX ## Bundle contents @@ -16,11 +26,23 @@ self-publishing. Set papersize special to DVI file. Can be used on LaTeX/pLaTeX/upLaTeX (with DVI output mode) with dvips or dvipdfmx drivers. - Old version (v6.0) of this package, written by Koichi INOUE - in 2004, is available at - https://www.ma.ns.tcu.ac.jp/Pages/TeX/bounddvi.sty.html - (dead link). - Now it is maintained by Hironobu Yamashita by his courtesy. + Old version (v6.0) was written by Koichi INOU in 2004 + (https://www.ma.ns.tcu.ac.jp/Pages/TeX/bounddvi.sty.html), + and incorporated into this bundle by his courtesy. + +## Miscellaneous patches + +Some packages are unaware of crop marks defined in "gentombow"; +to cope with those packages, patches are provided here. +- pxtextpos.sty: + Patch for textpos.sty (by Norman Gray). +- pxesopic.sty: + Patch for eso-pic.sty (by Rolf Niepraschk). +- pxpdfpages.sty: + Patch for pdfpages.sty (by Andreas Matthias). + +These patches can also be used independent of "gentombow", +to avoid problems with crop marks on pLaTeX and upLaTeX. ## Character encoding @@ -44,6 +66,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2020-09-25 +2020-10-14 Hironobu Yamashita diff --git a/macros/latex/contrib/gentombow/bounddvi-en.pdf b/macros/latex/contrib/gentombow/bounddvi-en.pdf index fb9647d1ec..2cf419316e 100644 Binary files a/macros/latex/contrib/gentombow/bounddvi-en.pdf and b/macros/latex/contrib/gentombow/bounddvi-en.pdf differ diff --git a/macros/latex/contrib/gentombow/bounddvi.pdf b/macros/latex/contrib/gentombow/bounddvi.pdf index c0a2b20af6..57fed9c6c7 100644 Binary files a/macros/latex/contrib/gentombow/bounddvi.pdf and b/macros/latex/contrib/gentombow/bounddvi.pdf differ diff --git a/macros/latex/contrib/gentombow/bounddvi.sty b/macros/latex/contrib/gentombow/bounddvi.sty index 3e355d63c1..a70da52c6e 100644 --- a/macros/latex/contrib/gentombow/bounddvi.sty +++ b/macros/latex/contrib/gentombow/bounddvi.sty @@ -1,6 +1,6 @@ % % bounddvi.sty -% 2020/09/25 v8.0-v7.0 h.y.acetaminophen [at] gmail.com +% 2020/10/08 v8.2-v7.0 h.y.acetaminophen [at] gmail.com % 2004/12/15 v6.0-v1.0 inoue [at] ma.ns.tcu.ac.jp % % This package, originally written by Koichi Inoue @@ -10,15 +10,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{bounddvi}[2020/09/25 v8.0 bounddvi] - -% catcode trick to hide \iftombow ... \else ... \fi -% since \iftombow is defined only in pLaTeX. -\ifx\pfmtname\@undefined - \catcode`\Q=14\relax -\else - \catcode`\Q=9\relax -\fi +\ProvidesPackage{bounddvi}[2020/10/08 v8.2 bounddvi] % Note: graphics/color drivers % - dvips.def 2016/07/10 v3.1a or later @@ -28,74 +20,84 @@ % setpagesize option (= default since 2016) and \mag equals % to 1000, we can exploit its routine. % (they are using \AtBeginDocument{\AtBeginDvi{...}}) -% However, these .def files do _not_ care about tombow by pLaTeX; -% so, we set \stock{width,height} to invoke stock test in those +% However, these .def files do _not_ care about tombow; so, +% we set \stock{width,height} to invoke stock test in those % files (probably meant for memoir.cls). -Q \iftombow -Q % if \stockwidth/\stockheight are not available, -Q % define them now -Q \ifx\stockwidth\@undefined \newdimen\stockwidth \fi -Q \ifx\stockheight\@undefined \newdimen\stockheight \fi -Q % if \stockwidth already has effective value, do nothing; -Q % otherwise assume pLaTeX-style tombow and set it to -Q % \paperwidth + 2in (similar for \stockheight) -Q \ifdim\stockwidth>\z@\else -Q \stockwidth\paperwidth \advance\stockwidth2in -Q \fi -Q \ifdim\stockheight>\z@\else -Q \stockheight\paperheight \advance\stockheight2in -Q \fi -Q \fi -% reset catcode trick -\catcode`\Q=11\relax +% detection of \iftombow status is delayed until \AtBeginDocument, +% to support both (u)pLaTeX kernel and ``gentombow.sty'' +\def\bddv@maybe@ensure@stock{% + \ifx\tombowtrue\@undefined + \let\bddv@ensure@stock\relax % skip if-tokens + \fi + \bddv@ensure@stock} + +% when \iftombow == \iftrue, we also need \stock{width,height} +\def\bddv@ensure@stock{% + \iftombow + % if \stockwidth/\stockheight are not available, + % define them now + \ifx\stockwidth\@undefined \newdimen\stockwidth \fi + \ifx\stockheight\@undefined \newdimen\stockheight \fi + % if \stockwidth already has effective value, do nothing; + % otherwise assume pLaTeX-style tombow and set it to + % \paperwidth + 2in (similar for \stockheight) + \ifdim\stockwidth>\z@\else + \stockwidth\paperwidth \advance\stockwidth2in + \fi + \ifdim\stockheight>\z@\else + \stockheight\paperheight \advance\stockheight2in + \fi + \fi +} + +% prepare actual papersize special +\def\bddv@emit@papersize{% + \begingroup + % if \stockwidth/\stockheight are defined & have effective + % values, copy them to \paperwidth/\paperheight + % for current group + \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@ + \paperwidth\stockwidth + \fi\fi + \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@ + \paperheight\stockheight + \fi\fi + % adjust for \mag and emit papersize special + \divide\paperwidth\@m\multiply\paperwidth\mag + \divide\paperheight\@m\multiply\paperheight\mag + \special{papersize=\the\paperwidth,\the\paperheight}% + \endgroup +} %% Since LaTeX2e 2020-10-01, \@begindocumenthook is deprecated %% and \UseHook{begindocument} etc. are used. %% This code appends papersize special to the _end_ of the hook. %% (Note: support for old dvips is removed.) -\ifx\AddToHook\@undefined\else - \AtBeginDocument{\AtBeginDvi{% - \begingroup - % if \stockwidth/\stockheight are defined & have effective - % values, copy them to \paperwidth/\paperheight - % for current group - \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@ - \paperwidth\stockwidth - \fi\fi - \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@ - \paperheight\stockheight - \fi\fi - % adjust for \mag and emit papersize special - \divide\paperwidth\@m\multiply\paperwidth\mag - \divide\paperheight\@m\multiply\paperheight\mag - \special{papersize=\the\paperwidth,\the\paperheight}% - \endgroup}} - \expandafter\endinput -\fi +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020-10-01}{% + \AtBeginDocument{% + \bddv@maybe@ensure@stock + \AtBeginDvi{\bddv@emit@papersize}}% + \endinput +}{} %% The rest of this package is meant for %% LaTeX2e 2020-02-02 PL5 or older. % following code is almost equivalent to % \AtBeginDocument{\AtBeginDvi{...}} -% however, we append the specification to the _beginning_ of -% \@begindocumenthook; this ensures proper papersize when -% dvips (TeX Live 2016 or earlier) is used. +% however, we put into the _beginning_ of \@begindocumenthook; +% this ensures proper papersize when old dvips +% (TeX Live 2016 or earlier) is used. +% also, note that old pLaTeX (before 2016/07/01) needs \yoko +% at the beginning of \AtBeginDvi. \begingroup -\def\@prependto@begindocumenthook{\global\setbox\@begindvibox - \vbox{\csname yoko\endcsname\unvbox\@begindvibox - \begingroup - \ifx\stockwidth\@undefined\else \ifdim\stockwidth>\z@ - \paperwidth\stockwidth - \fi\fi - \ifx\stockheight\@undefined\else \ifdim\stockheight>\z@ - \paperheight\stockheight - \fi\fi - \divide\paperwidth\@m\multiply\paperwidth\mag - \divide\paperheight\@m\multiply\paperheight\mag - \special{papersize=\the\paperwidth,\the\paperheight}% - \endgroup}} +\def\@prependto@begindocumenthook{% + \bddv@maybe@ensure@stock + \global\setbox\@begindvibox\vbox{% + \csname yoko\endcsname\unvbox\@begindvibox + \bddv@emit@papersize}} \toks@\expandafter\expandafter\expandafter {\expandafter\@prependto@begindocumenthook\@begindocumenthook} \xdef\@begindocumenthook{\the\toks@} diff --git a/macros/latex/contrib/gentombow/gentombow-ja.pdf b/macros/latex/contrib/gentombow/gentombow-ja.pdf index ada6318d41..ee94b6c132 100644 Binary files a/macros/latex/contrib/gentombow/gentombow-ja.pdf and b/macros/latex/contrib/gentombow/gentombow-ja.pdf differ diff --git a/macros/latex/contrib/gentombow/gentombow-ja.tex b/macros/latex/contrib/gentombow/gentombow-ja.tex index 763f790020..411aad1db2 100644 --- a/macros/latex/contrib/gentombow/gentombow-ja.tex +++ b/macros/latex/contrib/gentombow/gentombow-ja.tex @@ -3,14 +3,10 @@ \epTeXinputencoding utf8 % ensure utf-8 encoding for platex \fi +\RequirePackage{plautopatch}% pldocverb \documentclass[a4paper,dvipdfmx]{jsarticle} \usepackage{doc} \makeatletter -%%% import from jltxdoc.cls -\def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi - \bgroup \let\do\do@noligs \verbatim@nolig@list - \ttfamily \verb@eol@error \let\do\@makeother \dospecials - \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}} \xspcode"5C=3 %% \ \xspcode"22=3 %% " %%% dangerous bend @@ -207,7 +203,11 @@ C系列(\texttt{c0}--\texttt{c10})と なお、ここでも用紙サイズが横長の場合は自動的に出力も横長になり、 縦長の場合は自動的に縦長になります。 -オプションは\jMeta{トンボ形式}\texttt{-}\jMeta{出力サイズ}の書式で与えます。 +オプションは\jMeta{トンボ形式}\texttt{-}\jMeta{出力サイズ}の書式 +\footnote{他のパッケージで見られるようなkey=value形式ではないので +注意してください。このような特殊なオプション書式を用いているのは、 +オプション名が他のクラスファイルやパッケージと衝突する可能性を +小さくするためです。}で与えます。 トンボ形式は、p\LaTeX の標準クラスと同じで \verb+tombow+, \verb+tombo+, \verb+mentuke+のいずれかを選びます (\verb+tombow+はジョブ情報を表示し、\verb+tombo+は表示しません。 @@ -453,6 +453,7 @@ $30\,\mathrm{mm}$にしたいとき\footnote{ここでは「本文の領域以 \verb+\settombowbleed+が\verb+/TrimBox+に反映されな かったバグの修正 \item 2019/07/21 v0.9k \textsf{pdfx}パッケージとの整合性をとる改良 + \item 2020/10/14 v0.9l \textsf{plautopatch}からトンボ対策パッチを取り込み \end{itemize} \end{document} diff --git a/macros/latex/contrib/gentombow/gentombow.pdf b/macros/latex/contrib/gentombow/gentombow.pdf index c47dab8edb..178bab4c52 100644 Binary files a/macros/latex/contrib/gentombow/gentombow.pdf and b/macros/latex/contrib/gentombow/gentombow.pdf differ diff --git a/macros/latex/contrib/gentombow/gentombow.sty b/macros/latex/contrib/gentombow/gentombow.sty index 396a8f3405..bcd8093f50 100644 --- a/macros/latex/contrib/gentombow/gentombow.sty +++ b/macros/latex/contrib/gentombow/gentombow.sty @@ -8,7 +8,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{gentombow} - [2019/07/21 v0.9k Generate crop mark 'tombow'] + [2020/10/14 v0.9l Generate crop mark 'tombow'] \def\pxgtmb@pkgname{gentombow} \@namedef{ver@pxgentombow.sty}{}% fake @@ -19,7 +19,8 @@ % case 2: pdfLaTeX etc. % case 1: pLaTeX2e <2018-04-01>+2 or older % case 0: pLaTeX2e <2018-05-20> or newer -\ifx\pfmtversion\@undefined +% --- checked plcore.ltx in platex 2020/09/28 v1.3g +\ifx\pfmtname\@undefined \@ifpackageloaded{luatexja}{}{\chardef\pxgtmb@errlevel=\tw@} \fi \ifnum\pxgtmb@errlevel<\tw@ @@ -615,12 +616,15 @@ \def\pxgtmb@driver{x} \fi % required for putting \special to every page - \ifx\pfmtname\@undefined - \RequirePackage{atbegshi} - \else - \IfFileExists{pxatbegshi.sty} - {\RequirePackage{pxatbegshi}} - {\RequirePackage{atbegshi}} + \RequirePackage{atbegshi} + \ifx\pfmtname\@undefined\else + \ifx\AtBegShi@Output\@undefined + % LaTeX2e 2020-10-01: an emulation by ``atbegshi-ltx.sty'' + % => pLaTeX2e 2020-10-01 natively supports it + \else + % older: the real ``atbegshi.sty'' is loaded + \IfFileExists{pxatbegshi.sty}{\RequirePackage{pxatbegshi}}{} + \fi \fi % do it \if x\pxgtmb@driver @@ -732,34 +736,8 @@ \@onlypreamble\settombowbleed %% patch internal of pdfpages.sty to work with tombow -%% (tested on pdfpages 2017/10/31 v0.5l) -%% Note the code is the same as that of pxpdfpages.sty, -%% but reserved here since gentombow.sty can be used on -%% any LaTeX format -%% (cf. pxpdfpages.sty is restricted to (u)pLaTeX) \def\pxgtmb@patch@pdfpages{% - \RequirePackage{etoolbox} - \patchcmd{\AM@output}{% - \setlength{\@tempdima}{\AM@xmargin}% - \edef\AM@xmargin{\the\@tempdima}% - \setlength{\@tempdima}{\AM@ymargin}% - \edef\AM@ymargin{\the\@tempdima}% - }{% - \setlength{\@tempdima}{\AM@xmargin\iftombow+1in\fi}% - \edef\AM@xmargin{\the\@tempdima}% - \setlength{\@tempdima}{\AM@ymargin\iftombow-1in\fi}% - \edef\AM@ymargin{\the\@tempdima}% - } - {\PackageInfo{\pxgtmb@pkgname}{Patch for pdfpages applied}} - {\PackageWarningNoLine{\pxgtmb@pkgname}{Patch for pdfpages failed}}% -} -%% however, if running (u)pLaTeX, use pxpdfpages.sty if available -\ifx\pfmtname\@undefined\else - \IfFileExists{pxpdfpages.sty}{% - \def\pxgtmb@patch@pdfpages{\RequirePackage{pxpdfpages}}% - }{} -\fi -%% do it + \IfFileExists{pxpdfpages.sty}{\RequirePackage{pxpdfpages}}{}} \AtBeginDocument{\@ifpackageloaded{pdfpages}{\pxgtmb@patch@pdfpages}{}} %% patch pdfx.sty diff --git a/macros/latex/contrib/gentombow/gentombow.tex b/macros/latex/contrib/gentombow/gentombow.tex index 81be1fe6c5..d0bc4523ab 100644 --- a/macros/latex/contrib/gentombow/gentombow.tex +++ b/macros/latex/contrib/gentombow/gentombow.tex @@ -301,6 +301,7 @@ please load \textsf{gentombow} after \textsf{geometry}. Fix a bug that \verb+\settombowbleed+ is not considered by \verb+/TrimBox+. \item 2019/07/21 v0.9k Support \textsf{pdfx} package. + \item 2020/10/14 v0.9l Import tombow-related patches from \textsf{plautopatch}. \end{itemize} \end{document} diff --git a/macros/latex/contrib/gentombow/pxesopic.sty b/macros/latex/contrib/gentombow/pxesopic.sty new file mode 100644 index 0000000000..567b9d0a2d --- /dev/null +++ b/macros/latex/contrib/gentombow/pxesopic.sty @@ -0,0 +1,239 @@ +% +% pxesopic.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the gentombow bundle. +% https://github.com/aminophen/gentombow +% +% This package is expected to be compatible with +% * eso-pic.sty +% 2015/07/21 v2.0g -- 2020/09/27 v2.0i +% +% -------------------------------------------------------------- +% [Note] +% The package ``pxesopic.sty'' relies heavily on internals +% of ``plautopatch.sty''. +% Also, ``pxesopic.sty'' is incompatible with ``memoir.cls''. +% -------------------------------------------------------------- +% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pxesopic} + [2020/10/11 v0.4c Patch to eso-pic for tombow] + +%% preparations +\def\pxesop@pkgname{pxesopic} +\def\pxesop@error{\PackageError\pxesop@pkgname} +\def\pxesop@warn{\PackageWarningNoLine\pxesop@pkgname} +\let\pxesop@debug\@gobble +%\def\pxesop@debug#1{\typeout{\pxesop@pkgname: [DEBUG] #1}}% for debug + +\@ifclassloaded{memoir}{% + \pxesop@warn{This package should not be loaded with memoir.cls}}{} + +\@ifpackageloaded{eso-pic}{% + \pxesop@error{% + Package eso-pic is already loaded!\MessageBreak + Load pxesopic earlier}\@ehc +}{} + +%% hooks +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \RequirePackage{filehook} + \let\pxesop@ExecuteAfterPackage=\AtEndOfPackageFile + \let\pxesop@ExecuteBeforePackage=\AtBeginOfPackageFile +\else + % LaTeX2e 2020-10-01 or newer + \def\pxesop@ExecuteAfterPackage#1{\AddToHook{package/after/#1}} + \def\pxesop@ExecuteBeforePackage#1{\AddToHook{package/before/#1}} +\fi + +%% the contents of \AtBeginShipout is dependent on \iftombow; +%% delay execution of \AtBeginShipout inside ``eso-pic.sty'' +%% until \AtBeginDocument, to support both (u)pLaTeX kernel +%% and ``gentombow.sty'' +\RequirePackage{atbegshi}% eso-pic requires atbegshi +\ifx\pfmtname\@undefined\else + \ifx\AtBegShi@Output\@undefined + % LaTeX2e 2020-10-01: an emulation by ``atbegshi-ltx.sty'' + % => pLaTeX2e 2020-10-01 natively supports it + \else + % older: the real ``atbegshi.sty'' is loaded + \IfFileExists{pxatbegshi.sty}{\RequirePackage{pxatbegshi}}{} + \fi +\fi +% +\pxesop@ExecuteBeforePackage{eso-pic}{\pxesop@before} +\pxesop@ExecuteAfterPackage{eso-pic}{\pxesop@after} +% +\def\pxesop@before{% + \let\pxesop@AtBeginShipout\AtBeginShipout + \def\AtBeginShipout##1{\def\pxesop@hook{##1}}% hide it + \pxesop@debug{\noexpand\AtBeginShipout disabled}% + \let\pxesop@before\relax +} +\def\pxesop@after{% + \let\AtBeginShipout\pxesop@AtBeginShipout % restore + \let\pxesop@AtBeginShipout\relax + \pxesop@debug{\noexpand\AtBeginShipout restored}% + \let\@unknownoptionerror\relax %% avoid an error + \pxesop@debug{\noexpand\@unknownoptionerror disabled}% + \let\pxesop@after\relax +} +%% + +%% load it; be careful not to cause unknown option error! +\expandafter\ifx\csname @unknownoptionerror\endcsname + \pxesop@error{Failed to save \noexpand\@unknownoptionerror}\@ehc +\fi +\let\pxesop@unknownoptionerror\@unknownoptionerror +% +\chardef\pxesop@status\z@ +\@ifpackageloaded{plautopatch}{% + \expandafter\ifx\csname platpc@begin@eso-pic\endcsname\relax + % ``plautopatch.sty'' is loaded but the macro is \relax + % => means that ``pxesopic.sty'' is automatically loaded + \@ifl@t@r{\fmtversion}{2020/10/01}{% + \chardef\pxesop@status\@ne + }{}% + \fi +}{} +% +%% pass all options to keyval-style ``eso-pic.sty'' +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{eso-pic}} +\ProcessOptions\relax +\RequirePackage{eso-pic} +% +%% ensure internal dimensions added in ``eso-pic.sty'' v2.0i +\ifx\ESO@tempdima\@undefined \newdimen\ESO@tempdima \fi +\ifx\ESO@tempdimb\@undefined \newdimen\ESO@tempdimb \fi +% +%% recover the error +\ifnum\pxesop@status>\z@ % auto + \def\pxesop@pkgtohook{eso-pic}% + % note that ``plautopatch.sty'' discards the hook + % on LaTeX2e 2020-02-02 PL5 or older + \ifx\declare@file@substitution\@undefined + \let\pxesop@pkgtohook\pxesop@pkgname + % throw an error for unsupported usage + % [FIXME] the error below is actually unnecessary when + % none of ``eso-pic.sty'' options is used; how to detect that? + \pxesop@error{Try loading \pxesop@pkgname\space by hand}\@ehc + \fi +\else + \let\pxesop@pkgtohook\pxesop@pkgname +\fi +\pxesop@ExecuteAfterPackage\pxesop@pkgtohook{% + \let\@unknownoptionerror\pxesop@unknownoptionerror + \pxesop@debug{\noexpand\@unknownoptionerror restored}% +} +%% + +%% do it +%-- similar to bounddvi.sty (checked 2020/10/08 v8.2) +% detection of \iftombow availability is delayed until \AtBeginDocument, +% to support both (u)pLaTeX kernel and ``gentombow.sty'' +% Note: this package does not consider changing \iftombow status +% in the middle of a single document. +\AtBeginDocument{\pxesop@do} +\def\pxesop@do{% + \ifx\tombowtrue\@undefined + \pxesop@debug{Tombow feature unavailable, no patch applied}% + \let\pxesop@switch\pxesop@orig % skip if-tokens and restore + \fi + \pxesop@switch} +% +\def\pxesop@switch{% + \iftombow \pxesop@ensure@stock \pxesop@new + \else \pxesop@orig \fi} +% +\def\pxesop@ensure@stock{% + %\iftombow + % if \stockwidth/\stockheight are not available, + % define them now + \ifx\stockwidth\@undefined \newdimen\stockwidth \fi + \ifx\stockheight\@undefined \newdimen\stockheight \fi + % if \stockwidth already has effective value, do nothing; + % otherwise assume pLaTeX-style tombow and set it to + % \paperwidth + 2in (similar for \stockheight) + \ifdim\stockwidth>\z@\else + \stockwidth\paperwidth \advance\stockwidth2in + \fi + \ifdim\stockheight>\z@\else + \stockheight\paperheight \advance\stockheight2in + \fi + %\fi +} +%-- +% +%% for \iftombow is FALSE => restore from ``eso-pic.sty'' +\expandafter\def\expandafter\pxesop@orig\expandafter{% + \expandafter\AtBeginShipout\expandafter{\pxesop@hook}} +% +%% for \iftombow is TRUE => redefine by ``pxesopic.sty'' +\def\pxesop@new{% + %% \AtStockLowerLeft: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockLowerLeft[1]{% + \begingroup + \ESO@tempdima=-\stockwidth + \advance\ESO@tempdima\paperwidth + \ESO@tempdimb=-\stockheight + \advance\ESO@tempdimb\paperheight + %% specific BEGIN + \advance\ESO@tempdima 1in\relax + \advance\ESO@tempdimb 1in\relax + \advance\ESO@tempdima \hoffset\relax + \advance\ESO@tempdimb \voffset\relax + %% specific END + \AtPageLowerLeft{% + \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){##1}% + }% + \endgroup + }% === + %% \AtStockUpperLeft: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockUpperLeft[1]{% + \AtStockLowerLeft{% + \put(0,\LenToUnit{\stockheight}){##1}% + }% + }% === + %% \AtStockCenter: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockCenter[1]{% + \AtStockLowerLeft{% + \put(\LenToUnit{.5\stockwidth},\LenToUnit{.5\stockheight}){##1}% + }% + }% + %% \AtTextUpperLeft: same as FALSE of \ESO@isMEMOIR + % (no change) + % + %% \AtBeginShipout: based on TRUE of \ESO@isMEMOIR + \AtBeginShipout{% + \ESO@tempdima=\dimexpr(\stockwidth-\paperwidth)/2\relax + \ESO@tempdimb=-\dimexpr(\stockheight+\paperheight)/2\relax + \ifESO@texcoord + \advance\ESO@tempdimb\paperheight % [FIXME] not sure! + \fi + %% specific BEGIN + \advance\ESO@tempdima -\hoffset\relax + \advance\ESO@tempdimb \voffset\relax + %% specific END + \nointerlineskip + \AtBeginShipoutUpperLeft{% + \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){% + \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG + \global\let\ESO@HookIIBG\@empty + }% + }% + \AtBeginShipoutUpperLeftForeground{% + \put(\LenToUnit{\ESO@tempdima},\LenToUnit{\ESO@tempdimb}){% + \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG + \global\let\ESO@HookIIFG\@empty + }% + }% + }% === +} +%% + +\endinput +%% EOF diff --git a/macros/latex/contrib/gentombow/pxgentombow.pdf b/macros/latex/contrib/gentombow/pxgentombow.pdf index a0da4121e0..d30a4509e4 100644 Binary files a/macros/latex/contrib/gentombow/pxgentombow.pdf and b/macros/latex/contrib/gentombow/pxgentombow.pdf differ diff --git a/macros/latex/contrib/gentombow/pxgentombow.sty b/macros/latex/contrib/gentombow/pxgentombow.sty index ab28b38bb1..bd94b4bcee 100644 --- a/macros/latex/contrib/gentombow/pxgentombow.sty +++ b/macros/latex/contrib/gentombow/pxgentombow.sty @@ -8,7 +8,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pxgentombow} - [2018/05/17 v0.9g Generate crop mark 'tombow'] + [2020/10/14 v0.9l Generate crop mark 'tombow'] \PackageWarningNoLine{pxgentombow}{% Package `pxgentombow' is now superseded by\MessageBreak `gentombow', use `gentombow' instead} diff --git a/macros/latex/contrib/gentombow/pxpdfpages.sty b/macros/latex/contrib/gentombow/pxpdfpages.sty new file mode 100644 index 0000000000..ad86ea819b --- /dev/null +++ b/macros/latex/contrib/gentombow/pxpdfpages.sty @@ -0,0 +1,72 @@ +% +% pxpdfpages.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the gentombow bundle. +% https://github.com/aminophen/gentombow +% +% This package is expected to be compatible with +% * pdfpages.sty +% (2015/07/19 v0.5a -- 2020/01/28 v0.5q) +% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pxpdfpages} + [2020/10/11 v0.4c Patch to pdfpages for tombow] + +%% preparations +\def\pxpdpg@pkgname{pxpdfpages} +\def\pxpdpg@warn{\PackageWarningNoLine\pxpdpg@pkgname} +\def\pxpdpg@info{\PackageInfo\pxpdpg@pkgname} +\let\pxpdpg@debug\@gobble +%\def\pxpdpg@debug#1{\typeout{\pxpdpg@pkgname: [DEBUG] #1}}% for debug + +%% load it +\RequirePackageWithOptions{pdfpages}% pdfpages requires atbegshi +\ifx\pfmtname\@undefined\else + \ifx\AtBegShi@Output\@undefined + % LaTeX2e 2020-10-01: an emulation by ``atbegshi-ltx.sty'' + % => pLaTeX2e 2020-10-01 natively supports it + \else + % older: the real ``atbegshi.sty'' is loaded + \IfFileExists{pxatbegshi.sty}{\RequirePackage{pxatbegshi}}{} + \fi +\fi + +%% do it +%-- similar to bounddvi.sty (checked 2020/10/08 v8.2) +% detection of \iftombow availability is delayed until \AtBeginDocument, +% to support both (u)pLaTeX kernel and ``gentombow.sty'' +\AtBeginDocument{\pxpdpg@do} +\def\pxpdpg@do{% + \ifx\tombowtrue\@undefined + \pxpdpg@debug{Tombow feature unavailable, no patch applied}% + \let\pxpdpg@switch\relax % do nothing + \fi + \pxpdpg@switch} +% +\def\pxpdpg@switch{\pxpdpg@patch@pdfpages} + +%% patch internal for pdfpages to work with tombow +%-- Note: this code should be copied to gentombow.sty! +\def\pxpdpg@patch@pdfpages{% + \RequirePackage{etoolbox} + \patchcmd{\AM@output}{% + \setlength{\@tempdima}{\AM@xmargin}% + \edef\AM@xmargin{\the\@tempdima}% + \setlength{\@tempdima}{\AM@ymargin}% + \edef\AM@ymargin{\the\@tempdima}% + }{% + \setlength{\@tempdima}{\AM@xmargin\iftombow+1in\fi}% + \edef\AM@xmargin{\the\@tempdima}% + \setlength{\@tempdima}{\AM@ymargin\iftombow-1in\fi}% + \edef\AM@ymargin{\the\@tempdima}% + }% + {\pxpdpg@info{Patch for pdfpages applied}}% + {\pxpdpg@warn{Patch for pdfpages failed}}% +} + +%% all done + +\endinput diff --git a/macros/latex/contrib/gentombow/pxtextpos.sty b/macros/latex/contrib/gentombow/pxtextpos.sty new file mode 100644 index 0000000000..02cd5202e2 --- /dev/null +++ b/macros/latex/contrib/gentombow/pxtextpos.sty @@ -0,0 +1,108 @@ +% +% pxtextpos.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the gentombow bundle. +% https://github.com/aminophen/gentombow +% +% This package is expected to be compatible with +% * textpos.sty +% 2005/10/13 v1.6a -- 2019/04/15 v1.9.1 +% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pxtextpos} + [2020/10/11 v0.4b Patch to textpos for tombow] + +%% preparations +\def\pxtxtpos@pkgname{pxtextpos} +\def\pxtxtpos@warn{\PackageWarningNoLine\pxtxtpos@pkgname} +\let\pxtxtpos@debug\@gobble +%\def\pxtxtpos@debug#1{\typeout{\pxtxtpos@pkgname: [DEBUG] #1}}% for debug + +%% load it +\RequirePackageWithOptions{textpos} +% textpos requires everyshi, only if both conditions are met: +% (1) \fmtversion is **older** than 2020/10/01 +% (2) \ifTP@abspos == \iftrue +% [TODO] tate-mode support is incomplete! +\ifx\pfmtname\@undefined\else + \ifx\@EveryShipout@Output\@undefined + % LaTeX2e 2020-10-01: an emulation by ``everyshi-ltx.sty'' + % => pLaTeX2e 2020-10-01 natively supports it + \else + % older: the real ``everyshi.sty'' is loaded + \IfFileExists{pxeveryshi.sty}{\RequirePackage{pxeveryshi}}{} + \fi +\fi + +%% do it +%-- similar to bounddvi.sty (checked 2020/10/08 v8.2) +% detection of \iftombow availability is delayed until \AtBeginDocument, +% to support both (u)pLaTeX kernel and ``gentombow.sty'' +\AtBeginDocument{\pxtxtpos@do} +\def\pxtxtpos@do{% + \ifx\tombowtrue\@undefined + \pxtxtpos@debug{Tombow feature unavailable, no patch applied}% + \let\pxtxtpos@switch\relax % do nothing + \fi + \pxtxtpos@switch} +% +\def\pxtxtpos@switch{% + \let\textblockorigin\pxtxtpos@textblockorigin + \ifTP@abspos\textblockorigin{0pt}{0pt}\fi %% reset +} + +%% known definition +\def\pxtxtpos@textblockorigin#1#2{% + \ifTP@abspos + \TP@ox=-1in \addtolength\TP@ox{#1} + \TP@oy=-1in \addtolength\TP@oy{#2} + \ifTP@chatter\typeout{TextBlockOrigin set to #1 x #2}\fi + \else + \PackageError{textpos} + {The \protect\textblockorigin\space command\MessageBreak + may only be used if the package was given\MessageBreak + the`absolute' option when it was invoked} + {If you want to use the \protect\textblockorigin\space command, then + \MessageBreak + invoke the package with the syntax\MessageBreak + \protect\usepackage[absolute]{textpos}} + \fi +} +\@onlypreamble\pxtxtpos@textblockorigin + +%% check definition +\ifx\textblockorigin\pxtxtpos@textblockorigin\else + \pxtxtpos@warn{% + Command \noexpand\textblockorigin is beyond my knowledge.\MessageBreak + I will apply the patch anyway, but it may break:\MessageBreak + Please report to the author of `\pxtxtpos@pkgname.sty'} +\fi + +%% new definition +\def\pxtxtpos@textblockorigin#1#2{% + \ifTP@abspos + \TP@ox=-1in \addtolength\TP@ox{#1} + \TP@oy=-1in \addtolength\TP@oy{#2} + %%% addition + \iftombow + \addtolength\TP@ox{1in}\addtolength\TP@oy{1in} + \fi + %%% + \ifTP@chatter\typeout{TextBlockOrigin set to #1 x #2}\fi + \else + \PackageError{textpos} + {The \protect\textblockorigin\space command\MessageBreak + may only be used if the package was given\MessageBreak + the`absolute' option when it was invoked} + {If you want to use the \protect\textblockorigin\space command, then + \MessageBreak + invoke the package with the syntax\MessageBreak + \protect\usepackage[absolute]{textpos}} + \fi +} + +\endinput +%% EOF diff --git a/macros/latex/contrib/leaflet/README.md b/macros/latex/contrib/leaflet/README.md index bc86a82757..f69c75208c 100644 --- a/macros/latex/contrib/leaflet/README.md +++ b/macros/latex/contrib/leaflet/README.md @@ -11,13 +11,8 @@ Recommended TDS locations: leaflet.cls: tex/latex/leaflet leaflet.pdf,leaflet-manual.pdf: doc/latex/leaflet ``` -For general installation advice, see -http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages For bug reports use [this address](https://github.com/rolfn/leaflet/issues). The leaflet document class is also on CTAN:[macros/latex/contrib/leaflet](http://mirrors.ctan.org/macros/latex/contrib/leaflet) - - - diff --git a/macros/latex/contrib/leaflet/leaflet-manual.pdf b/macros/latex/contrib/leaflet/leaflet-manual.pdf index 01c189db39..07cf61a3f2 100644 Binary files a/macros/latex/contrib/leaflet/leaflet-manual.pdf and b/macros/latex/contrib/leaflet/leaflet-manual.pdf differ diff --git a/macros/latex/contrib/leaflet/leaflet.dtx b/macros/latex/contrib/leaflet/leaflet.dtx index da7360318c..1acc4424c7 100644 --- a/macros/latex/contrib/leaflet/leaflet.dtx +++ b/macros/latex/contrib/leaflet/leaflet.dtx @@ -20,16 +20,16 @@ % \fi % % \iffalse -%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\NeedsTeXFormat{LaTeX2e}[2020-10-01] %\ProvidesClass{leaflet} -% [2015/12/27 v1.1a LaTeX document class (JS,WaS,RN,HjG)] +% [2020/10/14 v2.0b LaTeX document class (JS,WaS,RN,HjG)] % %<*driver|manual> %\def\filename{leaflet.dtx} %\def\filename{leaflet-manual.tex} -\def\fileversion{v1.1b} % change this when leaflet-manual changed, too. -\def\filedate{2017/03/17} -\def\docdate {2015/12/27} % change this when leaflet-manual changed, too. +\def\fileversion{v2.0b} % change this when leaflet-manual changed, too. +\def\filedate{2020/10/14} +\def\docdate {2020/10/14} % change this when leaflet-manual changed, too. % %<*driver> \listfiles @@ -52,7 +52,7 @@ % % \fi % -% \CheckSum{1303} +% \CheckSum{1272} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -144,16 +144,29 @@ %<*class> % \end{macrocode} % +% \subsection{Test whether the LaTeX format is new enough} +% We use the 'shipout/before' hook. +% \begin{macrocode} +\@ifundefined{DiscardShipoutBox}{% + \ClassError{leaflet}{% + LaTeX version equal to or newer \MessageBreak + than '2020-10-01' is required% + }{% + Renew your TeX installation.% + }% +}{} +% \end{macrocode} % \subsection{Saving some internal macros\dots} % % \begin{macrocode} -\let\LL@shipout\shipout \let\LL@outputpage\@outputpage -\let\LL@begindvi\@begindvi \let\LL@@end\@@end +\let\LL@begindvi\@begindvi % \end{macrocode} % \subsection{Option processing} % % \changes{v1.0b}{2004/08/12}{New option -% \texttt{nospecialtricks} for testing purposes. (RN)} +% \texttt{nospecialtricks} for testing purposes. (RN)} +% \changes{v2.0a}{2020/10/13}{The macro \cmd{\LenToUnit} is no longer +% required. (RN)} % \begin{macrocode} \@ifundefined{iflandscape}{\newif\iflandscape}{}% \@ifundefined{iftumble}{\newif\iftumble}{}% @@ -213,10 +226,10 @@ \DeclareOption{foldmark}{% \def\LL@foldmark{% \begingroup - \linethickness{\LenToUnit{\foldmarkrule}}% + \linethickness{\foldmarkrule}% \@tempdima=\dimexpr\paperheight-\LL@tmargin - \put(0,\LenToUnit{\@tempdima}){% - \line(0,-1){\LenToUnit{\foldmarklength}}}% + \put(0,\@tempdima){% + \line(0,-1){\foldmarklength}}% \endgroup}% } % \end{macrocode} @@ -284,13 +297,12 @@ % \begin{macro}{\write} % \begin{macro}{\openout} % \begin{macro}{\closeout} -% Im Folgenden definieren wir die \TeX{} primitives \cmd{\immediate}, -% \cmd{\write}, \cmd{\openout} und \cmd{\closeout} um. Alle nicht -% ``immediate'' ausgef\"uhrten Anweisungen werden dem Makro -% \cmd{\@@@pending@outs} (Kommaliste) hinzugef\"ugt. So k\"onnen speziell die -% \cmd{\write}-Anweisungen unabh\"angig von \TeX's \cmd{\shipout} -% zu einem g\"unstigen Zeitpunkt ausgef\"uhrt werden. For V\TeX\ we -% must keep in mind that \cmd{\immediate}\cmd{\special} exist. +% In the following we redefine the \TeX{} primitives \cmd{\immediate}, +% \cmd{\write}, \cmd{\openout}, and \cmd{\closeout}. All of them not +% ``immediate'' executed statements are added to the macro +% \cmd{\@@@pending@outs} (comma list). So especially the \cmd{\write} +% statements independent of \TeX's \cmd{\shipout} run at a convenient time. For +% V\TeX\ we must keep in mind that \cmd{\immediate}\cmd{\special} exist. % \changes{v1.0b}{2004/08/12}{\cmd{\special} must be processed similar % to e.\,g. \cmd{\write} (V\TeX). (RN)} % \begin{macrocode} @@ -426,20 +438,20 @@ % ready. It works only for output commands in the main text which moved to % the next page but not for floating output commands. % \begin{macrocode} - \newcommand*\@@@exec@outs{% - \begingroup +\newcommand*\@@@exec@outs{% + \begingroup % \end{macrocode} % Pending io's $=\cmd{\@tempcntb} = \mbox{TOTAL-OUTS}\,-\,\mbox{LAST-EXEC}$ % \begin{macrocode} - \@tempcntb\c@@@total@outs\advance\@tempcntb-\c@@@last@exec% - \edef\reserved@a{\botmarks\@@@out@mark}% - \ifx\reserved@a\@empty\@tempcnta\z@\else\@tempcnta\reserved@a\fi% - \LL@debug@info{PENDING-OUTS:\the\@tempcntb\space\space - TOTAL-OUTS:\the\c@@@total@outs\space\space - LAST-EXEC:\the\c@@@last@exec\space\space - TOPMARK:\topmarks\@@@out@mark\space\space - FIRSTMARK:\firstmarks\@@@out@mark\space\space - BOTMARK:\botmarks\@@@out@mark}% + \@tempcntb\c@@@total@outs\advance\@tempcntb-\c@@@last@exec% + \edef\reserved@a{\botmarks\@@@out@mark}% + \ifx\reserved@a\@empty\@tempcnta\z@\else\@tempcnta\reserved@a\fi% + \LL@debug@info{PENDING-OUTS:\the\@tempcntb\space\space + TOTAL-OUTS:\the\c@@@total@outs\space\space + LAST-EXEC:\the\c@@@last@exec\space\space + TOPMARK:\topmarks\@@@out@mark\space\space + FIRSTMARK:\firstmarks\@@@out@mark\space\space + BOTMARK:\botmarks\@@@out@mark}% % \end{macrocode} % Last valid pending entry $ = \cmd{\@tempcntb} = % \mbox{PENDING-OUTS}\,-\,\mbox{TOTAL-OUTS}\,+\,\mbox{BOTMARK} $ @@ -447,33 +459,33 @@ % Number of invalid (moved) out's $ = \cmd{\@tempcnta} = % \mbox{TOTAL-OUTS}\,-\,\mbox{BOTMARK} $ % \begin{macrocode} - \advance\@tempcnta-\c@@@total@outs \advance\@tempcntb\@tempcnta - \@tempcnta-\@tempcnta% - \ifnum\@tempcnta>\z@ - \LL@debug@info{% - >>> resave \the\@tempcnta\space output command(s). - Too early to execute! <<<}% - \fi - \@tempcnta\z@ \def\reserved@b{}% - \@for\reserved@a :=\@@@pending@outs\do{% - \ifx\reserved@a\@empty\else - \ifnum\@tempcnta<\@tempcntb% - \reserved@a% execute output's related to the current page box. - \global\advance\c@@@last@exec\@ne - \LL@debug@info{>>> execute output command number - \the\c@@@last@exec\space<<<}% - \else + \advance\@tempcnta-\c@@@total@outs \advance\@tempcntb\@tempcnta + \@tempcnta-\@tempcnta% + \ifnum\@tempcnta>\z@ + \LL@debug@info{% + >>> resave \the\@tempcnta\space output command(s). + Too early to execute! <<<}% + \fi + \@tempcnta\z@ \def\reserved@b{}% + \@for\reserved@a :=\@@@pending@outs\do{% + \ifx\reserved@a\@empty\else + \ifnum\@tempcnta<\@tempcntb% + \reserved@a% execute output's related to the current page box. + \global\advance\c@@@last@exec\@ne + \LL@debug@info{>>> execute output command number + \the\c@@@last@exec\space<<<}% + \else % \end{macrocode} % Other output's must be resaved and still pending. % \begin{macrocode} - \expandafter\g@addto@macro\expandafter\reserved@b\expandafter{% - \reserved@a,}% - \fi - \advance\@tempcnta\@ne% - \fi}% - \expandafter\@temptokena\expandafter{\reserved@b}% - \xdef\@@@pending@outs{\the\@temptokena}% - \endgroup}% + \expandafter\g@addto@macro\expandafter\reserved@b\expandafter{% + \reserved@a,}% + \fi + \advance\@tempcnta\@ne% + \fi}% + \expandafter\@temptokena\expandafter{\reserved@b}% + \xdef\@@@pending@outs{\the\@temptokena}% + \endgroup}% % \end{macrocode} % \end{macro} % \begin{macrocode} @@ -498,13 +510,6 @@ \if@nobreak\ifvmode\nobreak\fi\fi}% % \end{macrocode} % \end{macro} -% \begin{macro}{\shipout} -% We make \LaTeX's \cmd{\shipout} inefficacious (no more shipout at -% all). -% \begin{macrocode} - \def\shipout{\deadcycles\z@\setbox\@tempboxa=} -% \end{macrocode} -% \end{macro} % \begin{macro}{\@begindvi} % Delay \cmd{\@begindvi} to be executed until the real page output. % \begin{macrocode} @@ -519,7 +524,7 @@ % package `calc'.(RN)} % \begin{macrocode} \LoadClass{article} -\RequirePackage{everyshi,graphicx} +\RequirePackage{graphicx} % \end{macrocode} % \begin{macro}{\LL@pagesize@specials} % Now the graphics driver is known. @@ -540,27 +545,27 @@ \if@tempswa \ClassInfo{leaflet}{Generating code for dvips}% \def\LL@pagesize@specials#1#2{% - \@tempdima=#1\@tempdimb=#2% + \@tempdima=#1\@tempdimb=#2 % \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}% \fi \def\reserved@a{pdftex}% \ifx\filename@base\reserved@a \ClassInfo{leaflet}{Generating code for pdfTeX}% \def\LL@pagesize@specials#1#2{% - \@tempdima=#1\@tempdimb=#2% + \@tempdima=#1\@tempdimb=#2 % \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}% \fi \def\reserved@a{luatex}% \ifx\filename@base\reserved@a \ClassInfo{leaflet}{Generating code for LuaTeX}% - \ifx\pdfvariable\@undefined + \ifx\pdfpagewidth\@undefined \def\LL@pagesize@specials#1#2{% - \@tempdima=#1\@tempdimb=#2% - \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}% + \@tempdima=#1\@tempdimb=#2 % + \pagewidth\@tempdima\pageheight\@tempdimb}% \else \def\LL@pagesize@specials#1#2{% - \@tempdima=#1\@tempdimb=#2% - \pagewidth\@tempdima\pageheight\@tempdimb}% + \@tempdima=#1\@tempdimb=#2 % + \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}% \fi \fi \def\reserved@a{xetex}% @@ -814,16 +819,6 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \begin{macro}{\LenToUnit} -% \changes{v1.0a}{2004/08/08}{New macro \cmd{\LenToUnit}. (RN)} -% \changes{v1.1a}{2015/12/27}{\cmd{\providecommand} instead of -% \cmd{\newcommand}. (RN)} -% \cmd{\LenToUnit}\marg{dimension} can be used in a -% |picture| environment instead of multiples of \cmd{\unitlength}. -% \begin{macrocode} -\providecommand\LenToUnit[1]{#1\@gobble} -% \end{macrocode} -% \end{macro} % \begin{macro}{\CutLine} % \begin{macro}{\CutLine*} % \begin{macro}{\Scissors} @@ -840,13 +835,13 @@ \if@tempswa \AddToBackground{#1}{% \put(0,0){% - \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){% + \rotatebox{90}{\makebox(\paperheight,0){% \normalsize \dotfill}}}}% \else \AddToBackground{#1}{% \put(0,0){% - \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){% + \rotatebox{90}{\makebox(\paperheight,0){% \normalsize \dotfill\Scissors\dotfill\dotfill\Scissors\dotfill}}}}% \fi @@ -876,7 +871,7 @@ % \end{macro} % We use our own page saving macro instead of real \LaTeX\ output. % \begin{macrocode} -\AtBeginDocument{\EveryShipout{\LL@savePage}} +\AtBeginDocument{\AddToHook{shipout/before}{\LL@processPage}} % \end{macrocode} % \begin{macro}{LL@page} % A counter for the small pages (absolute counting). @@ -885,14 +880,19 @@ \newcommand\LL@tempa{} % \end{macrocode} % \end{macro} -% \begin{macro}{\LL@savePage} +% \begin{macro}{\LL@processPage} % With ``combine'' option the six small pages will be saved in box registers % (\cmd{\LL@boxI}\dots \cmd{\LL@boxVI}). -% The box255 with the page content must be a bit moved to get a -% ``normal-sized'' box. +% The \cmd{\ShipoutBox} with the page content must be a bit moved to get a +% ``normal-sized'' box. In ``nocombine'' mode only put the background picture. % \changes{v1.1a}{2015/12/27}{Additions for new option `foldcorr'. (RN)} +% \changes{v2.0a}{2020/10/13}{Do not call \cmd{\@@@exec@outs} temporarily. (RN)} +% \changes{v2.0a}{2020/10/13}{Using \LaTeX's new 'shipout/before' hook. (RN)} +% \changes{v2.0b}{2020/10/14}{Renamed \cmd{\LL@savePage} to +% \cmd{\LL@processPage}. (RN)} % \begin{macrocode} -\newcommand*\LL@savePage{% +\newcommand*\LL@processPage{% + \ifLL@combine\DiscardShipoutBox\fi \ifnum\c@LL@page<7\relax \LL@tempdima=\paperwidth \ifLL@combine @@ -908,18 +908,19 @@ \if@tempswa\LL@tempdima=0.9797979798\paperwidth \else\LL@tempdima=1.0101010101\paperwidth \fi \fi - \@@@exec@outs + %%%\@@@exec@outs \expandafter\newsavebox\csname LL@box\Roman{LL@page}\endcsname% - \setbox\@cclv=\vbox{\vskip1in\unvbox\@cclv}% - \setbox\@cclv=\vbox{\moveright1in\box\@cclv}% - \setbox\@cclv=\hb@xt@\paperwidth{\box\@cclv\hss}% - \iffoldcorr\setbox\@cclv=\hb@xt@\LL@tempdima{\hss\box\@cclv\hss}\fi + \setbox\ShipoutBox=\vbox{\vskip1in\unvbox\ShipoutBox}% + \setbox\ShipoutBox=\vbox{\moveright1in\box\ShipoutBox}% + \setbox\ShipoutBox=\hb@xt@\paperwidth{\box\ShipoutBox\hss}% + \iffoldcorr + \setbox\ShipoutBox=\hb@xt@\LL@tempdima{\hss\box\ShipoutBox\hss}\fi % \end{macrocode} % Add a background picture to a single small page (`combine'). % \begin{macrocode} - \setbox\@cclv=\vb@xt@\paperheight{% + \setbox\ShipoutBox=\vb@xt@\paperheight{% \vbox{% - \pictur@(0,0)(0,\LenToUnit{\paperheight})% + \pictur@(0,0)(0,\paperheight)% \begingroup \set@typeset@protect \paperwidth=\LL@tempdima @@ -927,26 +928,26 @@ \endgroup \endpicture }% - \nointerlineskip\box\@cclv\vss + \nointerlineskip\box\ShipoutBox\vss }% \global\expandafter\setbox - \csname LL@box\Roman{LL@page}\endcsname=\box\@cclv + \csname LL@box\Roman{LL@page}\endcsname=\box\ShipoutBox \typeout{\@spaces[\the\c@LL@page] ==> [\Roman{LL@page}]}% \else % \end{macrocode} % Add a background picture to a single small page (`nocombine'). % \begin{macrocode} - \setbox\@cclv\vbox{% + \setbox\ShipoutBox\vbox{% \vbox{\@tempdima=1in\relax \@tempdimb=\paperheight\advance\@tempdimb-\@tempdima - \pictur@(0,0)(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb})% + \pictur@(0,0)(\@tempdima,\@tempdimb)% \begingroup \set@typeset@protect \@nameuse{LL@smallPic\Roman{LL@page}}% \endgroup \endpicture }% - \nointerlineskip\box\@cclv + \nointerlineskip\box\ShipoutBox }% \fi \fi @@ -967,53 +968,58 @@ % \end{macrocode} % \end{macro} % -% \subsubsection{Generating missing small pages} -% -% NOTE TO OURSELVES: +% \noindent NOTE TO OURSELVES: % All the following must be done if the document code is already -% processed. -% \begin{macrocode} -\ifLL@combine -% \end{macrocode} -% \begin{macro}{\@@end} -% \begin{macrocode} - \def\@@end{% - \clearpage\pagestyle{empty}% +% processed. +% +% \changes{v2.0b}{2020/10/14}{Using hooks instead of redefinition +% of \cmd{\@@end}. (RN)} +% \begin{macro}{\LL@add@empty@pages} +% Generating missing small pages +% \begin{macrocode} +\newcommand*\LL@add@empty@pages{% + \clearpage\pagestyle{empty}% + \loop\ifnum\c@LL@page<7\relax + \ClassInfo{leaflet}{Generating empty page \the\c@page}% + \null\newpage + \repeat +} % \end{macrocode} -% Restore the original \cmd{\@outputpage} command (removing any related -% background pictures). +% \end{macro} +% \begin{macro}{\LL@shipout@combined@pages} % \begin{macrocode} - \let\@outputpage\LL@outputpage +\newcommand*\LL@shipout@combined@pages{% % \end{macrocode} -% Suppresses all everyshi's clients (removing other kinds of -% background pictures) but our page saving macro is still needed for +% +% \subsubsection{Reassembling the small pages} +% +% Suppresses all shipout hook's clients (removing other kinds of +% background pictures). Our page saving macro is still needed for % the next step and must be set again. +% \changes{v2.0b}{2020/10/14}{Suppress other background images. (RN)} % \begin{macrocode} - \def\@EveryShipout@Hook{}% - \def\@EveryShipout@AtNextHook{}% - \EveryShipout{\LL@savePage}% + \RemoveFromHook{shipout/foreground}[*] + \RemoveFromHook{shipout/background}[*] + \RemoveFromHook{shipout/firstpage}[*] + \RemoveFromHook{shipout/lastpage}[*] + \RemoveFromHook{shipout/before}[*] + \AddToHook{shipout/before}{\LL@processPage} % \end{macrocode} % Create empty pages if necessary. % \begin{macrocode} - \loop\ifnum\c@LL@page<7\relax - \ClassInfo{leaflet}{Generating empty page \the\c@page}% - \null\newpage - \repeat + \LL@add@empty@pages % \end{macrocode} -% -% \subsubsection{Reassembling the small pages} -% -% Here begins the real output using \LaTeX's original \cmd{\shipout}. -% The \textsf{everyshi} package isn't active any more. -% The begin dvi hook is reactivated. -% \begin{macrocode} - \let\shipout\LL@shipout \let\@begindvi\LL@begindvi - \paperwidth=3\paperwidth - \iflandscape - \LL@pagesize@specials{\paperwidth}{\paperheight}% - \else - \LL@pagesize@specials{\paperheight}{\paperwidth}% - \fi +% Here begins the real output. LaTeX's \cmd{\shipout} will no more suppressed. +% The begin dvi hook is reactivated. Final removing content from the hook. +% \begin{macrocode} + \RemoveFromHook{shipout/before}[*] + \let\@begindvi\LL@begindvi + \paperwidth=3\paperwidth + \iflandscape + \LL@pagesize@specials{\paperwidth}{\paperheight}% + \else + \LL@pagesize@specials{\paperheight}{\paperwidth}% + \fi % \end{macrocode} % \begin{macro}{\LL@shipoutPage} % \changes{v1.0c}{2004/08/13}{Fix \cmd{\protect}-ion problems. (RN/HjG)} @@ -1024,22 +1030,22 @@ % Helper macros for page output: reassemble the small pages. % % \begin{macrocode} - \newcommand*\LL@shipoutPage[1]{% + \newcommand*\LL@shipoutPage[1]{% % \set@display@protect - \let \protect \noexpand - \shipout\vb@xt@\paperheight{% - \set@typeset@protect - \vskip-1in% - \@begindvi\hb@xt@\paperwidth{\hskip-1in##1\hss}\vss}}% - \newcommand*\LL@preparePages[3]{% - \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}% + \let \protect \noexpand + \shipout\vb@xt@\paperheight{% + \set@typeset@protect + \vskip-1in% + \@begindvi\hb@xt@\paperwidth{\hskip-1in##1\hss}\vss}}% + \newcommand*\LL@preparePages[3]{% + \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}% % \end{macrocode} % Add a background picture to a large page. % \begin{macrocode} - \pictur@(0,0)\@nameuse{LL@largePic\Roman{page}}\endpicture% - \LL@preparePage{##1}\LL@preparePage{##2}\LL@preparePage{##3}}% - \newcommand*\LL@preparePage[1]{% - \expandafter\box\csname LL@box\@Roman{##1}\endcsname}% + \pictur@(0,0)\@nameuse{LL@largePic\Roman{page}}\endpicture% + \LL@preparePage{##1}\LL@preparePage{##2}\LL@preparePage{##3}}% + \newcommand*\LL@preparePage[1]{% + \expandafter\box\csname LL@box\@Roman{##1}\endcsname}% % \end{macrocode} % \end{macro} % \end{macro} @@ -1049,35 +1055,31 @@ % order, to allow the typesetting of a 4 page leaflet and a detachable 2 page % form, for summaries, fill-in forms, applications, questionnaires, etc. % \begin{macrocode} - \LL@selectOutput - \iftwopart - {\setcounter{page}{1}% - \LL@shipoutPage{\LL@rotate@I{\LL@preparePages{6}{4}{1}}}}% - {\setcounter{page}{2}% - \LL@shipoutPage{\LL@rotate@II{\LL@preparePages{2}{3}{5}}}}% - \else - {\setcounter{page}{1}% - \LL@shipoutPage{\LL@rotate@I{\LL@preparePages{5}{6}{1}}}}% - {\setcounter{page}{2}% - \LL@shipoutPage{\LL@rotate@II{\LL@preparePages{2}{3}{4}}}}% - \fi - \LL@@end - }% + \LL@selectOutput + \iftwopart + {\setcounter{page}{1}% + \LL@shipoutPage{\LL@rotate@I{\LL@preparePages{6}{4}{1}}}}% + {\setcounter{page}{2}% + \LL@shipoutPage{\LL@rotate@II{\LL@preparePages{2}{3}{5}}}}% + \else + {\setcounter{page}{1}% + \LL@shipoutPage{\LL@rotate@I{\LL@preparePages{5}{6}{1}}}}% + {\setcounter{page}{2}% + \LL@shipoutPage{\LL@rotate@II{\LL@preparePages{2}{3}{4}}}}% + \fi +}% % \end{macrocode} -% End of the redefinition of \cmd{\@@end}. % \end{macro} -% \begin{macrocode} +% \begin{macrocode} +\ifLL@combine + \AddToHook{enddocument/end}{\LL@shipout@combined@pages} \else % \end{macrocode} % Create empty pages if necessary and then call the normal \LaTeX\ end. % \begin{macrocode} \LL@pagesize@specials{\paperwidth}{\paperheight}% \AtEndDocument{% - \clearpage\pagestyle{empty}% - \loop\ifnum\c@LL@page<7\relax - \ClassInfo{leaflet}{Generating empty page \the\c@page}% - \null\newpage - \repeat + \LL@add@empty@pages } \fi % @@ -1138,8 +1140,7 @@ \MakeShortVerb{\|} \usepackage{url} \usepackage{graphicx} -\usepackage[dvipsnames,usenames]{color} -\definecolor{LIGHTGRAY}{gray}{.9} +\usepackage[svgnames]{xcolor} %%%%\renewcommand{\descfont}{\normalfont} \newcommand\Lpack[1]{\textsf{#1}} @@ -1160,13 +1161,13 @@ \CutLine{6}% Dotted line with scissors \AddToBackground{5}{% Background of a small page - \put(0,0){\textcolor{Cerulean}{\rule{\paperwidth}{\paperheight}}}} + \put(0,0){\textcolor{LightSkyBlue}{\rule{\paperwidth}{\paperheight}}}} \AddToBackground*{2}{% Background of a large page - \put(\LenToUnit{.5\paperwidth},\LenToUnit{.5\paperheight}){% + \put(.5\paperwidth,.5\paperheight){% \makebox(0,0)[c]{% \resizebox{.9\paperwidth}{!}{\rotatebox{35.26}{% - \textsf{\textbf{\textcolor{LIGHTGRAY}{BACKGROUND}}}}}}}} + \textsf{\textbf{\textcolor{LightGray}{BACKGROUND}}}}}}}} \begin{document} @@ -1208,10 +1209,6 @@ document is created in PostScript or PDF format, using \end{itemize} (Some other drivers supported by standard \LaTeX{} work as well.) -The non-standard macro package \Lpack{everyshi} \cite{cit:everyshi} is -used by the \Lclass{leaflet} class. - - \section{Features} Basically the \Lclass{leaflet} class provides the same features as the @@ -1401,9 +1398,6 @@ this document class. \bibitem{cit:latex-man} \textsc{L.\,Lamport}: \LaTeX. A Document Preparation System. \textit{User's Guide And Reference Manual.} Second Edition. 1994. -\bibitem{cit:everyshi} - \textsc{M.\,Schr\"oder}: The \Lpack{everyshi} package. 2001. - CTAN: \url{macros/latex/contrib/ms/everyshi.dtx} \end{thebibliography} \loggingall diff --git a/macros/latex/contrib/leaflet/leaflet.pdf b/macros/latex/contrib/leaflet/leaflet.pdf index ee6687ad8c..7f2ae79914 100644 Binary files a/macros/latex/contrib/leaflet/leaflet.pdf and b/macros/latex/contrib/leaflet/leaflet.pdf differ diff --git a/macros/latex/contrib/thuthesis/CHANGELOG.md b/macros/latex/contrib/thuthesis/CHANGELOG.md index 015689074a..05e7be0d81 100644 --- a/macros/latex/contrib/thuthesis/CHANGELOG.md +++ b/macros/latex/contrib/thuthesis/CHANGELOG.md @@ -6,6 +6,24 @@ ## [Unreleased] +## [v7.1.0] - 2020-10-14 +### Changed +- 更新摘要的标题格式(研究生 2020-09-18 版)。 +- 更新目录的格式(研究生 2020-09-18 版)。 +- 图表浮动体的位置参数默认为 `h`。 +- 更新示例文档。 + +### Fixed +- 修正 “keywords” 的拼写。 +- 修正授权使用说明的内容。 +- 修正授伪粗字体的粗度。 +- 修正 `\small` 等字号命令的行距。 +- 修正数学公式前后的距离。 +- 修正个人简历和学术成果的格式。 +- 修正图表标题的行距。 +- 禁止同一条参考文献中间分页。 +- 修正脚注的行距和缩进距离。 + ## [v7.0.0] - 2020-09-09 ### Changed - 更新 2020 年版目录、插图和附表清单的格式。 @@ -624,7 +642,8 @@ -[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.0.0...HEAD +[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.1.0...HEAD +[v7.1.0]: https://github.com/tuna/thuthesis/compare/v7.0.0...v7.1.0 [v7.0.0]: https://github.com/tuna/thuthesis/compare/v6.1.3...v7.0.0 [v6.1.3]: https://github.com/tuna/thuthesis/compare/v6.1.2...v6.1.3 [v6.1.2]: https://github.com/tuna/thuthesis/compare/v6.1.1...v6.1.2 diff --git a/macros/latex/contrib/thuthesis/Makefile b/macros/latex/contrib/thuthesis/Makefile index 3ab76d06e3..1a7fd81641 100644 --- a/macros/latex/contrib/thuthesis/Makefile +++ b/macros/latex/contrib/thuthesis/Makefile @@ -82,8 +82,8 @@ check: FORCE_MAKE ifeq ($(version),) @echo "Error: version missing: \"make [check|dist] version=X.Y.Z\""; exit 1 else - @[[ $(shell grep -E -c '$(version) Tsinghua University Thesis Template|\\def\\version\{$(version)\}' thuthesis.dtx) -eq 3 ]] || (echo "update version in thuthesis.dtx before release"; exit 1) - @[[ $(shell grep -E -c '"version": "$(version)"' package.json) -eq 1 ]] || (echo "update version in package.json before release"; exit 1) + @[[ $(shell grep -E -c '$(version) Tsinghua University Thesis Template|\\def\\version\{$(version)\}' thuthesis.dtx) -eq 3 ]] || (echo "update version with \'l3build tag\" before release"; exit 1) + @[[ $(shell grep -E -c '"version": "$(version)"' package.json) -eq 1 ]] || (echo "update version with \'l3build tag\" before release"; exit 1) endif dist: check all-dev diff --git a/macros/latex/contrib/thuthesis/README.md b/macros/latex/contrib/thuthesis/README.md index 6e6eb06a31..ed0788a5ad 100644 --- a/macros/latex/contrib/thuthesis/README.md +++ b/macros/latex/contrib/thuthesis/README.md @@ -34,6 +34,7 @@ Scroll down for the English version of README. * [CTAN](https://www.ctan.org/pkg/thuthesis):可能滞后正式发布少许时间。 * [GitHub Releases](https://github.com/tuna/thuthesis/releases):最新版的及时发布途径。 * [TUNA 镜像站](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/):GitHub Releases 的镜像。 + * [Overleaf](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk):Overleaf 的模板。 * 开发版:[GitHub](https://github.com/tuna/thuthesis) ## 更新日志 @@ -102,6 +103,7 @@ Developer versions contain only source code but no pre-compiled `cls` file and d * [CTAN](https://www.ctan.org/pkg/thuthesis) * [GitHub Releases](https://github.com/tuna/thuthesis/releases) * [TUNA Mirrors](https://mirrors.tuna.tsinghua.edu.cn/github-release/tuna/thuthesis/): mirror of GitHub Releases + * [Overleaf Template](https://www.overleaf.com/latex/templates/thuthesis-tsinghua-university-thesis-latex-template/wddqnwbyhtnk) * Developer versions: [GitHub](https://github.com/tuna/thuthesis) ## Changelog diff --git a/macros/latex/contrib/thuthesis/data/abstract.tex b/macros/latex/contrib/thuthesis/data/abstract.tex index 5567a1ed95..babbca3f46 100644 --- a/macros/latex/contrib/thuthesis/data/abstract.tex +++ b/macros/latex/contrib/thuthesis/data/abstract.tex @@ -3,54 +3,37 @@ % 中英文摘要和关键字 \begin{abstract} - 论文的摘要是对论文研究内容和成果的高度概括。摘要应对论文所研究的问题及其研究目 - 的进行描述,对研究方法和过程进行简单介绍,对研究成果和所得结论进行概括。摘要应 - 具有独立性和自明性,其内容应包含与论文全文同等量的主要信息。使读者即使不阅读全 - 文,通过摘要就能了解论文的总体内容和主要成果。 + 论文的摘要是对论文研究内容和成果的高度概括。 + 摘要应对论文所研究的问题及其研究目的进行描述,对研究方法和过程进行简单介绍,对研究成果和所得结论进行概括。 + 摘要应具有独立性和自明性,其内容应包含与论文全文同等量的主要信息。 + 使读者即使不阅读全文,通过摘要就能了解论文的总体内容和主要成果。 - 论文摘要的书写应力求精确、简明。切忌写成对论文书写内容进行提要的形式,尤其要避 - 免“第 1 章……;第 2 章……;……”这种或类似的陈述方式。 + 论文摘要的书写应力求精确、简明。 + 切忌写成对论文书写内容进行提要的形式,尤其要避免“第 1 章……;第 2 章……;……”这种或类似的陈述方式。 - 本文介绍清华大学论文模板 \thuthesis{} 的使用方法。本模板符合学校的本科、硕士、 - 博士论文格式要求。 + 关键词是为了文献标引工作、用以表示全文主要内容信息的单词或术语。 + 关键词不超过 5 个,每个关键词中间用分号分隔。 - 本文的创新点主要有: - \begin{itemize} - \item 用例子来解释模板的使用方法; - \item 用废话来填充无关紧要的部分; - \item 一边学习摸索一边编写新代码。 - \end{itemize} - - 关键词是为了文献标引工作、用以表示全文主要内容信息的单词或术语。关键词不超过 5 - 个,每个关键词中间用分号分隔。(模板作者注:关键词分隔符不用考虑,模板会自动处 - 理。英文关键词同理。) - - % 关键词用“英文逗号”分隔 + % 关键词用“英文逗号”分隔,输出时会自动处理为正确的分隔符 \thusetup{ - keywords = {TeX, LaTeX, CJK, 模板, 论文}, + keywords = {关键词 1, 关键词 2, 关键词 3, 关键词 4, 关键词 5}, } \end{abstract} \begin{abstract*} - An abstract of a dissertation is a summary and extraction of research work - and contributions. Included in an abstract should be description of research - topic and research objective, brief introduction to methodology and research - process, and summarization of conclusion and contributions of the - research. An abstract should be characterized by independence and clarity and - carry identical information with the dissertation. It should be such that the - general idea and major contributions of the dissertation are conveyed without - reading the dissertation. - - An abstract should be concise and to the point. It is a misunderstanding to - make an abstract an outline of the dissertation and words ``the first - chapter'', ``the second chapter'' and the like should be avoided in the - abstract. - - Key words are terms used in a dissertation for indexing, reflecting core - information of the dissertation. An abstract may contain a maximum of 5 key - words, with semi-colons used in between to separate one another. + An abstract of a dissertation is a summary and extraction of research work and contributions. + Included in an abstract should be description of research topic and research objective, brief introduction to methodology and research process, and summarization of conclusion and contributions of the research. + An abstract should be characterized by independence and clarity and carry identical information with the dissertation. + It should be such that the general idea and major contributions of the dissertation are conveyed without reading the dissertation. + + An abstract should be concise and to the point. + It is a misunderstanding to make an abstract an outline of the dissertation and words “the first chapter”, “the second chapter” and the like should be avoided in the abstract. + + Keywords are terms used in a dissertation for indexing, reflecting core information of the dissertation. + An abstract may contain a maximum of 5 keywords, with semi-colons used in between to separate one another. + % Use comma as seperator when inputting \thusetup{ - keywords* = {TeX, LaTeX, CJK, template, thesis}, + keywords* = {keyword 1, keyword 2, keyword 3, keyword 4, keyword 5}, } \end{abstract*} diff --git a/macros/latex/contrib/thuthesis/data/acknowledgements.tex b/macros/latex/contrib/thuthesis/data/acknowledgements.tex index 04026682bb..43437169d2 100644 --- a/macros/latex/contrib/thuthesis/data/acknowledgements.tex +++ b/macros/latex/contrib/thuthesis/data/acknowledgements.tex @@ -1,12 +1,11 @@ % !TeX root = ../thuthesis-example.tex \begin{acknowledgements} - 衷心感谢导师 xxx 教授和物理系 xxx 副教授对本人的精心指导。他们的言传身教将使 - 我终生受益。 + 衷心感谢导师×××教授和物理系××副教授对本人的精心指导。他们的言传身教将使我终生受益。 - 在美国麻省理工学院化学系进行九个月的合作研究期间,承蒙 xxx 教授热心指导与帮助,不 - 胜感激。感谢 xx 实验室主任 xx 教授,以及实验室全体老师和同学们的热情帮助和支 - 持!本课题承蒙国家自然科学基金资助,特此致谢。 + 在美国麻省理工学院化学系进行九个月的合作研究期间,承蒙 Robert Field 教授热心指导与帮助,不胜感激。 - 感谢 \LaTeX{} 和 \thuthesis\cite{thuthesis},帮我节省了不少时间。 + 感谢×××××实验室主任×××教授,以及实验室全体老师和同窗们学的热情帮助和支持! + + 本课题承蒙国家自然科学基金资助,特此致谢。 \end{acknowledgements} diff --git a/macros/latex/contrib/thuthesis/data/appendix-survey.tex b/macros/latex/contrib/thuthesis/data/appendix-survey.tex index 5c09088a38..5dd97a7a08 100644 --- a/macros/latex/contrib/thuthesis/data/appendix-survey.tex +++ b/macros/latex/contrib/thuthesis/data/appendix-survey.tex @@ -6,168 +6,67 @@ \title{Title of the Survey} \maketitle -写出至少 5000 外文印刷字符的调研阅读报告或者书面翻译 1-2 篇(不少于 2 万外文印刷符)。 - \tableofcontents -\section{Single-Objective Programming} - -It is impossible to cover in a single chapter every concept of mathematical -programming\cite{tex}. This chapter introduces only the basic concepts and techniques of -mathematical programming such that readers gain an understanding of them -throughout the book.~\cite{abrahams99tex,salomon1995advanced}. - -The general form of single-objective programming (SOP) is written -as follows, -\begin{equation*} % 如果附录中的公式不想让它出现在公式索引中,那就请 - % 用 equation* -\left\{\begin{array}{l} -\max \,\,f(x)\\%[0.1 cm] -\mbox{subject to:} \\%[0.1 cm] -\qquad g_j(x)\le 0,\quad j=1,2,\cdots,p -\end{array}\right. -\end{equation*} -which maximizes a real-valued function $f$ of -$x=(x_1,x_2,\cdots,x_n)$ subject to a set of constraints. - -\newtheorem{mpdef}{Definition}[chapter] -\begin{mpdef} -In SOP, we call $x$ a decision vector, and -$x_1,x_2,\cdots,x_n$ decision variables. The function -$f$ is called the objective function. The set -\begin{equation*} -S=\left\{x\in\real^n\bigm|g_j(x)\le 0,\,j=1,2,\cdots,p\right\} -\end{equation*} -is called the feasible set. An element $x$ in $S$ is called a -feasible solution. -\end{mpdef} - -\newtheorem{mpdefop}[mpdef]{Definition} -\begin{mpdefop} -A feasible solution $x^*$ is called the optimal -solution of SOP if and only if -\begin{equation} -f(x^*)\ge f(x) -\end{equation} -for any feasible solution $x$. -\end{mpdefop} - -One of the outstanding contributions to mathematical programming was known as -the Kuhn-Tucker conditions~\eqref{eq:ktc}. In order to introduce them, let us give -some definitions. An inequality constraint $g_j(x)\le 0$ is said to be active at -a point $x^*$ if $g_j(x^*)=0$. A point $x^*$ satisfying $g_j(x^*)\le 0$ is said -to be regular if the gradient vectors $\nabla g_j(x)$ of all active constraints -are linearly independent. - -Let $x^*$ be a regular point of the constraints of SOP and assume that all the -functions $f(x)$ and $g_j(x),j=1,2,\cdots,p$ are differentiable. If $x^*$ is a -local optimal solution, then there exist Lagrange multipliers -$\lambda_j,j=1,2,\cdots,p$ such that the following Kuhn-Tucker conditions hold, -\begin{equation} -\label{eq:ktc} -\left\{\begin{array}{l} - \nabla f(x^*)-\sum\limits_{j=1}^p\lambda_j\nabla g_j(x^*)=0\\%[0.3cm] - \lambda_jg_j(x^*)=0,\quad j=1,2,\cdots,p\\%[0.2cm] - \lambda_j\ge 0,\quad j=1,2,\cdots,p. -\end{array}\right. -\end{equation} -If all the functions $f(x)$ and $g_j(x),j=1,2,\cdots,p$ are convex and -differentiable, and the point $x^*$ satisfies the Kuhn-Tucker conditions -\eqref{eq:ktc}, then it has been proved that the point $x^*$ is a global optimal -solution of SOP. - -\subsection{Linear Programming} -\label{sec:lp} - -If the functions $f(x),g_j(x),j=1,2,\cdots,p$ are all linear, then SOP is called -a \emph{linear programming}. - -The feasible set of linear is always convex. A point $x$ is called an extreme -point of convex set $S$ if $x\in S$ and $x$ cannot be expressed as a convex -combination of two points in $S$. It has been shown that the optimal solution to -linear programming corresponds to an extreme point of its feasible set provided -that the feasible set $S$ is bounded. This fact is the basis of the \emph{simplex - algorithm} which was developed by Dantzig as a very efficient method for -solving linear programming. -\begin{table}[ht] -\centering - \centering - \caption{This is an example for table} - \label{tab:badtabular2} - \begin{tabular}[c]{|m{1.5cm}|c|c|c|c|c|c|}\hline - \multicolumn{2}{|c|}{Network Topology} & \# of nodes & - \multicolumn{3}{c|}{\# of clients} & Server \\\hline - GT-ITM & Waxman Transit-Stub & 600 & - \multirow{2}{2em}{2\%}& - \multirow{2}{2em}{10\%}& - \multirow{2}{2em}{50\%}& - \multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3} - \multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline - \multirow{2}{1.5cm}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\thuthesis}}\\\cline{2-3} - & \multicolumn{2}{c|}{ABCDEF} &\multicolumn{4}{c|}{} \\\hline -\end{tabular} -\end{table} +本科生的外文资料调研阅读报告。 + -Roughly speaking, the simplex algorithm examines only the extreme points of the -feasible set, rather than all feasible points. At first, the simplex algorithm -selects an extreme point as the initial point. The successive extreme point is -selected so as to improve the objective function value. The procedure is -repeated until no improvement in objective function value can be made. The last -extreme point is the optimal solution. +\section{Figures and Tables} -\subsection{Nonlinear Programming} +\subsection{Figures} -If at least one of the functions $f(x),g_j(x),j=1,2,\dots,p$ is nonlinear, then -SOP is called a \emph{nonlinear programming}. +An example figure in appendix (Figure~\ref{fig:appendix-survey-figure}). -A large number of classical optimization methods have been developed to treat -special-structural nonlinear programming based on the mathematical theory -concerned with analyzing the structure of problems. -\begin{figure}[h] +\begin{figure} \centering - \includegraphics{thu-lib-logo.pdf} - \caption{This is an example for figure.} - \label{tab:badfigure2} + \includegraphics[width=0.6\linewidth]{example-image-a.pdf} + \caption{Example figure in appendix} + \label{fig:appendix-survey-figure} \end{figure} -Now we consider a nonlinear programming which is confronted solely with -maximizing a real-valued function with domain $\real^n$. Whether derivatives are -available or not, the usual strategy is first to select a point in $\real^n$ which -is thought to be the most likely place where the maximum exists. If there is no -information available on which to base such a selection, a point is chosen at -random. From this first point an attempt is made to construct a sequence of -points, each of which yields an improved objective function value over its -predecessor. The next point to be added to the sequence is chosen by analyzing -the behavior of the function at the previous points. This construction continues -until some termination criterion is met. Methods based upon this strategy are -called \emph{ascent methods}, which can be classified as \emph{direct methods}, -\emph{gradient methods}, and \emph{Hessian methods} according to the information -about the behavior of objective function $f$. Direct methods require only that -the function can be evaluated at each point. Gradient methods require the -evaluation of first derivatives of $f$. Hessian methods require the evaluation -of second derivatives. In fact, there is no superior method for all -problems. The efficiency of a method is very much dependent upon the objective -function. - -\subsection{Integer Programming} - -\emph{Integer programming} is a special mathematical programming in which all of -the variables are assumed to be only integer values. When there are not only -integer variables but also conventional continuous variables, we call it \emph{ - mixed integer programming}. If all the variables are assumed either 0 or 1, -then the problem is termed a \emph{zero-one programming}. Although integer -programming can be solved by an \emph{exhaustive enumeration} theoretically, it -is impractical to solve realistically sized integer programming problems. The -most successful algorithm so far found to solve integer programming is called -the \emph{branch-and-bound enumeration} developed by Balas (1965) and Dakin -(1965). The other technique to integer programming is the \emph{cutting plane - method} developed by Gomory (1959). - -\hfill\textit{Uncertain Programming\/}\quad(\textsl{BaoDing Liu, 2006.2}) + +\subsection{Tables} + +An example table in appendix (Table~\ref{tab:appendix-survey-table}). + +\begin{table} + \centering + \caption{Example table in appendix} + \begin{tabular}{ll} + \toprule + File name & Description \\ + \midrule + thuthesis.dtx & The source file including documentaion and comments \\ + thuthesis.cls & The template file \\ + thuthesis-*.bst & BibTeX styles \\ + thuthesis-*.bbx & BibLaTeX styles for bibliographies \\ + thuthesis-*.cbx & BibLaTeX styles for citations \\ + \bottomrule + \end{tabular} + \label{tab:appendix-survey-table} +\end{table} + + +\section{Equations} + +An example equation in appendix (Equation~\eqref{eq:appendix-survey-equation}). +\begin{equation} + \frac{1}{2 \symup{\pi} \symup{i}} \int_\gamma f = \sum_{k=1}^m n(\gamma; a_k) \mathscr{R}(f; a_k) + \label{eq:appendix-survey-equation} +\end{equation} + + +\section{Citations} + +Example citations in appendix. +\cite{abrahams99tex} +\cite{salomon1995advanced} +\cite{abrahams99tex,salomon1995advanced} + \bibliographystyle{unsrtnat} -\bibliography{ref/refs,ref/appendix} +\bibliography{ref/appendix} \end{survey} diff --git a/macros/latex/contrib/thuthesis/data/appendix-translation.tex b/macros/latex/contrib/thuthesis/data/appendix-translation.tex index 84719cc824..891e416b06 100644 --- a/macros/latex/contrib/thuthesis/data/appendix-translation.tex +++ b/macros/latex/contrib/thuthesis/data/appendix-translation.tex @@ -9,92 +9,63 @@ \tableofcontents -\section{单目标规划} -北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几 -千里也。怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。\cite{abrahams99tex} -\begin{equation}\tag*{(123)} - p(y|\mathbf{x}) = \frac{p(\mathbf{x},y)}{p(\mathbf{x})}= -\frac{p(\mathbf{x}|y)p(y)}{p(\mathbf{x})} -\end{equation} +本科生的外文资料书面翻译。 + + +\section{图表示例} + +\subsection{图} -吾生也有涯,而知也无涯。以有涯随无涯,殆已!已而为知者,殆而已矣!为善无近名,为 -恶无近刑,缘督以为经,可以保身,可以全生,可以养亲,可以尽年。 +附录中的图片示例(图~\ref{fig:appendix-translation-figure})。 -\subsection{线性规划} -庖丁为文惠君解牛,手之所触,肩之所倚,足之所履,膝之所倚,砉然响然,奏刀騞然,莫 -不中音,合于桑林之舞,乃中经首之会。 -\begin{table}[ht] -\centering +\begin{figure} \centering - \caption{这是一个表格例子} - \label{tab:badtabular3} - \begin{tabular}[c]{|m{1.5cm}|c|c|c|c|c|c|}\hline - \multicolumn{2}{|c|}{Network Topology} & \# of nodes & - \multicolumn{3}{c|}{\# of clients} & Server \\\hline - GT-ITM & Waxman Transit-Stub & 600 & - \multirow{2}{2em}{2\%}& - \multirow{2}{2em}{10\%}& - \multirow{2}{2em}{50\%}& - \multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3} - \multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline - \multirow{2}{1.5cm}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\thuthesis}}\\\cline{2-3} - & \multicolumn{2}{c|}{ABCDEF} &\multicolumn{4}{c|}{} \\\hline -\end{tabular} -\end{table} + \includegraphics[width=0.6\linewidth]{example-image-a.pdf} + \caption{附录中的图片示例} + \label{fig:appendix-translation-figure} +\end{figure} -文惠君曰:“嘻,善哉!技盖至此乎?”庖丁释刀对曰:“臣之所好者道也,进乎技矣。始臣之 -解牛之时,所见无非全牛者;三年之后,未尝见全牛也;方今之时,臣以神遇而不以目视, -官知止而神欲行。依乎天理,批大郤,导大窾,因其固然。技经肯綮之未尝,而况大坬乎! -良庖岁更刀,割也;族庖月更刀,折也;今臣之刀十九年矣,所解数千牛矣,而刀刃若新发 -于硎。彼节者有间而刀刃者无厚,以无厚入有间,恢恢乎其于游刃必有余地矣。是以十九年 -而刀刃若新发于硎。虽然,每至于族,吾见其难为,怵然为戒,视为止,行为迟,动刀甚微, -謋然已解,如土委地。提刀而立,为之而四顾,为之踌躇满志,善刀而藏之。” -文惠君曰:“善哉!吾闻庖丁之言,得养生焉。” +\subsection{表格} +附录中的表格示例(表~\ref{tab:appendix-translation-table})。 -\subsection{非线性规划} -孔子与柳下季为友,柳下季之弟名曰盗跖。盗跖从卒九千人,横行天下,侵暴诸侯。穴室枢 -户,驱人牛马,取人妇女。贪得忘亲,不顾父母兄弟,不祭先祖。所过之邑,大国守城,小 -国入保,万民苦之。孔子谓柳下季曰:“夫为人父者,必能诏其子;为人兄者,必能教其弟。 -若父不能诏其子,兄不能教其弟,则无贵父子兄弟之亲矣。今先生,世之才士也,弟为盗 -跖,为天下害,而弗能教也,丘窃为先生羞之。丘请为先生往说之。” -\begin{figure}[h] +\begin{table} \centering - \includegraphics{thu-whole-logo.pdf} - \caption{这是图片的例子} - \label{tab:badfigure3} -\end{figure} + \caption{附录中的表格示例} + \begin{tabular}{ll} + \toprule + 文件名 & 描述 \\ + \midrule + thuthesis.dtx & 模板的源文件,包括文档和注释 \\ + thuthesis.cls & 模板文件 \\ + thuthesis-*.bst & BibTeX 参考文献表样式文件 \\ + thuthesis-*.bbx & BibLaTeX 参考文献表样式文件 \\ + thuthesis-*.cbx & BibLaTeX 引用样式文件 \\ + \bottomrule + \end{tabular} + \label{tab:appendix-translation-table} +\end{table} + -柳下季曰:“先生言为人父者必能诏其子,为人兄者必能教其弟,若子不听父之诏,弟不受 -兄之教,虽今先生之辩,将奈之何哉?且跖之为人也,心如涌泉,意如飘风,强足以距敌, -辩足以饰非。顺其心则喜,逆其心则怒,易辱人以言。先生必无往。” +\section{数学公式} + +附录中的数学公式示例(公式~\eqref{eq:appendix-translation-equation})。 +\begin{equation} + \frac{1}{2 \symup{\pi} \symup{i}} \int_\gamma f = \sum_{k=1}^m n(\gamma; a_k) \mathscr{R}(f; a_k) + \label{eq:appendix-translation-equation} +\end{equation} -孔子不听,颜回为驭,子贡为右,往见盗跖。 -\subsection{整数规划} -盗跖乃方休卒徒大山之阳,脍人肝而餔之。孔子下车而前,见谒者曰:“鲁人孔丘,闻将军 -高义,敬再拜谒者。”谒者入通。盗跖闻之大怒,目如明星,发上指冠,曰:“此夫鲁国之 -巧伪人孔丘非邪?为我告之:尔作言造语,妄称文、武,冠枝木之冠,带死牛之胁,多辞缪 -说,不耕而食,不织而衣,摇唇鼓舌,擅生是非,以迷天下之主,使天下学士不反其本,妄 -作孝弟,而侥幸于封侯富贵者也。子之罪大极重,疾走归!不然,我将以子肝益昼餔之膳。” +\section{文献引用} + +文献引用示例\cite{abrahams99tex}。 % 书面翻译的参考文献 \bibliographystyle{unsrtnat} \bibliography{ref/appendix} -% 也可以使用 thebiliography 环境手写 -% \begin{thebibliography}{2} -% \bibitem{abrahams99tex} -% P.~W. Abrahams, K.~Berry, and K.~A. Hargreaves, \emph{{\TeX} for the -% Impatient}.\hskip 1em plus 0.5em minus 0.4em\relax Addison-Wesley, 1990. - -% \bibitem{salomon1995advanced} -% D.~Salomon, ``The advanced {\TeX}book.''\hskip 1em plus 0.5em minus 0.4em\relax -% New York: Springer, 1995. -% \end{thebibliography} - % 书面翻译对应的原文索引 \begin{translation-index} \nocite{salomon1995advanced} diff --git a/macros/latex/contrib/thuthesis/data/appendix.tex b/macros/latex/contrib/thuthesis/data/appendix.tex index 179bc376a9..94b1743931 100644 --- a/macros/latex/contrib/thuthesis/data/appendix.tex +++ b/macros/latex/contrib/thuthesis/data/appendix.tex @@ -1,70 +1,48 @@ -\chapter{单目标规划} +\chapter{补充内容} -\section{单目标规划} -北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几 -千里也。怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。 -\begin{equation}\tag*{(123)} - p(y|\mathbf{x}) = \frac{p(\mathbf{x},y)}{p(\mathbf{x})}= -\frac{p(\mathbf{x}|y)p(y)}{p(\mathbf{x})} -\end{equation} +附录是与论文内容密切相关、但编入正文又影响整篇论文编排的条理和逻辑性的资料,例如某些重要的数据表格、计算程序、统计表等,是论文主体的补充内容,可根据需要设置。 + + +\section{图表示例} -吾生也有涯,而知也无涯。以有涯随无涯,殆已!已而为知者,殆而已矣!为善无近名,为 -恶无近刑,缘督以为经,可以保身,可以全生,可以养亲,可以尽年。 +\subsection{图} -\subsection{线性规划} -庖丁为文惠君解牛,手之所触,肩之所倚,足之所履,膝之所倚,砉然响然,奏刀騞然,莫 -不中音,合于桑林之舞,乃中经首之会。 -\begin{table}[ht] +附录中的图片示例(图~\ref{fig:appendix-figure})。 + +\begin{figure} \centering - \caption{这是一个表格例子} - \label{tab:badtabular3} - \begin{tabular}[c]{|m{1.5cm}|c|c|c|c|c|c|}\hline - \multicolumn{2}{|c|}{Network Topology} & \# of nodes & - \multicolumn{3}{c|}{\# of clients} & Server \\\hline - GT-ITM & Waxman Transit-Stub & 600 & - \multirow{2}{2em}{2\%}& - \multirow{2}{2em}{10\%}& - \multirow{2}{2em}{50\%}& - \multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3} - \multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline - \multirow{2}{1.5cm}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\thuthesis}}\\\cline{2-3} - & \multicolumn{2}{c|}{ABCDEF} &\multicolumn{4}{c|}{} \\\hline -\end{tabular} -\end{table} + \includegraphics[width=0.6\linewidth]{example-image-a.pdf} + \caption{附录中的图片示例} + \label{fig:appendix-figure} +\end{figure} -文惠君曰:“嘻,善哉!技盖至此乎?”庖丁释刀对曰:“臣之所好者道也,进乎技矣。始臣之 -解牛之时,所见无非全牛者;三年之后,未尝见全牛也;方今之时,臣以神遇而不以目视, -官知止而神欲行。依乎天理,批大郤,导大窾,因其固然。技经肯綮之未尝,而况大坬乎! -良庖岁更刀,割也;族庖月更刀,折也;今臣之刀十九年矣,所解数千牛矣,而刀刃若新发 -于硎。彼节者有间而刀刃者无厚,以无厚入有间,恢恢乎其于游刃必有余地矣。是以十九年 -而刀刃若新发于硎。虽然,每至于族,吾见其难为,怵然为戒,视为止,行为迟,动刀甚微, -謋然已解,如土委地。提刀而立,为之而四顾,为之踌躇满志,善刀而藏之。” -文惠君曰:“善哉!吾闻庖丁之言,得养生焉。” +\subsection{表格} +附录中的表格示例(表~\ref{tab:appendix-table})。 -\subsection{非线性规划} -孔子与柳下季为友,柳下季之弟名曰盗跖。盗跖从卒九千人,横行天下,侵暴诸侯。穴室枢 -户,驱人牛马,取人妇女。贪得忘亲,不顾父母兄弟,不祭先祖。所过之邑,大国守城,小 -国入保,万民苦之。孔子谓柳下季曰:“夫为人父者,必能诏其子;为人兄者,必能教其弟。 -若父不能诏其子,兄不能教其弟,则无贵父子兄弟之亲矣。今先生,世之才士也,弟为盗 -跖,为天下害,而弗能教也,丘窃为先生羞之。丘请为先生往说之。” -\begin{figure}[h] +\begin{table} \centering - \includegraphics{thu-whole-logo.pdf} - \caption{这是图片的例子} - \label{tab:badfigure3} -\end{figure} + \caption{附录中的表格示例} + \begin{tabular}{ll} + \toprule + 文件名 & 描述 \\ + \midrule + thuthesis.dtx & 模板的源文件,包括文档和注释 \\ + thuthesis.cls & 模板文件 \\ + thuthesis-*.bst & BibTeX 参考文献表样式文件 \\ + thuthesis-*.bbx & BibLaTeX 参考文献表样式文件 \\ + thuthesis-*.cbx & BibLaTeX 引用样式文件 \\ + \bottomrule + \end{tabular} + \label{tab:appendix-table} +\end{table} -柳下季曰:“先生言为人父者必能诏其子,为人兄者必能教其弟,若子不听父之诏,弟不受 -兄之教,虽今先生之辩,将奈之何哉?且跖之为人也,心如涌泉,意如飘风,强足以距敌, -辩足以饰非。顺其心则喜,逆其心则怒,易辱人以言。先生必无往。” -孔子不听,颜回为驭,子贡为右,往见盗跖。 +\section{数学公式} -\subsection{整数规划} -盗跖乃方休卒徒大山之阳,脍人肝而餔之。孔子下车而前,见谒者曰:“鲁人孔丘,闻将军 -高义,敬再拜谒者。”谒者入通。盗跖闻之大怒,目如明星,发上指冠,曰:“此夫鲁国之 -巧伪人孔丘非邪?为我告之:尔作言造语,妄称文、武,冠枝木之冠,带死牛之胁,多辞缪 -说,不耕而食,不织而衣,摇唇鼓舌,擅生是非,以迷天下之主,使天下学士不反其本,妄 -作孝弟,而侥幸于封侯富贵者也。子之罪大极重,疾走归!不然,我将以子肝益昼餔之膳。” +附录中的数学公式示例(公式~\eqref{eq:appendix-equation})。 +\begin{equation} + \frac{1}{2 \symup{\pi} \symup{i}} \int_\gamma f = \sum_{k=1}^m n(\gamma; a_k) \mathscr{R}(f; a_k) + \label{eq:appendix-equation} +\end{equation} diff --git a/macros/latex/contrib/thuthesis/data/chap01.tex b/macros/latex/contrib/thuthesis/data/chap01.tex index 2433747296..a1ce9626fc 100644 --- a/macros/latex/contrib/thuthesis/data/chap01.tex +++ b/macros/latex/contrib/thuthesis/data/chap01.tex @@ -1,594 +1,78 @@ % !TeX root = ../thuthesis-example.tex -\chapter{带 English 的标题} -\label{cha:intro} - -这是 \thuthesis\cite{thuthesis} 的示例文档,基本上覆盖了模板中所有格式的设置。建 -议大家在使用模板之前,除了阅读《\thuthesis{} 用户手册》,这个示例文档也最好能看一 -看。 - -小老鼠偷吃热凉粉;短长虫环绕矮高粱\footnote{韩愈(768-824),字退之,河南河阳( - 今河南孟县)人,自称郡望昌黎,世称韩昌黎。幼孤贫刻苦好学,德宗贞元八年进士。曾 - 任监察御史,因上疏请免关中赋役,贬为阳山县令。后随宰相裴度平定淮西迁刑部侍郎, - 又因上表谏迎佛骨,贬潮州刺史。做过吏部侍郎,死谥文公,故世称韩吏部、韩文公。是 - 唐代古文运动领袖,与柳宗元合称韩柳。诗力求险怪新奇,雄浑重气势。}。 - - -\section{封面相关} -封面的例子请参看 \texttt{cover.tex}。主要符号表参看 \texttt{denotation.tex},附录和 -个人简历分别参看 \texttt{appendix01.tex} 和 \texttt{resume.tex}。里面的命令都很直 -观,一看即会\footnote{你说还是看不懂?怎么会呢?}。 - -\section{字体命令} -\label{sec:first} - -苏轼(1037-1101),北宋文学家、书画家。字子瞻,号东坡居士,眉州眉山(今属四川)人 -。苏洵子。嘉佑进士。神宗时曾任祠部员外郎,因反对王安石新法而求外职,任杭州通判, -知密州、徐州、湖州。后以作诗“谤讪朝廷”罪贬黄州。哲宗时任翰林学士,曾出知杭州、 -颖州等,官至礼部尚书。后又贬谪惠州、儋州。北还后第二年病死常州。南宋时追谥文忠。 -与父洵弟辙,合称“三苏”。在政治上属于旧党,但也有改革弊政的要求。其文汪洋恣肆, -明白畅达,为“唐宋八大家”之一。 其诗清新豪健,善用夸张比喻,在艺术表现方面独具 -风格。少数诗篇也能反映民间疾苦,指责统治者的奢侈骄纵。词开豪放一派,对后代很有影 -响。《念奴娇·赤壁怀古》、《水调歌头·丙辰中秋》传诵甚广。 - -{\kaishu 坡仙擅长行书、楷书,取法李邕、徐浩、颜真卿、杨凝式,而能自创新意。用笔丰腴 - 跌宕,有天真烂漫之趣。与蔡襄、黄庭坚、米芾并称“宋四家”。能画竹,学文同,也喜 - 作枯木怪石。论画主张“神似”,认为“论画以形似,见与儿童邻”;高度评价“诗中有 - 画,画中有诗”的艺术造诣。诗文有《东坡七集》等。存世书迹有《答谢民师论文帖》、 - 《祭黄几道文》、《前赤壁赋》、《黄州寒食诗帖》等。 画迹有《枯木怪石图》、《 - 竹石图》等。} - -{\fangsong 易与天地准,故能弥纶天地之道。仰以观於天文,俯以察於地理,是故知幽明之故。原 - 始反终,故知死生之说。精气为物,游魂为变,是故知鬼神之情状。与天地相似,故不违。 - 知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧。安土敦乎仁,故 - 能爱。范围天地之化而不过,曲成万物而不遗,通乎昼夜之道而知,故神无方而易无体。} - -{\heiti 履而泰,然后安,故受之以泰;泰者通也。物不可以终通,故受之以否。物不可以终 - 否,故受之以同人。与人同者,物必归焉,故受之以大有。有大者不可以盈,故受之以谦。 - 有大而能谦,必豫,故受之以豫。豫必有随,故受之以随。以喜随人者,必有事,故受 - 之以蛊;蛊者事也。} - -{\songti 有无妄然后可畜,故受之以大畜。物畜然后可养,故受之以颐;颐者养也。不养则不 - 可动,故受之以大过。物不可以终过,故受之以坎;坎者陷也。陷必有所丽,故受之以 - 离;离者丽也。} - -\section{表格样本} -\label{chap1:sample:table} - -\subsection{基本表格} -\label{sec:basictable} - -模板中关于表格的宏包有三个:\pkg{booktabs}、\pkg{array} 和 \pkg{longtable}。 -三线表可以用 \pkg{booktabs} 提供 的 \cs{toprule}、\cs{midrule} 和 \cs{bottomrule}。 -它们与 \pkg{longtable} 能很好的配合使用。 -\begin{table}[htb] - \centering - \begin{threeparttable}[b] - \caption[模板文件]{模板文件。如果表格的标题很长,那么在表格索引中就会很不美 - 观,所以要像 chapter 那样在前面用中括号写一个简短的标题。这个标题会出现在索 - 引中。} - \label{tab:template-files} - \begin{tabular}{ll} - \toprule - {\heiti 文件名} & {\heiti 描述} \\\midrule - thuthesis.ins & \LaTeX{} 安装文件,DocStrip。\tnote{1} \\ - thuthesis.dtx & 所有的一切都在这里面。\tnote{b}\\ - thuthesis.cls & 模板类文件。\\ - thuthesis-numeric.bst & 参考文献 BibTeX 样式文件。\\ - thuthesis-author-year.bst & 参考文献 BibTeX 样式文件。\\ - thusetup.tex & 基本配置和常用的包、命令,减轻主文件的负担。\\ - \bottomrule - \end{tabular} - \begin{tablenotes} - \item [1] 表格中的脚注。如果脚注比较长,那么换行后的效果是这样的,需要更多的文字。 - 现在能看到么? - \item [b] 再来一个。可以使用不同的 symbol。 - \end{tablenotes} - \end{threeparttable} -\end{table} - -首先来看一个最简单的表格。表 \ref{tab:template-files} 列举了本模板主要文件及其功 -能。请大家注意三线表中各条线对应的命令。这个例子还展示了如何在表格中正确使用脚注。 -由于 \LaTeX{} 本身不支持在表格中使用 \cs{footnote},所以我们不得不将表格放在 -小页中,而且最好将表格的宽度设置为小页的宽度,这样脚注看起来才更美观。 - -\subsection{复杂表格} -\label{sec:complicatedtable} - -我们经常会在表格下方标注数据来源,或者对表格里面的条目进行解释。前面的脚注是一种 -不错的方法,如果不喜欢脚注,可以在表格后面写注释,比如表~\ref{tab:tabexamp1}。 -\begin{table}[htbp] - \centering - \caption{复杂表格示例 1。这个引用 \cite{tex} 不会导致编号混乱。} - \label{tab:tabexamp1} - \begin{minipage}[t]{0.8\textwidth} - \begin{tabularx}{\linewidth}{|l|X|X|X|X|} - \hline - \multirow{2}*{} & \multicolumn{2}{c|}{First Half} & \multicolumn{2}{c|}{Second Half}\\\cline{2-5} - & 1st Qtr &2nd Qtr&3rd Qtr&4th Qtr \\ \hline - East$^{*}$ & 20.4& 27.4& 90& 20.4 \\ - West$^{**}$ & 30.6 & 38.6 & 34.6 & 31.6 \\ \hline - \end{tabularx}\\[2pt] - \footnotesize 注:数据来源《\thuthesis{} 使用手册》。\\ - *:东部\\ - **:西部 - \end{minipage} -\end{table} - -此外,表~\ref{tab:tabexamp1} 同时还演示了通过 \pkg{tabularx} 的 - \texttt{|X|} 扩展实现表格自动放大功能。 - -为了使我们的例子更接近实际情况,我会在必要的时候插入一些“无关”文字,以免太多图 -表同时出现,导致排版效果不太理想。第一个出场的当然是我的最爱:风流潇洒、骏马绝尘、 -健笔凌云的{\heiti 李太白}了。 - -李白,字太白,陇西成纪人。凉武昭王暠九世孙。或曰山东人,或曰蜀人。白少有逸才,志 -气宏放,飘然有超世之心。初隐岷山,益州长史苏颋见而异之,曰:“是子天才英特,可比 -相如。”天宝初,至长安,往见贺知章。知章见其文,叹曰:“子谪仙人也。”言于明皇, -召见金銮殿,奏颂一篇。帝赐食,亲为调羹,有诏供奉翰林。白犹与酒徒饮于市,帝坐沉香 -亭子,意有所感,欲得白为乐章,召入,而白已醉。左右以水颒面,稍解,援笔成文,婉丽 -精切。帝爱其才,数宴见。白常侍帝,醉,使高力士脱靴。力士素贵,耻之,摘其诗以激杨 -贵妃。帝欲官白,妃辄沮止。白自知不为亲近所容,恳求还山。帝赐金放还。乃浪迹江湖, -终日沉饮。永王璘都督江陵,辟为僚佐。璘谋乱,兵败,白坐长流夜郎,会赦得还。族人阳 -冰为当涂令,白往依之。代宗立,以左拾遗召,而白已卒。文宗时,诏以白歌诗、裴旻剑舞、 -张旭草书为三绝云。集三十卷。今编诗二十五卷。\hfill —— 《全唐诗》诗人小传 - -浮动体的并排放置一般有两种情况:1)二者没有关系,为两个独立的浮动体;2)二者隶属 -于同一个浮动体。对表格来说并排表格既可以像图~\ref{tab:parallel1}、 -图~\ref{tab:parallel2} 使用小页环境,也可以如图~\ref{tab:subtable} 使用子表格来做。 -图的例子参见第~\ref{sec:multifig} 节。 - -\begin{table}[htbp] -\noindent\begin{minipage}{0.5\textwidth} -\centering -\caption{第一个并排子表格} -\label{tab:parallel1} -\begin{tabular}{p{2cm}p{2cm}} -\toprule -111 & 222 \\\midrule -222 & 333 \\\bottomrule -\end{tabular} -\end{minipage}% -\begin{minipage}{0.5\textwidth} -\centering -\caption{第二个并排子表格} -\label{tab:parallel2} -\begin{tabular}{p{2cm}p{2cm}} -\toprule -111 & 222 \\\midrule -222 & 333 \\\bottomrule -\end{tabular} -\end{minipage} -\end{table} - -然后就是忧国忧民,诗家楷模杜工部了。杜甫,字子美,其先襄阳人,曾祖依艺为巩令,因 -居巩。甫天宝初应进士,不第。后献《三大礼赋》,明皇奇之,召试文章,授京兆府兵曹参 -军。安禄山陷京师,肃宗即位灵武,甫自贼中遁赴行在,拜左拾遗。以论救房琯,出为华州 -司功参军。关辅饥乱,寓居同州同谷县,身自负薪采梠,餔糒不给。久之,召补京兆府功曹, -道阻不赴。严武镇成都,奏为参谋、检校工部员外郎,赐绯。武与甫世旧,待遇甚厚。乃于 -成都浣花里种竹植树,枕江结庐,纵酒啸歌其中。武卒,甫无所依,乃之东蜀就高適。既至 -而適卒。是岁,蜀帅相攻杀,蜀大扰。甫携家避乱荆楚,扁舟下峡,未维舟而江陵亦乱。乃 -溯沿湘流,游衡山,寓居耒阳。卒年五十九。元和中,归葬偃师首阳山,元稹志其墓。天宝 -间,甫与李白齐名,时称李杜。然元稹之言曰:“李白壮浪纵恣,摆去拘束,诚亦差肩子美 -矣。至若铺陈终始,排比声韵,大或千言,次犹数百,词气豪迈,而风调清深,属对律切, -而脱弃凡近,则李尚不能历其藩翰,况堂奥乎。”白居易亦云:“杜诗贯穿古今, 尽工尽 -善,殆过于李。”元、白之论如此。盖其出处劳佚,喜乐悲愤,好贤恶恶,一见之于诗。而 -又以忠君忧国、伤时念乱为本旨。读其诗可以知其世,故当时谓之“诗史”。旧集诗文共六 -十卷,今编诗十九卷。 - -\begin{table}[htbp] -\centering -\caption{并排子表格} -\label{tab:subtable} -\subcaptionbox{第一个子表格} -{ -\begin{tabular}{p{2cm}p{2cm}} -\toprule -111 & 222 \\\midrule -222 & 333 \\\bottomrule -\end{tabular} -} -\hskip2cm -\subcaptionbox{第二个子表格} -{ -\begin{tabular}{p{2cm}p{2cm}} -\toprule -111 & 222 \\\midrule -222 & 333 \\\bottomrule -\end{tabular} -} -\end{table} - -不可否认 \LaTeX{} 的表格功能没有想象中的那么强大,不过只要足够认真,足够细致, -同样可以排出来非常复杂非常漂亮的表格。请参看表~\ref{tab:tabexamp2}。 -\begin{table}[htbp] - \centering\dawu[1.3] - \caption{复杂表格示例 2} - \label{tab:tabexamp2} - \begin{tabular}[c]{|m{1.5cm}|c|c|c|c|c|c|}\hline - \multicolumn{2}{|c|}{Network Topology} & \# of nodes & - \multicolumn{3}{c|}{\# of clients} & Server \\\hline - GT-ITM & Waxman Transit-Stub & 600 & - \multirow{2}{1.5em}{2\%}& - \multirow{2}{2em}{10\%}& - \multirow{2}{2em}{50\%}& - \multirow{2}{1.2in}{Max. Connectivity}\\\cline{1-3} - \multicolumn{2}{|c|}{Inet-2.1} & 6000 & & & &\\\hline - \multirow{2}{1.5cm}{Xue} & Rui & Ni &\multicolumn{4}{c|}{\multirow{2}*{\thuthesis}}\\\cline{2-3} - & \multicolumn{2}{c|}{ABCDEF} &\multicolumn{4}{c|}{} \\\hline -\end{tabular} -\end{table} - -最后就是清新飘逸、文约意赅、空谷绝响的王大侠了。王维,字摩诘,河东人。工书画,与 -弟缙俱有俊才。开元九年,进士擢第,调太乐丞。坐累为济州司仓参军,历右拾遗、监察御 -史、左补阙、库部郎中,拜吏部郎中。天宝末,为给事中。安禄山陷两都,维为贼所得,服 -药阳喑,拘于菩提寺。禄山宴凝碧池,维潜赋诗悲悼,闻于行在。贼平,陷贼官三等定罪, -特原之,责授太子中允,迁中庶子、中书舍人。复拜给事中,转尚书右丞。维以诗名盛于开 -元、天宝间,宁薛诸王驸马豪贵之门,无不拂席迎之。得宋之问辋川别墅,山水绝胜,与道 -友裴迪,浮舟往来,弹琴赋诗,啸咏终日。笃于奉佛,晚年长斋禅诵。一日,忽索笔作书 -数纸,别弟缙及平生亲故,舍笔而卒。赠秘书监。宝应中,代宗问缙:“朕常于诸王坐闻维 -乐章,今存几何?”缙集诗六卷,文四卷,表上之。敕答云,卿伯氏位列先朝,名高希代。 -抗行周雅,长揖楚辞。诗家者流,时论归美。克成编录,叹息良深。殷璠谓维诗词秀调雅, -意新理惬。在泉成珠,著壁成绘。苏轼亦云:“维诗中有画,画中有诗也。”今编诗四卷。 - -\begin{longtable}[c]{c*{6}{r}} -\caption{实验数据}\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 -\endfirsthead -\multicolumn{7}{c}{续表~\thetable\hskip1em 实验数据}\\ -\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 -\endhead -\hline -\multicolumn{7}{r}{续下页} -\endfoot -\endlastfoot -CG.A.2 & 23.05 & 0.002 & 0.116 & 0.035 & 0.589 & 32491 \\ -CG.A.4 & 15.06 & 0.003 & 0.067 & 0.021 & 0.351 & 18211 \\ -CG.A.8 & 13.38 & 0.004 & 0.072 & 0.023 & 0.210 & 9890 \\ -CG.B.2 & 867.45 & 0.002 & 0.864 & 0.232 & 3.256 & 228562 \\ -CG.B.4 & 501.61 & 0.003 & 0.438 & 0.136 & 2.075 & 123862 \\ -CG.B.8 & 384.65 & 0.004 & 0.457 & 0.108 & 1.235 & 63777 \\ -MG.A.2 & 112.27 & 0.002 & 0.846 & 0.237 & 3.930 & 236473 \\ -MG.A.4 & 59.84 & 0.003 & 0.442 & 0.128 & 2.070 & 123875 \\ -MG.A.8 & 31.38 & 0.003 & 0.476 & 0.114 & 1.041 & 60627 \\ -MG.B.2 & 526.28 & 0.002 & 0.821 & 0.238 & 4.176 & 236635 \\ -MG.B.4 & 280.11 & 0.003 & 0.432 & 0.130 & 1.706 & 123793 \\ -MG.B.8 & 148.29 & 0.003 & 0.442 & 0.116 & 0.893 & 60600 \\ -LU.A.2 & 2116.54 & 0.002 & 0.110 & 0.030 & 0.532 & 28754 \\ -LU.A.4 & 1102.50 & 0.002 & 0.069 & 0.017 & 0.255 & 14915 \\ -LU.A.8 & 574.47 & 0.003 & 0.067 & 0.016 & 0.192 & 8655 \\ -LU.B.2 & 9712.87 & 0.002 & 0.357 & 0.104 & 1.734 & 101975 \\ -LU.B.4 & 4757.80 & 0.003 & 0.190 & 0.056 & 0.808 & 53522 \\ -LU.B.8 & 2444.05 & 0.004 & 0.222 & 0.057 & 0.548 & 30134 \\ -EP.A.2 & 123.81 & 0.002 & 0.010 & 0.003 & 0.074 & 1834 \\ -EP.A.4 & 61.92 & 0.003 & 0.011 & 0.004 & 0.073 & 1743 \\ -EP.A.8 & 31.06 & 0.004 & 0.017 & 0.005 & 0.073 & 1661 \\ -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 -\end{longtable} - -要想用好论文模板还是得提前学习一些 \TeX/\LaTeX{} 的相关知识,具备一些基本能力,掌 -握一些常见技巧,否则一旦遇到问题还真是比较麻烦。我们见过很多这样的同学,一直以来 -都是使用 Word 等字处理工具,以为 \LaTeX{} 模板的用法也应该类似,所以就沿袭同样的思 -路来对待这种所见非所得的排版工具,结果被折腾的焦头烂额,疲惫不堪。 - -如果您要排版的表格长度超过一页,那么推荐使用 \pkg{longtable} 或者 \pkg{supertabular} -宏包,模板对 \pkg{longtable} 进行了相应的设置,所以用起来可能简单一些。 -表~\ref{tab:performance} 就是 \pkg{longtable} 的示例。 - -\subsection{其它} -\label{sec:tableother} -如果不想让某个表格或者图片出现在索引里面,请使用命令 \cs{caption*}。 -这个命令不会给表格编号,也就是出来的只有标题文字而没有“表~XX”,“图~XX”,否则 -索引里面序号不连续就显得不伦不类,这也是 \LaTeX{} 里星号命令默认的规则。 - -有这种需求的多是本科同学的英文资料翻译部分,如果觉得附录中英文原文中的表格和图 -片显示成“表”和“图”不协调的话,一个很好的办法就是用 \cs{caption*},参数 -随便自己写,比如不守规矩的表~1.111 和图~1.111 能满足这种特殊需要(可以参看附录部 -分)。 -\begin{table}[ht] - \begin{minipage}{0.4\linewidth} - \centering - \caption*{表~1.111\quad 这是一个手动编号,不出现在索引中的表格。} - \label{tab:badtabular} - \framebox(150,50)[c]{\thuthesis} - \end{minipage}% - \hfill% - \begin{minipage}{0.4\linewidth} - \centering - \caption*{Figure~1.111\quad 这是一个手动编号,不出现在索引中的图。} - \label{tab:badfigure} - \framebox(150,50)[c]{薛瑞尼} - \end{minipage} -\end{table} - -如果的确想让它编号,但又不想让它出现在索引中的话,目前模板上不支持。 - -最后,虽然大家不一定会独立使用小页,但是关于小页中的脚注还是有必要提一下。请看下 -面的例子。 - -\begin{minipage}[t]{\linewidth-2\parindent} - 柳宗元,字子厚(773-819),河东(今永济县)人\footnote{山西永济水饺。},是唐代 - 杰出的文学家,哲学家,同时也是一位政治改革家。与韩愈共同倡导唐代古文运动,并称 - 韩柳\footnote{唐宋八大家之首二位。}。 -\end{minipage} -\\ - -唐朝安史之乱后,宦官专权,藩镇割据,土地兼并日渐严重,社会生产破坏严重,民不聊生。柳宗 -元对这种社会现实极为不满,他积极参加了王叔文领导的“永济革新”,并成为这一 -运动的中坚人物。他们革除弊政,打击权奸,触犯了宦官和官僚贵族利益,在他们的联合反 -扑下,改革失败了,柳宗元被贬为永州司马。 - -\section{数学符号和公式} - -\subsection{数学符号} -数学符号应遵循 GB/T 3102.11-1993《物理科学和技术中使用的数学符号》 -(原 GB 3102.11-1993), -模板中使用 \pkg{unicode-math} 宏包来配置数学符号, -与 \LaTeX{} 默认的英美国家的符号习惯有所差异: -\begin{enumerate} - \item 大写希腊字母默认为斜体,如 \cs{Delta}:$\Delta$。 - \item 有限增量符号 $\increment$(U+2206)应使用 \pkg{unicode-math} 宏包提供的 - \cs{increment} 命令。 - \item 向量、矩阵和张量要求粗斜体,应使用 \cs{symbf} 命令, - 如 \verb|\symbf{A}|、\verb|\symbf{\alpha}|。 - \item 数学常数和特殊函数要求用正体,应使用 \cs{symup} 命令, - 如 $\symup{\pi} = 3.14\dots$; $\symup{e} = 2.718\dots$, - \item 微分号和积分号使用使用正体,比如 $\int f(x) \dif x$。 -\end{enumerate} - -关于数学符号更多的用法,参考 -\href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unicode-math.pdf}{\pkg{unicode-math}} -宏包的使用说明, -全部数学符号命的令参考 -\href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unimath-symbols.pdf}{\pkg{unimath-symbols}}。 - -关于量和单位推荐使用 -\href{http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf}{\pkg{siunitx}} -宏包,比如: -\SI{6.4e6}{m}, -\SI{9}{\micro\meter}, -\si{kg.m.s^{-1}}, -\SIrange{10}{20}{\degreeCelsius}。 - -\subsection{数学公式} -\label{sec:equation} - -贝叶斯公式如式~(\ref{equ:chap1:bayes}),其中 $p(y|\vx)$ 为后验; -$p(\vx)$ 为先验;分母 $p(\vx)$ 为归一化因子。 -\begin{equation} -\label{equ:chap1:bayes} -p(y|\vx) = \frac{p(\vx,y)}{p(\vx)}= -\frac{p(\vx|y)p(y)}{p(\vx)} -\end{equation} - -论文里面公式越多,\TeX{} 就越 happy。再看一个 \pkg{amsmath} 的例子: -\newcommand{\envert}[1]{\left\lvert#1\right\rvert} -\begin{equation}\label{detK2} -\det\mK(t=1,t_1,\dots,t_n)=\sum_{I\in\vn}(-1)^{\envert{I}} -\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mA -^{(\lambda)}(\overline{I}|\overline{I})=0. -\end{equation} - -前面定理示例部分列举了很多公式环境,可以说把常见的情况都覆盖了,大家在写公式的时 -候一定要好好看 \pkg{amsmath} 的文档,并参考模板中的用法: -\begin{multline*}%\tag{[b]} % 这个出现在索引中的 -\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] - -2f(x)g(x)f(y)g(y)\dif x\biggr\}\dif y \\ - =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 - \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\dif y -\end{multline*} - -其实还可以看看这个多级规划: -\begin{equation} - \label{bilevel} - \begin{cases} - \max_{\bm{x}} F(\bm{x}, y_1^*, y_2^*, \dots, y_m^*) \\ - \text{subject to:} \\ - \qquad G(\bm{x}) \le 0 \\ - \qquad (y_1^*, y_2^*, \dots, y_m^*) \text{ solves problems } - (i = 1, 2, \dots, m) \\ - \qquad - \begin{cases} - \max_{\bm{x}} f_i(\bm{x}, y_1, y_2, \dots, y_m) \\ - \text{subject to:} \\ - \qquad g_i(\bm{x}, y_1, y_2, \dots, y_m) \le 0. - \end{cases} - \end{cases} -\end{equation} -这些跟规划相关的公式都来自于刘宝碇老师《不确定规划》的课件。 - -\section{定理环境} -\label{sec:theorem} - -给大家演示一下各种和证明有关的环境,比如公式~\eqref{eq:eqnxmp}: - -\begin{assumption} -待月西厢下,迎风户半开;隔墙花影动,疑是玉人来。 -\begin{align} - \label{eq:eqnxmp} - c & = a^2 - b^2 \\ - & = (a+b)(a-b) -\end{align} -\end{assumption} - -千辛万苦,历尽艰难,得有今日。然相从数千里,未曾哀戚。今将渡江,方图百年欢笑,如 -何反起悲伤?(引自《杜十娘怒沉百宝箱》) - -\begin{definition} -\label{def:ziyue} -子曰:「道千乘之国,敬事而信,节用而爱人,使民以时。」 -\end{definition} - -千古第一定义!问世间、情为何物,只教生死相许?天南地北双飞客,老翅几回寒暑。欢乐趣,离别苦,就中更有痴儿女。 -君应有语,渺万里层云,千山暮雪,只影向谁去? - -横汾路,寂寞当年箫鼓,荒烟依旧平楚。招魂楚些何嗟及,山鬼暗谛风雨。天也妒,未信与,莺儿燕子俱黄土。 -千秋万古,为留待骚人,狂歌痛饮,来访雁丘处。(参见定义~\ref{def:ziyue}) - -\begin{proposition} - 曾子曰:「吾日三省吾身 —— 为人谋而不忠乎?与朋友交而不信乎?传不习乎?」 -\end{proposition} - -其日牛马嘶,新妇入青庐,奄奄黄昏后,寂寂人定初,我命绝今日,魂去尸长留,揽裙脱丝履,举身赴清池, -府吏闻此事,心知长别离,徘徊庭树下,自挂东南枝。 - -\begin{remark} -天不言自高,水不言自流。 -\begin{gather*} -\begin{split} -\varphi(x,z) -&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\ -&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n -\end{split}\\[6pt] -\begin{align} \zeta^0&=(\xi^0)^2,\\ -\zeta^1 &=\xi^0\xi^1,\\ -\zeta^2 &=(\xi^1)^2, -\end{align} -\end{gather*} -\end{remark} - -天尊地卑,乾坤定矣。卑高以陈,贵贱位矣。 动静有常,刚柔断矣。方以类聚,物以群分, -吉凶生矣。在天成象,在地成形,变化见矣。鼓之以雷霆,润之以风雨,日月运行,一寒一 -暑,乾道成男,坤道成女。乾知大始,坤作成物。乾以易知,坤以简能。易则易知,简则易 -从。易知则有亲,易从则有功。有亲则可久,有功则可大。可久则贤人之德,可大则贤人之 -业。易简,而天下矣之理矣;天下之理得,而成位乎其中矣。 - -\begin{axiom} -两点间直线段距离最短。 -\begin{align} -x&\equiv y+1\pmod{m^2}\\ -x&\equiv y+1\mod{m^2}\\ -x&\equiv y+1\pod{m^2} -\end{align} -\end{axiom} - -《彖曰》:大哉乾元,万物资始,乃统天。云行雨施,品物流形。大明始终,六位时成,时 -乘六龙以御天。乾道变化,各正性命,保合大和,乃利贞。首出庶物,万国咸宁。 - -《象曰》:天行健,君子以自强不息。潜龙勿用,阳在下也。见龙再田,德施普也。终日乾 -乾,反复道也。或跃在渊,进无咎也。飞龙在天,大人造也。亢龙有悔,盈不可久也。用九, -天德不可为首也。    - -\begin{lemma} -《猫和老鼠》是我最爱看的动画片。 -\begin{multline*}%\tag*{[a]} % 这个不出现在索引中 -\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] - -2f(x)g(x)f(y)g(y)\dif x\biggr\}\dif y \\ - =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 - \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\dif y -\end{multline*} -\end{lemma} - -行行重行行,与君生别离。相去万余里,各在天一涯。道路阻且长,会面安可知。胡马依北 -风,越鸟巢南枝。相去日已远,衣带日已缓。浮云蔽白日,游子不顾返。思君令人老,岁月 -忽已晚。 弃捐勿复道,努力加餐饭。 - -\begin{theorem}\label{the:theorem1} -犯我强汉者,虽远必诛\hfill —— 陈汤(汉) -\end{theorem} - -下面演示了子公式编号: -\begin{subequations} -\begin{align} -y & = 1 \\ -y & = 0 -\end{align} -\end{subequations} - -道可道,非常道。名可名,非常名。无名天地之始;有名万物之母。故常无,欲以观其妙; -常有,欲以观其徼。此两者,同出而异名,同谓之玄。玄之又玄,众妙之门。上善若水。水 -善利万物而不争,处众人之所恶,故几于道。曲则全,枉则直,洼则盈,敝则新,少则多, -多则惑。人法地,地法天,天法道,道法自然。知人者智,自知者明。胜人者有力,自胜 -者强。知足者富。强行者有志。不失其所者久。死而不亡者寿。 - -\begin{proof} -燕赵古称多感慨悲歌之士。董生举进士,连不得志于有司,怀抱利器,郁郁适兹土,吾 -知其必有合也。董生勉乎哉? - -夫以子之不遇时,苟慕义强仁者,皆爱惜焉,矧燕、赵之士出乎其性者哉!然吾尝闻 -风俗与化移易,吾恶知其今不异于古所云邪?聊以吾子之行卜之也。董生勉乎哉? - -吾因子有所感矣。为我吊望诸君之墓,而观于其市,复有昔时屠狗者乎?为我谢 -曰:“明天子在上,可以出而仕矣!” \hfill —— 韩愈《送董邵南序》 -\end{proof} - -\begin{corollary} - 四川话配音的《猫和老鼠》是世界上最好看最好听最有趣的动画片。 -\begin{alignat}{3} -V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j, - & \qquad U_i & = u_i, - \qquad \text{for $i\ne j$;}\label{eq:B}\\ -V_j & = v_j, & \qquad X_j & = x_j, - & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i. -\end{alignat} -\end{corollary} - -迢迢牵牛星,皎皎河汉女。 -纤纤擢素手,札札弄机杼。 -终日不成章,泣涕零如雨。 -河汉清且浅,相去复几许。 -盈盈一水间,脉脉不得语。 - -\begin{example} - 大家来看这个例子。 -\begin{equation} - \label{ktc} - \begin{cases} - \nabla f(\bm{x}^*) - \sum_{j=1}^p \lambda_j \nabla g_j(\bm{x}^*) - = 0 \\[0.3cm] - \lambda_j g_j(\bm{x}^*) = 0, \quad j = 1, 2, \dots, p \\[0.2cm] - \lambda_j \ge 0, \quad j = 1, 2, \dots, p. - \end{cases} -\end{equation} -\end{example} - -\begin{exercise} - 请列出 Andrew S. Tanenbaum 和 W. Richard Stevens 的所有著作。 -\end{exercise} - -\begin{conjecture} \textit{Poincare Conjecture} If in a closed three-dimensional - space, any closed curves can shrink to a point continuously, this space can be - deformed to a sphere. -\end{conjecture} - -\begin{problem} - 回答还是不回答,是个问题。 -\end{problem} - -如何引用定理~\ref{the:theorem1} 呢?加上 \cs{label} 使用 \cs{ref} 即可。妾发 -初覆额,折花门前剧。郎骑竹马来,绕床弄青梅。同居长干里,两小无嫌猜。 十四为君妇, -羞颜未尝开。低头向暗壁,千唤不一回。十五始展眉,愿同尘与灰。常存抱柱信,岂上望夫 -台。 十六君远行,瞿塘滟滪堆。五月不可触,猿声天上哀。门前迟行迹,一一生绿苔。苔深 -不能扫,落叶秋风早。八月蝴蝶来,双飞西园草。感此伤妾心,坐愁红颜老。 - -\section{参考文献} -\label{sec:bib} - -本模板推荐使用 BibTeX,分别提供数字引用(\texttt{thuthesis-numeric.bst})和作 -者年份引用(\texttt{thuthesis-author-year.bst})样式。 -看看这个例子,关于书的~\cite{tex, companion, - ColdSources},还有这些~\cite{Krasnogor2004e, clzs, zjsw},关于期刊 -的~\cite{ELIDRISSI94, MELLINGER96, SHELL02},硕士论文~\cite{zhubajie, - metamori2004},博士论文~\cite{shaheshang, FistSystem01},标准文 -件~\cite{IEEE-1363},会议论文~\cite{DPMG,kocher99},技术报告~\cite{NPB2},电子文 -献~\cite{chuban2001,oclc2000}。 -若使用著者-出版年制,中文参考文献~\cite{cnarticle}应增加 -\texttt{key=\{pinyin\}} 字段,以便正确进行排序~\cite{cnproceed}。 -另外,如果对参考文献有不如意的地方,请手动修改 \texttt{bbl} 文件。 - -如果需要标出引文页码\cite[42]{tex},引文页码放在方括号外\cite[73]{tex}。 - -有时候不想要上标,那么可以这样~\inlinecite{shaheshang}。 +\chapter{论文主要部分的写法} + +研究生学位论文撰写,除表达形式上需要符合一定的格式要求外,内容方面上也要遵循一些共性原则。 + +通常研究生学位论文只能有一个主题(不能是几块工作拼凑在一起),该主题应针对某学科领域中的一个具体问题展开深入、系统的研究,并得出有价值的研究结论。 +学位论文的研究主题切忌过大,例如,“中国国有企业改制问题研究”这样的研究主题过大,因为“国企改制”涉及的问题范围太广,很难在一本研究生学位论文中完全研究透彻。 + + + +\section{论文的语言及表述} + +除国际研究生外,学位论文一律须用汉语书写。 +学位论文应当用规范汉字进行撰写,除古汉语研究中涉及的古文字和参考文献中引用的外文文献之外,均采用简体汉字撰写。 + +国际研究生一般应以中文或英文书写学位论文,格式要求同上。 +论文须用中文封面。 + +研究生学位论文是学术作品,因此其表述要严谨简明,重点突出,专业常识应简写或不写,做到立论正确、数据可靠、说明透彻、推理严谨、文字凝练、层次分明,避免使用文学性质的或带感情色彩的非学术性语言。 + +论文中如出现一个非通用性的新名词、新术语或新概念,需随即解释清楚。 + + + +\section{论文题目的写法} + +论文题目应简明扼要地反映论文工作的主要内容,力求精炼、准确,切忌笼统。 +论文题目是对研究对象的准确、具体描述,一般要在一定程度上体现研究结论,因此,论文题目不仅应告诉读者这本论文研究了什么问题,更要告诉读者这个研究得出的结论。 +例如:“在事实与虚构之间:梅乐、卡彭特、沃尔夫的新闻观”就比“三个美国作家的新闻观研究”更专业、更准确。 + + + +\section{摘要的写法} + +论文摘要是对论文研究内容的高度概括,应具有独立性和自含性,即应是 一篇简短但意义完整的文章。 +通过阅读论文摘要,读者应该能够对论文的研究 方法及结论有一个整体性的了解,因此摘要的写法应力求精确简明。 +论文摘要 应包括对问题及研究目的的描述、对使用的方法和研究过程进行的简要介绍、 对研究结论的高度凝练等,重点是结果和结论。 + +论文摘要切忌写成全文的提纲,尤其要避免“第 1 章……;第 2 章……;……”这样的陈述方式。 + + + +\section{引言的写法} + +一篇学位论文的引言大致包含如下几个部分: +1、问题的提出; +2、选题背 景及意义; +3、文献综述; +4、研究方法; +5、论文结构安排。 +\begin{itemize} + \item 问题的提出:要清晰地阐述所要研究的问题“是什么”。 + \footnote{选题时切记要有“问题意识”,不要选不是问题的问题来研究。} + \item 选题背景及意义:论述清楚为什么选择这个题目来研究,即阐述该研究对学科发展的贡献、对国计民生的理论与现实意义等。 + \item 文献综述:对本研究主题范围内的文献进行详尽的综合述评,“述”的同时一定要有“评”,指出现有研究状态,仍存在哪些尚待解决的问题,讲出自己的研究有哪些探索性内容。 + \item 研究方法:讲清论文所使用的学术研究方法。 + \item 论文结构安排:介绍本论文的写作结构安排。 +\end{itemize} + + + +\section{正文的写法} + +本部分是论文作者的研究内容,不能将他人研究成果不加区分地掺和进来。 +已经在引言的文献综述部分讲过的内容,这里不需要再重复。 +各章之间要存在有机联系,符合逻辑顺序。 + + + +\section{结论的写法} + +结论是对论文主要研究结果、论点的提炼与概括,应精炼、准确、完整,使读者看后能全面了解论文的意义、目的和工作内容。 +结论是最终的、总体的结论,不是正文各章小结的简单重复。 +结论应包括论文的核心观点,主要阐述作者的创造性工作及所取得的研究成果在本领域中的地位、作用和意义,交代研究工作的局限,提出未来工作的意见或建议。 +同时,要严格区分自己取得的成果与指导教师及他人的学术成果。 + +在评价自己的研究工作成果时,要实事求是,除非有足够的证据表明自己的研究是“首次”、“领先”、“填补空白”的,否则应避免使用这些或类似词语。 diff --git a/macros/latex/contrib/thuthesis/data/chap02.tex b/macros/latex/contrib/thuthesis/data/chap02.tex index 3721ede72b..31f7032e1a 100644 --- a/macros/latex/contrib/thuthesis/data/chap02.tex +++ b/macros/latex/contrib/thuthesis/data/chap02.tex @@ -1,126 +1,85 @@ % !TeX root = ../thuthesis-example.tex -\chapter{图表公式例子} -\label{cha:chapter02} +\chapter{图表示例} -\section{其它例子} -\label{sec:other} +\section{插图} -在第~\ref{cha:intro} 章中我们学习了贝叶斯公式~(\ref{equ:chap1:bayes}),这里我们复 -习一下: -\begin{equation} -\label{equ:chap2:bayes} -p(y|\vx) = \frac{p(\vx,y)}{p(\vx)}= -\frac{p(\vx|y)p(y)}{p(\vx)} -\end{equation} +图片通常在 \env{figure} 环境中使用 \cs{includegraphics} 插入,如图~\ref{fig:example} 的源代码。 +建议矢量图片使用 PDF 格式,比如数据可视化的绘图; +照片应使用 JPG 格式; +其他的栅格图应使用无损的 PNG 格式。 +注意,LaTeX 不支持 TIFF 格式;EPS 格式已经过时。 -\subsection{绘图} -\label{sec:draw} - -本模板不再预先装载任何绘图包(如 \pkg{pstricks,pgf} 等),完全由用户来决定。 -个人觉得 \pkg{pgf} 不错,不依赖于 Postscript。此外还有很多针对 \LaTeX{} 的 - GUI 作图工具,如 XFig(jFig), WinFig, Tpx, Ipe, Dia, Inkscape, LaTeXPiX, -jPicEdt, jaxdraw 等等。 - -\subsection{插图} -\label{sec:graphs} - -强烈推荐《\LaTeXe{} 插图指南》!关于子图形的使用细节请参看 \pkg{subcaption} 宏包的说明文档。 - -\subsubsection{一个图形} -\label{sec:onefig} -一般图形都是处在浮动环境中。之所以称为浮动是指最终排版效果图形的位置不一定与源文 -件中的位置对应\footnote{This is not a bug, but a feature of \LaTeX!},这也是刚使 -用 \LaTeX{} 同学可能遇到的问题。如果要强制固定浮动图形的位置,请使用 \pkg{float} 宏包, -它提供了 \texttt{[H]} 参数,比如图~\ref{fig:xfig1}。 -\begin{figure}[H] % use float package if you want it here +\begin{figure} \centering - \includegraphics{thu-whole-logo.pdf} - \caption{利用 Xfig 制图} - \label{fig:xfig1} + \includegraphics[width=0.6\linewidth]{example-image-a.pdf} + \caption{示例图片} + \label{fig:example} \end{figure} -大学之道,在明明德,在亲民,在止于至善。知止而后有定;定而后能静;静而后能安;安 -而后能虑;虑而后能得。物有本末,事有终始。知所先后,则近道矣。古之欲明明德于天 -下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心; -欲正其心者,先诚其意;欲诚其意者,先致其知;致知在格物。物格而后知至;知至而后 -意诚;意诚而后心正;心正而后身 修;身修而后家齐;家齐而后国治;国治而后天下 -平。自天子以至于庶人,壹是皆以修身为本。其本乱而未治者 否矣。其所厚者薄,而其所 -薄者厚,未之有也! - -\hfill —— 《大学》 +若图或表中有附注,采用英文小写字母顺序编号,附注写在图或表的下方。 +% LaTeX 传统上一般将附注的内容同图表的标题写在一起,形成很长的一段文字。 +如果一个图由两个或两个以上分图组成时,各分图分别以(a)、(b)、(c)...... 作为图序,并须有分图题。 +推荐使用 \pkg{subcaption} 宏包来处理, 比如图~\ref{fig:subfig-a} 和图~\ref{fig:subfig-b}。 -\subsubsection{多个图形} -\label{sec:multifig} +\begin{figure} + \centering + \subcaptionbox{分图 A\label{fig:subfig-a}} + {\includegraphics[width=0.45\linewidth]{example-image-a.pdf}} + \subcaptionbox{分图 B\label{fig:subfig-b}} + {\includegraphics[width=0.45\linewidth]{example-image-b.pdf}} + \caption{多个分图的示例} + \label{fig:multi-image} +\end{figure} -如果多个图形相互独立,并不共用一个图形计数器,那么 -用 \texttt{minipage} 或者\texttt{parbox} 就可以。否则,请参看 -图~\ref{fig:big1-subcaptionbox},它包含两个小图,分别是图~\ref{fig:subfig1}和 -图~\ref{fig:subfig2}。推荐使用 \cs{subcaptionbox},因为可以像 -图~\ref{fig:big1-subcaptionbox} 那样对齐子图的标题,也可以使用 \pkg{subcaption} -宏包的 \cs{subcaption}(放在 minipage中,用法同\cs{caption})或 -是 \pkg{subfigure} 、\pkg{subtable}环境,像图~\ref{fig:big1-subfigure},不要再 -用 \cs{subfloat}、\cs{subfigure} 和 \cs{subtable}。 -\begin{figure}[h] - \centering% - \subcaptionbox{第一个小图形\label{fig:subfig1}}[3cm] %标题的长度,超过则会换行,如下一个小图。 - {\includegraphics[height=3cm]{thu-fig-logo.pdf}}% - \hspace{4em}% - \subcaptionbox{第二个小图形,注意这个图略矮些。如果标题很长的话,它会自动换行\label{fig:subfig2}} - {\includegraphics[height=2cm]{thu-text-logo.pdf}} - \caption{包含子图形的大图形(subcaptionbox示例)} - \label{fig:big1-subcaptionbox} -\end{figure} -\begin{figure}[h] - \centering% - \begin{subfigure}{3cm} - \includegraphics[height=3cm]{thu-fig-logo.pdf} - \caption{第一个小图形} - \end{subfigure}% - \hspace{4em}% - \begin{subfigure}{0.5\textwidth} - \includegraphics[height=2cm]{thu-text-logo.pdf} - \caption{第二个小图形,注意这个图略矮些。subfigure中同一行的子图在顶端对齐。} - \end{subfigure} - \caption{包含子图形的大图形(subfigure示例)} - \label{fig:big1-subfigure} -\end{figure} -古之学者必有师。师者,所以传道受业解惑也。人非生而知之者,孰能无惑?惑而不从师, -其为惑也,终不解矣。生乎吾前,其闻道也固先乎吾,吾从而师之;生乎吾後,其闻道也亦 -先乎吾,吾从而师之。吾师道也,夫庸知其年之先後生於吾乎!是故无贵无贱无长无少,道 -之所存,师之所存也。 +\section{表格} -嗟乎!师道之不传也久矣,欲人之无惑也难矣。古之圣人,其出人也远矣,犹且从师而问焉; -今之众人,其下圣人也亦远矣,而耻学於师。是故圣益圣,愚益愚。圣人之所以为圣,愚 -人之所以为愚,其皆出於此乎?爱其子,择师而教之,於其身也,则耻师焉,惑焉。彼童子 -之师,授之书而习其句读者,非吾所谓传其道、解其惑者也。句读之不知,惑之不解,或师 -焉,或不焉,小学而大遗,吾未见其明也。巫医、乐师、百工之人不耻相师, 士大夫之族 -曰“师”曰“弟子”之云者,则群聚而笑之。问之,则曰:彼与彼年相若也,道相似也,位 -卑则足羞,官盛则近谀。呜呼!师道之不复,可知矣。巫医、乐师、百工之人。吾子不齿, -今其智乃反不能及,其可怪也欤!圣人无常师。孔子师郯子、苌子、师襄、老聃。郯子之徒, -其贤不及孔子。孔子曰:“三人行,必有我师。”是故弟子不必不如师,师不必贤於弟子。 -闻道有先後,术业有专攻,如是而已。 +表应具有自明性。为使表格简洁易读,尽可能采用三线表,如表~\ref{tab:three-line}。 +三条线可以使用 \pkg{booktabs} 宏包提供的命令生成。 -如果要把编号的两个图形并排,那么小页就非常有用了: -\begin{figure} -\begin{minipage}{0.48\textwidth} +\begin{table} \centering - \includegraphics[height=2cm]{thu-whole-logo.pdf} - \caption{并排第一个图} - \label{fig:parallel1} -\end{minipage}\hfill -\begin{minipage}{0.48\textwidth} + \caption{三线表示例} + \begin{tabular}{ll} + \toprule + 文件名 & 描述 \\ + \midrule + thuthesis.dtx & 模板的源文件,包括文档和注释 \\ + thuthesis.cls & 模板文件 \\ + thuthesis-*.bst & BibTeX 参考文献表样式文件 \\ + thuthesis-*.bbx & BibLaTeX 参考文献表样式文件 \\ + thuthesis-*.cbx & BibLaTeX 引用样式文件 \\ + \bottomrule + \end{tabular} + \label{tab:three-line} +\end{table} + +表格如果有附注,尤其是需要在表格中进行标注时,可以使用 \pkg{threeparttable} 宏包。 +研究生要求使用英文小写字母 a、b、c……顺序编号,本科生使用圈码 ①、②、③……编号。 + +\begin{table} \centering - \includegraphics[height=2cm]{thu-whole-logo.pdf} - \caption{并排第二个图} - \label{fig:parallel2} -\end{minipage} -\end{figure} - -李氏子蟠,年十七,好古文、六艺,经传皆通习之,不拘於时,学於余。余嘉其能行古 -道,作师说以贻之。 - -\hfill —— 韩愈(唐) + \begin{threeparttable}[c] + \caption{带附注的表格示例} + \label{tab:three-part-table} + \begin{tabular}{ll} + \toprule + 文件名 & 描述 \\ + \midrule + thuthesis.dtx\tnote{a} & 模板的源文件,包括文档和注释 \\ + thuthesis.cls\tnote{b} & 模板文件 \\ + thuthesis-*.bst & BibTeX 参考文献表样式文件 \\ + thuthesis-*.bbx & BibLaTeX 参考文献表样式文件 \\ + thuthesis-*.cbx & BibLaTeX 引用样式文件 \\ + \bottomrule + \end{tabular} + \begin{tablenotes} + \item [a] 可以通过 xelatex 编译生成模板的使用说明文档; + 使用 xetex 编译 \file{thuthesis.ins} 时则会从 \file{.dtx} 中去除掉文档和注释,得到精简的 \file{.cls} 文件。 + \item [b] 更新模板时,一定要记得编译生成 \file{.cls} 文件,否则编译论文时载入的依然是旧版的模板。 + \end{tablenotes} + \end{threeparttable} +\end{table} diff --git a/macros/latex/contrib/thuthesis/data/chap03.tex b/macros/latex/contrib/thuthesis/data/chap03.tex new file mode 100644 index 0000000000..2cb452b0be --- /dev/null +++ b/macros/latex/contrib/thuthesis/data/chap03.tex @@ -0,0 +1,76 @@ +% !TeX root = ../thuthesis-example.tex + +\chapter{数学符号和公式} + +\section{数学符号} + +研究生《写作指南》要求量及其单位所使用的符号应符合国家标准《国际单位制及其应用》(GB 3100—1993)、《有关量、单位和符号的一般原则》(GB/T 3101—1993) 的规定。 +模板中使用 \pkg{unicode-math} 宏包来配置数学符号, +与 \LaTeX{} 默认的英美国家的符号习惯有所差异: +\begin{enumerate} + \item 大写希腊字母默认为斜体,如 \cs{Delta}:$\Delta$。 + \item 有限增量符号 $\increment$(U+2206)应使用 \pkg{unicode-math} 宏包提供的 + \cs{increment} 命令。 + \item 向量、矩阵和张量要求粗斜体,应该使用 \pkg{unicode-math} 的 \cs{symbf} 命令, + 如 \verb|\symbf{A}|、\verb|\symbf{\alpha}|。 + \item 数学常数和特殊函数要求用正体,应使用 \cs{symup} 命令, + 如 $\symup{\pi} = 3.14\dots$; $\symup{e} = 2.718\dots$, + \item 微分号和积分号使用使用正体,比如 $\int f(x) \dif x$。 +\end{enumerate} + +关于数学符号更多的用法,参考 +\href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unicode-math.pdf}{\pkg{unicode-math}} +宏包的使用说明, +全部数学符号命的令参考 +\href{http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unimath-symbols.pdf}{\pkg{unimath-symbols}}。 + +关于量和单位推荐使用 +\href{http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf}{\pkg{siunitx}} +宏包, +可以方便地处理希腊字母以及数字与单位之间的空白, +比如: +\SI{6.4e6}{m}, +\SI{9}{\micro\meter}, +\si{kg.m.s^{-1}}, +\SIrange{10}{20}{\degreeCelsius}。 + + + +\section{数学公式} + +数学公式可以使用 \env{equation} 和 \env{equation*} 环境。 +注意数学公式的引用应前后带括号,建议使用 \cs{eqref} 命令,比如式 \eqref{eq:example}。 +\begin{equation} + \frac{1}{2 \symup{\pi} \symup{i}} \int_\gamma f = \sum_{k=1}^m n(\gamma; a_k) \mathscr{R}(f; a_k) + \label{eq:example} +\end{equation} +注意公式编号的引用应含有圆括号,可以使用 \cs{eqref} 命令。 + +多行公式尽可能在“=”处对齐,推荐使用 \env{align} 环境。 +\begin{align} + a & = b + c + d + e \\ + & = f + g +\end{align} + + + +\section{数学定理} + +定理环境的格式可以使用 \pkg{amsthm} 或者 \pkg{ntheorem} 宏包配置。 +用户在导言区载入这两者之一后,模板会自动配置 \env{thoerem}、\env{proof} 等环境。 + +\begin{theorem}[Lindeberg--Lévy 中心极限定理] + 设随机变量 $X_1, X_2, \dots, X_n$ 独立同分布, 且具有期望 $\mu$ 和有限的方差 $\sigma^2 \ne 0$, + 记 $\bar{X}_n = \frac{1}{n} \sum_{i+1}^n X_i$,则 + \begin{equation} + \lim_{n \to \infty} P \left(\frac{\sqrt{n} \left( \bar{X}_n - \mu \right)}{\sigma} \le z \right) = \Phi(z), + \end{equation} + 其中 $\Phi(z)$ 是标准正态分布的分布函数。 +\end{theorem} +\begin{proof} + Trivial. +\end{proof} + +同时模板还提供了 \env{assumption}、\env{definition}、\env{proposition}、 +\env{lemma}、\env{theorem}、\env{axiom}、\env{corollary}、\env{exercise}、 +\env{example}、\env{remar}、\env{problem}、\env{conjecture} 这些相关的环境。 diff --git a/macros/latex/contrib/thuthesis/data/chap04.tex b/macros/latex/contrib/thuthesis/data/chap04.tex new file mode 100644 index 0000000000..a7fcc1439f --- /dev/null +++ b/macros/latex/contrib/thuthesis/data/chap04.tex @@ -0,0 +1,73 @@ +% !TeX root = ../thuthesis-example.tex + +\chapter{引用文献的标注} + +模板支持 BibTeX 和 BibLaTeX 两种方式处理参考文献。 +下文主要介绍 BibTeX 配合 \pkg{natbib} 宏包的主要使用方法。 + + +\section{顺序编码制} + +在顺序编码制下,默认的 \cs{cite} 命令同 \cs{citep} 一样,序号置于方括号中, +引文页码会放在括号外。 +统一处引用的连续序号会自动用短横线连接。 + +\thusetup{ + cite-style = super, +} +\begin{tabular}{l@{\quad$\Rightarrow$\quad}l} + \verb|\cite{zhangkun1994}| & \cite{zhangkun1994} \\ + \verb|\citet{zhangkun1994}| & \citet{zhangkun1994} \\ + \verb|\citep{zhangkun1994}| & \citep{zhangkun1994} \\ + \verb|\cite[42]{zhangkun1994}| & \cite[42]{zhangkun1994} \\ + \verb|\cite{zhangkun1994,zhukezhen1973}| & \cite{zhangkun1994,zhukezhen1973} \\ +\end{tabular} + + +也可以取消上标格式,将数字序号作为文字的一部分。 +建议全文统一使用相同的格式。 + +\thusetup{ + cite-style = inline, +} +\begin{tabular}{l@{\quad$\Rightarrow$\quad}l} + \verb|\cite{zhangkun1994}| & \cite{zhangkun1994} \\ + \verb|\citet{zhangkun1994}| & \citet{zhangkun1994} \\ + \verb|\citep{zhangkun1994}| & \citep{zhangkun1994} \\ + \verb|\cite[42]{zhangkun1994}| & \cite[42]{zhangkun1994} \\ + \verb|\cite{zhangkun1994,zhukezhen1973}| & \cite{zhangkun1994,zhukezhen1973} \\ +\end{tabular} + + + +\section{著者-出版年制} + +著者-出版年制下的 \cs{cite} 跟 \cs{citet} 一样。 + +\thusetup{ + cite-style = author-year, +} +\begin{tabular}{l@{\quad$\Rightarrow$\quad}l} + \verb|\cite{zhangkun1994}| & \cite{zhangkun1994} \\ + \verb|\citet{zhangkun1994}| & \citet{zhangkun1994} \\ + \verb|\citep{zhangkun1994}| & \citep{zhangkun1994} \\ + \verb|\cite[42]{zhangkun1994}| & \cite[42]{zhangkun1994} \\ + \verb|\citep{zhangkun1994,zhukezhen1973}| & \citep{zhangkun1994,zhukezhen1973} \\ +\end{tabular} + +\vskip 2ex +\thusetup{ + cite-style = super, +} +注意,引文参考文献的每条都要在正文中标注 +\cite{zhangkun1994,zhukezhen1973,dupont1974bone,zhengkaiqing1987,% + jiangxizhou1980,jianduju1994,merkt1995rotational,mellinger1996laser,% + bixon1996dynamics,mahui1995,carlson1981two,taylor1983scanning,% + taylor1981study,shimizu1983laser,atkinson1982experimental,% + kusch1975perturbations,guangxi1993,huosini1989guwu,wangfuzhi1865songlun,% + zhaoyaodong1998xinshidai,biaozhunhua2002tushu,chubanzhuanye2004,% + who1970factors,peebles2001probability,baishunong1998zhiwu,% + weinstein1974pathogenic,hanjiren1985lun,dizhi1936dizhi,% + tushuguan1957tushuguanxue,aaas1883science,fugang2000fengsha,% + xiaoyu2001chubanye,oclc2000about,scitor2000project% +}。 diff --git a/macros/latex/contrib/thuthesis/data/denotation.tex b/macros/latex/contrib/thuthesis/data/denotation.tex index d3aa4f13bb..914288e3eb 100644 --- a/macros/latex/contrib/thuthesis/data/denotation.tex +++ b/macros/latex/contrib/thuthesis/data/denotation.tex @@ -1,59 +1,93 @@ % !TeX root = ../thuthesis-example.tex \begin{denotation}[3cm] -\item[HPC] 高性能计算 (High Performance Computing) -\item[cluster] 集群 -\item[Itanium] 安腾 -\item[SMP] 对称多处理 -\item[API] 应用程序编程接口 -\item[PI] 聚酰亚胺 -\item[MPI] 聚酰亚胺模型化合物,N-苯基邻苯酰亚胺 -\item[PBI] 聚苯并咪唑 -\item[MPBI] 聚苯并咪唑模型化合物,N-苯基苯并咪唑 -\item[PY] 聚吡咙 -\item[PMDA-BDA] 均苯四酸二酐与联苯四胺合成的聚吡咙薄膜 -\item[$\increment G$] 活化自由能 (Activation Free Energy) -\item[$\chi$] 传输系数 (Transmission Coefficient) -\item[$E$] 能量 -\item[$m$] 质量 -\item[$c$] 光速 -\item[$P$] 概率 -\item[$T$] 时间 -\item[$v$] 速度 -\item[劝学] 君子曰:学不可以已。青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木 - 直中绳。輮以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就 - 砺则利,君子博学而日参省乎己,则知明而行无过矣。吾尝终日而思矣,不如须臾之所学 - 也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼, - 声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江 - 河,君子生非异也,善假于物也。积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德, - 而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃, - 不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙 - 之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托 - 者,用心躁也。—— 荀况 + \item[PI] 聚酰亚胺 + \item[MPI] 聚酰亚胺模型化合物,N-苯基邻苯酰亚胺 + \item[PBI] 聚苯并咪唑 + \item[MPBI] 聚苯并咪唑模型化合物,N-苯基苯并咪唑 + \item[PY] 聚吡咙 + \item[PMDA-BDA] 均苯四酸二酐与联苯四胺合成的聚吡咙薄膜 + \item[MPY] 聚吡咙模型化合物 + \item[As-PPT] 聚苯基不对称三嗪 + \item[MAsPPT] 聚苯基不对称三嗪单模型化合物,3,5,6-三苯基-1,2,4-三嗪 + \item[DMAsPPT] 聚苯基不对称三嗪双模型化合物(水解实验模型化合物) + \item[S-PPT] 聚苯基对称三嗪 + \item[MSPPT] 聚苯基对称三嗪模型化合物,2,4,6-三苯基-1,3,5-三嗪 + \item[PPQ] 聚苯基喹噁啉 + \item[MPPQ] 聚苯基喹噁啉模型化合物,3,4-二苯基苯并二嗪 + \item[HMPI] 聚酰亚胺模型化合物的质子化产物 + \item[HMPY] 聚吡咙模型化合物的质子化产物 + \item[HMPBI] 聚苯并咪唑模型化合物的质子化产物 + \item[HMAsPPT] 聚苯基不对称三嗪模型化合物的质子化产物 + \item[HMSPPT] 聚苯基对称三嗪模型化合物的质子化产物 + \item[HMPPQ] 聚苯基喹噁啉模型化合物的质子化产物 + \item[PDT] 热分解温度 + \item[HPLC] 高效液相色谱 (High Performance Liquid Chromatography) + \item[HPCE] 高效毛细管电泳色谱 (High Performance Capillary lectrophoresis) + \item[LC-MS] 液相色谱-质谱联用 (Liquid chromatography-Mass Spectrum) + \item[TIC] 总离子浓度 (Total Ion Content) + \item[\textit{ab initio}] 基于第一原理的量子化学计算方法,常称从头算法 + \item[DFT] 密度泛函理论 (Density Functional Theory) + \item[$E_a$] 化学反应的活化能 (Activation Energy) + \item[ZPE] 零点振动能 (Zero Vibration Energy) + \item[PES] 势能面 (Potential Energy Surface) + \item[TS] 过渡态 (Transition State) + \item[TST] 过渡态理论 (Transition State Theory) + \item[$\increment G^\neq$] 活化自由能(Activation Free Energy) + \item[$\kappa$] 传输系数 (Transmission Coefficient) + \item[IRC] 内禀反应坐标 (Intrinsic Reaction Coordinates) + \item[$\nu_i$] 虚频 (Imaginary Frequency) + \item[ONIOM] 分层算法 (Our own N-layered Integrated molecular Orbital and molecular Mechanics) + \item[SCF] 自洽场 (Self-Consistent Field) + \item[SCRF] 自洽反应场 (Self-Consistent Reaction Field) \end{denotation} -% % 也可以使用 nomencl 宏包: +% 也可以使用 nomencl 宏包,需要在导言区 +% \usepackage{nomencl} +% \makenomenclature +% 在这里输出符号说明 % \printnomenclature[3cm] -% \nomenclature{HPC}{高性能计算 (High Performance Computing)} -% \nomenclature{cluster}{集群} -% \nomenclature{Itanium}{安腾} -% \nomenclature{SMP}{对称多处理} -% \nomenclature{API}{应用程序编程接口} +% 在正文中的任意为都可以标题 % \nomenclature{PI}{聚酰亚胺} % \nomenclature{MPI}{聚酰亚胺模型化合物,N-苯基邻苯酰亚胺} % \nomenclature{PBI}{聚苯并咪唑} % \nomenclature{MPBI}{聚苯并咪唑模型化合物,N-苯基苯并咪唑} % \nomenclature{PY}{聚吡咙} % \nomenclature{PMDA-BDA}{均苯四酸二酐与联苯四胺合成的聚吡咙薄膜} -% \nomenclature{$\increment G$}{活化自由能 (Activation Free Energy)} -% \nomenclature{$\chi$}{传输系数 (Transmission Coefficient)} -% \nomenclature{$E$}{能量} -% \nomenclature{$m$}{质量} -% \nomenclature{$c$}{光速} -% \nomenclature{$P$}{概率} -% \nomenclature{$T$}{时间} -% \nomenclature{$v$}{速度} +% \nomenclature{MPY}{聚吡咙模型化合物} +% \nomenclature{As-PPT}{聚苯基不对称三嗪} +% \nomenclature{MAsPPT}{聚苯基不对称三嗪单模型化合物,3,5,6-三苯基-1,2,4-三嗪} +% \nomenclature{DMAsPPT}{聚苯基不对称三嗪双模型化合物(水解实验模型化合物)} +% \nomenclature{S-PPT}{聚苯基对称三嗪} +% \nomenclature{MSPPT}{聚苯基对称三嗪模型化合物,2,4,6-三苯基-1,3,5-三嗪} +% \nomenclature{PPQ}{聚苯基喹噁啉} +% \nomenclature{MPPQ}{聚苯基喹噁啉模型化合物,3,4-二苯基苯并二嗪} +% \nomenclature{HMPI}{聚酰亚胺模型化合物的质子化产物} +% \nomenclature{HMPY}{聚吡咙模型化合物的质子化产物} +% \nomenclature{HMPBI}{聚苯并咪唑模型化合物的质子化产物} +% \nomenclature{HMAsPPT}{聚苯基不对称三嗪模型化合物的质子化产物} +% \nomenclature{HMSPPT}{聚苯基对称三嗪模型化合物的质子化产物} +% \nomenclature{HMPPQ}{聚苯基喹噁啉模型化合物的质子化产物} +% \nomenclature{PDT}{热分解温度} +% \nomenclature{HPLC}{高效液相色谱 (High Performance Liquid Chromatography)} +% \nomenclature{HPCE}{高效毛细管电泳色谱 (High Performance Capillary lectrophoresis)} +% \nomenclature{LC-MS}{液相色谱-质谱联用 (Liquid chromatography-Mass Spectrum)} +% \nomenclature{TIC}{总离子浓度 (Total Ion Content)} +% \nomenclature{\textit{ab initio}}{基于第一原理的量子化学计算方法,常称从头算法} +% \nomenclature{DFT}{密度泛函理论 (Density Functional Theory)} +% \nomenclature{$E_a$}{化学反应的活化能 (Activation Energy)} +% \nomenclature{ZPE}{零点振动能 (Zero Vibration Energy)} +% \nomenclature{PES}{势能面 (Potential Energy Surface)} +% \nomenclature{TS}{过渡态 (Transition State)} +% \nomenclature{TST}{过渡态理论 (Transition State Theory)} +% \nomenclature{$\increment G^\neq$}{活化自由能(Activation Free Energy)} +% \nomenclature{$\kappa$}{传输系数 (Transmission Coefficient)} +% \nomenclature{IRC}{内禀反应坐标 (Intrinsic Reaction Coordinates)} +% \nomenclature{$\nu_i$}{虚频 (Imaginary Frequency)} +% \nomenclature{ONIOM}{分层算法 (Our own N-layered Integrated molecular Orbital and molecular Mechanics)} +% \nomenclature{SCF}{自洽场 (Self-Consistent Field)} +% \nomenclature{SCRF}{自洽反应场 (Self-Consistent Reaction Field)} diff --git a/macros/latex/contrib/thuthesis/data/resolution.tex b/macros/latex/contrib/thuthesis/data/resolution.tex index e3d7c3dab6..81091ea9a3 100644 --- a/macros/latex/contrib/thuthesis/data/resolution.tex +++ b/macros/latex/contrib/thuthesis/data/resolution.tex @@ -12,6 +12,6 @@ 3. …… -论文工作表明作者在×××××具有×××××知识,具有×××××能力,论文××××××××××,答辩×××××××××××××××。 +论文工作表明作者在×××××具有×××××知识,具有××××能力,论文××××,答辩××××。 答辩委员会表决,(×票/一致)同意通过论文答辩,并建议授予×××(姓名)×××(门类)学博士/硕士学位。 diff --git a/macros/latex/contrib/thuthesis/data/resume.tex b/macros/latex/contrib/thuthesis/data/resume.tex index 02d777bbf1..025bf58e76 100644 --- a/macros/latex/contrib/thuthesis/data/resume.tex +++ b/macros/latex/contrib/thuthesis/data/resume.tex @@ -2,52 +2,32 @@ \begin{resume} - \resumeitem{个人简历} - - xxxx 年 xx 月 xx 日出生于 xx 省 xx 县。 - - xxxx 年 9 月考入 xx 大学 xx 系 xx 专业,xxxx 年 7 月本科毕业并获得 xx 学士学位。 - - xxxx 年 9 月免试进入 xx 大学 xx 系攻读 xx 学位至今。 - - \researchitem{发表的学术论文} % 发表的和录用的合在一起 - - % 1. 已经刊载的学术论文(本人是第一作者,或者导师为第一作者本人是第二作者) - \begin{publications} - \item Yang Y, Ren T L, Zhang L T, et al. Miniature microphone with silicon- - based ferroelectric thin films. Integrated Ferroelectrics, 2003, - 52:229-235. (SCI 收录, 检索号:758FZ.) - \item 杨轶, 张宁欣, 任天令, 等. 硅基铁电微声学器件中薄膜残余应力的研究. 中国机 - 械工程, 2005, 16(14):1289-1291. (EI 收录, 检索号:0534931 2907.) - \item 杨轶, 张宁欣, 任天令, 等. 集成铁电器件中的关键工艺研究. 仪器仪表学报, - 2003, 24(S4):192-193. (EI 源刊.) - \end{publications} - - % 2. 尚未刊载,但已经接到正式录用函的学术论文(本人为第一作者,或者 - % 导师为第一作者本人是第二作者)。 - \begin{publications}[before*=\publicationskip,after*=\publicationskip] - \item Yang Y, Ren T L, Zhu Y P, et al. PMUTs for handwriting recognition. In - press. (已被 Integrated Ferroelectrics 录用. SCI 源刊.) - \end{publications} - - % 3. 其他学术论文。可列出除上述两种情况以外的其他学术论文,但必须是 - % 已经刊载或者收到正式录用函的论文。 - \begin{publications} - \item Wu X M, Yang Y, Cai J, et al. Measurements of ferroelectric MEMS - microphones. Integrated Ferroelectrics, 2005, 69:417-429. (SCI 收录, 检索号 - :896KM) - \item 贾泽, 杨轶, 陈兢, 等. 用于压电和电容微麦克风的体硅腐蚀相关研究. 压电与声 - 光, 2006, 28(1):117-119. (EI 收录, 检索号:06129773469) - \item 伍晓明, 杨轶, 张宁欣, 等. 基于MEMS技术的集成铁电硅微麦克风. 中国集成电路, - 2003, 53:59-61. - \end{publications} - - \researchitem{研究成果} % 有就写,没有就删除 + \section*{个人简历} + + 197× 年 ×× 月 ×× 日出生于四川××县。 + + 1992 年 9 月考入××大学化学系××化学专业,1996 年 7 月本科毕业并获得理学学士学位。 + + 1996 年 9 月免试进入清华大学化学系攻读××化学博士至今。 + + + \section*{在学期间完成的相关学术成果} + + \subsection*{学术论文} + + \begin{achievements} + \item Yang Y, Ren T L, Zhang L T, et al. Miniature microphone with silicon-based ferroelectric thin films[J]. Integrated Ferroelectrics, 2003, 52:229-235. + \item 杨轶, 张宁欣, 任天令, 等. 硅基铁电微声学器件中薄膜残余应力的研究[J]. 中国机械工程, 2005, 16(14):1289-1291. + \item 杨轶, 张宁欣, 任天令, 等. 集成铁电器件中的关键工艺研究[J]. 仪器仪表学报, 2003, 24(S4):192-193. + \item Yang Y, Ren T L, Zhu Y P, et al. PMUTs for handwriting recognition. In press[J]. (已被Integrated Ferroelectrics录用) + \end{achievements} + + + \subsection*{专利} + \begin{achievements} - \item 任天令, 杨轶, 朱一平, 等. 硅基铁电微声学传感器畴极化区域控制和电极连接的 - 方法: 中国, CN1602118A. (中国专利公开号) - \item Ren T L, Yang Y, Zhu Y P, et al. Piezoelectric micro acoustic sensor - based on ferroelectric materials: USA, No.11/215, 102. (美国发明专利申请号) + \item 任天令, 杨轶, 朱一平, 等. 硅基铁电微声学传感器畴极化区域控制和电极连接的方法: 中国, CN1602118A[P]. 2005-03-30. + \item Ren T L, Yang Y, Zhu Y P, et al. Piezoelectric micro acoustic sensor based on ferroelectric materials: USA, No.11/215, 102[P]. (美国发明专利申请号.) \end{achievements} \end{resume} diff --git a/macros/latex/contrib/thuthesis/figures/committee.pdf b/macros/latex/contrib/thuthesis/figures/committee.pdf deleted file mode 100644 index 37f210a115..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/committee.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/scan-copyright.pdf b/macros/latex/contrib/thuthesis/figures/scan-copyright.pdf deleted file mode 100644 index 9d5c5a5665..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/scan-copyright.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/scan-record.pdf b/macros/latex/contrib/thuthesis/figures/scan-record.pdf deleted file mode 100644 index db0dcef7b2..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/scan-record.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/scan-statement.pdf b/macros/latex/contrib/thuthesis/figures/scan-statement.pdf deleted file mode 100644 index 25e1494d7a..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/scan-statement.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/thu-fig-logo.pdf b/macros/latex/contrib/thuthesis/figures/thu-fig-logo.pdf deleted file mode 100644 index 594a342957..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/thu-fig-logo.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/thu-lib-logo.pdf b/macros/latex/contrib/thuthesis/figures/thu-lib-logo.pdf deleted file mode 100644 index 996961e825..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/thu-lib-logo.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/thu-text-logo.pdf b/macros/latex/contrib/thuthesis/figures/thu-text-logo.pdf deleted file mode 100644 index 7f20baf74b..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/thu-text-logo.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/figures/thu-whole-logo.pdf b/macros/latex/contrib/thuthesis/figures/thu-whole-logo.pdf deleted file mode 100644 index 1107b0d3ae..0000000000 Binary files a/macros/latex/contrib/thuthesis/figures/thu-whole-logo.pdf and /dev/null differ diff --git a/macros/latex/contrib/thuthesis/ref/refs.bib b/macros/latex/contrib/thuthesis/ref/refs.bib index 120569caab..ff2b667a71 100644 --- a/macros/latex/contrib/thuthesis/ref/refs.bib +++ b/macros/latex/contrib/thuthesis/ref/refs.bib @@ -1,222 +1,330 @@ -@book{IEEE-1363, - author = {{IEEE Std 1363-2000}}, - title = {{IEEE} Standard Specifications for Public-Key Cryptography}, - address = {New York}, - publisher = {IEEE}, - year = 2000 -} - -@inproceedings{kocher99, - author = {C. Kocher and J. Jaffe and B. Jun}, - title = {Differential Power Analysis}, - editor = {M. Wiener}, - booktitle = {Advances in Cryptology ({CRYPTO}~'99)}, - series = {Lecture Notes in Computer Science}, - volume = 1666, - pages = {388-397}, - publisher = {Springer-Verlag}, - address = {Germany}, - month = {August}, - year = 1999 -} - -@incollection{Krasnogor2004e, - author = {N. Krasnogor}, - title = {Towards robust memetic algorithms}, - booktitle = {Recent Advances in Memetic Algorithms}, - publisher = {Springer Berlin Heidelberg}, - year = 2004, - pages = {185-207}, - editor = {W.E. Hart and N. Krasnogor and J.E. Smith}, - volume = 166, - series = {Studies in Fuzziness and Soft Computing}, - address = {New York}, -} - -@incollection{zjsw, - author = {班固}, - title = {苏武传}, - booktitle = {传记散文英华}, - publisher = {湖北人民出版社}, - year = 1998, - pages = {65-69}, - editor = {郑在瀛 and 汪超宏 and 周文复}, - volume = 2, - series = {新古文观止丛书}, - address = {武汉}, -} - -@inbook{clzs, - author = {阎真}, - title = {沧浪之水}, - chapter = {大人物还是讲人情的}, - pages = {185-207}, - publisher = {人民文学出版社}, - address = {北京}, - year = 2001, -} - -@book{tex, - author = "Donald E. Knuth", - title = "The {\TeX}book", - publisher = "Addison-Wesley Publishing Company", - address = "Reading, MA", - year = 1989, - edition = "15th", -} - -@book{companion, - author = "Michel Goosens and Frank Mittelbach and Alexander Samarin", - title = "The {\LaTeX} Companion", - publisher = "Addison-Wesley Publishing Company", - address = "Reading, MA", - PAGES = "112--125", - year = 1994, -} - -@article{ELIDRISSI94, - author = "{Chafik El Idrissi}, M. and {Roney}, A. and {Frigon}, C. - and {Larzilli{\`e}re}, M.", - title = "Measurements of total kinetic-energy released to the - {$N=2$} dissociation limit of {H}$_2$ --- evidence of the - dissociation of very high vibrational {R}ydberg states of - {H}$_2$ by doubly-excited states", - journal = "Chemical Physics Letters", - pages = "260-266", - volume = 224, - number = 10, - year = 1994, -} - -@article{MELLINGER96, - author = "Mellinger, A. and Vidal, C. R. and Jungen, Ch.", - title = "Laser reduced fluorescence study of the carbon-monoxide nd - triplet {R}ydberg series-experimental results and multichannel - quantum-defect analysis", - journal = "J. Chem. Phys.", - pages = "8913-8921", - volume = 104, - number = 5, - year = 1996, -} - -@article{SHELL02, - author = "Michael Shell", - title = "How to Use the {IEEEtran \LaTeX} Class", - journal = "Journal of {\LaTeX} Class Files", - year = 2002, - volume = 12, - number = 4, - pages = "100--120" -} - -@TechReport{NPB2, - title = {The {NAS} Parallel Benchmarks 2.0}, - author = {Alex Woo and David Bailey and Maurice Yarrow and Wijngaart - Wijngaart and Tim Harris and William Saphir}, - year = 1995, - month = dec # "~05", - institution = "The Pennsylvania State University CiteSeer Archives", - url = "http://www.nasa.org/" -} - -@inproceedings{DPMG, - author = {Kim, Sangbum and Woo, Namyoon and Yeom, Heon Y. and Park, - Taesoon and Park, Hyoungwoo}, - title = {Design and {I}mplementation of {D}ynamic {P}rocess - {M}anagement for {G}rid-enabled {MPICH}}, - booktitle = {the 10th European PVM/MPI Users' Group Conference}, - editor = {Jack Dongarra and Domenico Laforenza and Salvatore Orlando}, - publisher = {Springer-Verlag}, - year = 2003, - address = {Venice, Italy}, - month = sep, -} - -@inproceedings{cnproceed, - author = {王重阳 and 黄药师 and 欧阳峰 and 洪七公 and 段皇帝}, - publisher = {金大庸}, - title = {武林高手从入门到精通}, - booktitle = {第~$N$~次华山论剑}, - year = 2006, - address = {西安, 中国}, - month = sep, -} - -@article{cnarticle, - author = "贾宝玉 and 林黛玉 and 薛宝钗 and 贾探春", - title = "论刘姥姥食量大如牛之现实意义", - journal = "红楼梦杂谈", - pages = "260--266", - volume = 224, - year = 1800, -} - -@mastersthesis{zhubajie, - author = {猪八戒}, - title = {论流体食物的持久保存}, - school = {广寒宫大学}, - year = 2005, - address = {北京}, -} - -@phdthesis{shaheshang, - author = {沙和尚}, - title = {论流沙河的综合治理}, - school = {清华大学}, - year = 2005, - address = {北京}, -} - -@mastersthesis{metamori2004, - author = {Ashwin Raju Jeyakumar}, - title = {Metamori: A library for Incremental File Checkpointing}, - school = {Virgina Tech}, - year = 2004, - month = jun # "~21", - address = {Blacksburg}, -} - -@phdthesis{FistSystem01, - author = "Erez Zadok", - title = "{FiST: A System for Stackable File System Code Generation}", - year = 2001, - month = "May", - school = "Computer Science Department, Columbia University", - address = "USA" -} - -@inbook{ColdSources, - author = {P. Gr{\"o}ning and L. Nilsson and P. Ruffieux and R. - Clergereaux and O. Gr{\"o}ning}, - title = {Encyclopedia of Nanoscience and Nanotechnology}, - pages = {547--579}, - publisher = {American Scientific Publishers}, - year = 2004, - volume = 1, - address = {USA}, -} - -@online{chuban2001, - author = {萧钰}, - title = {出版业信息化迈入快车道}, - date = {2001-12-19}, - urldate = {2002-04-15}, - url = {http://www.creader.com/news/200112190019.htm}, -} - -@online{oclc2000, - author = {{Online Computer Library Center, Inc.}}, - title = {History of {OCLC}}, - year = 2000, - urldate = {2000-01-08}, - url = {http://www.oclc.org/about/history/default.htm}, -} - -@online{thuthesis, - author = {薛瑞尼}, - title = {ThuThesis: 清华大学学位论文模板}, - urldate = {2019-04-27}, - url = {https://github.com/xueruini/thuthesis}, - year = 2017, +@article{zhangkun1994, + author = {张昆 and 冯立群 and 余昌钰 and others}, + title = {机器人柔性手腕的球面齿轮设计研究}, + journal = {清华大学学报: 自然科学版}, + volume = {34}, + number = {2}, + pages = {1--7}, + year = {1994}, + key = {zhang1 kun1}, +} + +@book{zhukezhen1973, + author = {竺可桢}, + title = {物理学论}, + address = {北京}, + publisher = {科学出版社}, + year = {1973}, + pages = {56--60}, + key = {zhu2 ke3 zhen1}, +} + +@inproceedings{dupont1974bone, + author = {Dupont, B}, + title = {Bone marrow transplantation in severe combined immunodeficiency with an unrelated MLC compatible donor}, + editor = {White, H J and Smith, R}, + booktitle = {Proceedings of the third annual meeting of the International Society for Experimental Hematology}, + address = {Houston}, + publisher = {International Society for Experimental Hematology}, + year = {1974}, + pages = {44--46}, +} + +@mastersthesis{zhengkaiqing1987, + author = {郑开青}, + title = {通讯系统模拟及软件}, + address = {北京}, + school = {清华大学无线电系}, + year = {1987}, + key = {zheng4 kai1 qing1}, +} + +@patent{jiangxizhou1980, + author = {姜锡洲}, + title = {一种温热外敷药制备方案: 中国, 88105607.3}, + date = {1980-07-26}, + key = {jiang1 xi1 zhou1}, +} + +@standard{jianduju1994, + author = {中华人民共和国国家技术监督局}, + title = {GB3100-3102. 中华人民共和国国家标准-量与单位}, + address = {北京}, + publisher = {中国标准出版社}, + year = {1994}, + key = {zhong1 hua2 ren2 min2 gong4 he2 guo2}, +} + +@article{merkt1995rotational, + author = {Merkt, Fr{\'e}d{\'e}ric and Mackenzie, S R and Softley, Timothy P}, + title = {Rotational Autoionization Dynamics in High Rydberg States of Nitrogen}, + journal = {J Chem Phys}, + year = {1995}, + volume = {103}, + pages = {4509--4518}, +} + +@article{mellinger1996laser, + author = {Mellinger, A and Vidal, C R and Jungen, {Ch}}, + title = {Laser reduced fluorescence study of the carbon monoxide nd triplet Rydberg series - Experimental results and multichannel quantum defect analysis}, + journal = {J Chem Phys}, + year = {1996}, + volume = {104}, + pages = {8913--8921}, +} + +@article{bixon1996dynamics, + author = {Bixon, M and Jortner, Joshua}, + title = {The dynamics of predissociating high {Rydberg} states of {NO}}, + journal = {J Chem Phys}, + year = {1996}, + volume = {105}, + pages = {1363--1382}, +} + +@article{mahui1995, + author = {马辉 and 李俭 and 刘耀明 and others}, + title = {利用 {REMPI} 方法测量 {BaF} 高里德堡系列光谱}, + journal = {化学物理学报}, + year = {1995}, + volume = {8}, + pages = {308--311}, + key = {ma3 hui1}, +} + +@article{carlson1981two, + author = {Carlson, N W and Taylor, A J and Jones, K M and Schawlow, A L}, + title = {Two-step polarization-labeling spectroscopy of excited states of {Na2}}, + journal = {Phys Rev A}, + year = {1981}, + volume = {24}, + pages = {822--834}, +} + +@article{taylor1983scanning, + author = {Taylor, A J and Jones, K M and Schawlow, A L}, + title = {Scanning pulsed-polarization spectrometer applied to {Na2}}, + journal = {J Opt Soc Am}, + year = {1983}, + volume = {73}, + pages = {994--998}, +} + +@article{taylor1981study, + author = {Taylor, A J and Jones, K M and Schawlow, A L}, + title = {A study of the excited {1$\Sigma$g+} states in {Na2}}, + journal = {Opt Commun}, + year = {1981}, + volume = {39}, + pages = {47--50}, +} + +@article{shimizu1983laser, + author = {Shimizu, Kazuko and Shimizu, Fujio}, + title = {Laser induced fluorescence spectra of the a {3$\Pi$u--X 1$\Sigma$g+} band of {Na2} by molecular beam}, + journal = {J Chem Phys}, + year = {1983}, + volume = {78}, + pages = {1126--1131}, +} + +@article{atkinson1982experimental, + author = {Atkinson, J B and Becker, J and Demtr{\"o}der, W}, + title = {Experimental observation of the a {3$\Pi$u} state of {Na2}}, + journal = {Chem Phys Lett}, + year = {1982}, + volume = {87}, + pages = {92--97}, +} + +@article{kusch1975perturbations, + author = {Kusch, P and Hessel, M M}, + title = {Perturbations in the A {1$\Sigma$u+} state of {Na2}}, + journal = {J Chem Phys}, + year = {1975}, + volume = {63}, + pages = {4087--4088}, +} + +@book{guangxi1993, + author = {广西壮族自治区林业厅}, + title = {广西自然保护区}, + address = {北京}, + publisher = {中国林业出版社}, + year = {1993}, + key = {guang3 xi1 zhuang4 zu2 zi4 zhi4 qu1}, +} + +@book{huosini1989guwu, + author = {霍斯尼}, + title = {谷物科学与工艺学原理}, + translator = {李庆龙}, + edition = {2}, + address = {北京}, + publisher = {中国食品出版社}, + year = {1989}, + pages = {15--20}, + key = {huo4 si1 ni2}, +} + +@book{wangfuzhi1865songlun, + author = {王夫之}, + title = {宋论}, + edition = {刻本}, + address = {金陵}, + publisher = {曾氏}, + year = {1865(清同治四年)}, + key = {wang2 fu1 zhi1}, +} + +@book{zhaoyaodong1998xinshidai, + author = {赵耀东}, + title = {新时代的工业工程师}, + address = {台北}, + publisher = {天下文化出版社}, + year = {1998}, + urldate = {1998-09-26}, + url = {http://www.ie.nthu.edu.tw/info/ie.newie.htm}, + key = {zhao4 yao4 dong1}, +} + +@standard{biaozhunhua2002tushu, + author = {全国信息与文献工作标准化技术委员会出版物格式分委员会}, + title = {GB/T 12450-2001 图书书名页}, + address = {北京}, + publisher = {中国标准出版社}, + year = {2002}, + key = {quan2 guo2 xin4 xi1}, +} + +@book{chubanzhuanye2004, + author = {全国出版专业职业资格考试办公室}, + title = {全国出版专业职业资格考试辅导教材: 出版专业理论与实务•中级}, + edition = {2014}, + address = {上海}, + publisher = {上海辞书出版社}, + year = {2004}, + pages = {299--307}, + key = {quan2 guo2 chu1 ban3 ye4}, +} + +@techreport{who1970factors, + author = {{World Health Organization}}, + title = {Factors Regulating the Immune Response: Report of {WHO Scientific Group}}, + address = {Geneva}, + publisher = {WHO}, + year = {1970}, +} + +@book{peebles2001probability, + author = {Peebles, Jr, Peyton Z.}, + title = {Probability, Random Variables, and Random Signal Principles}, + edition = {4}, + address = {New York}, + publisher = {McGraw Hill}, + year = {2001}, +} + +@incollection{baishunong1998zhiwu, + author = {白书农}, + title = {植物开花研究}, + editor = {李承森}, + booktitle = {植物科学进展}, + address = {北京}, + publisher = {高等教育出版社}, + year = {1998}, + pages = {146--163}, + key = {bai2 shu1 nong2}, +} + +@incollection{weinstein1974pathogenic, + author = {Weinstein, L and Swertz, M N}, + title = {Pathogenic Properties of Invading Microorganism}, + editor = {Sodeman, Jr, William A and Sodeman, William A}, + booktitle = {Pathologic physiology: mechanisms of disease}, + address = {Philadelphia}, + publisher = {Saunders}, + year = {1974}, + pages = {745--772}, +} + +@inproceedings{hanjiren1985lun, + author = {韩吉人}, + title = {论职工教育的特点}, + editor = {中国职工教育研究会}, + booktitle = {职工教育研究论文集}, + address = {北京}, + publisher = {人民教育出版社}, + year = {1985}, + pages = {90--99}, + key = {han2 ji2 ren2}, +} + +@periodical{dizhi1936dizhi, + author = {中国地质学会}, + title = {地质评论}, + year = {1936}, + volume = {1}, + number = {1}, + address = {北京}, + publisher = {地质出版社}, + key = {zhong1 guo2 di4 zhi3 xue2 hui4}, +} + +@periodical{tushuguan1957tushuguanxue, + author = {中国图书馆学会}, + title = {图书馆学通讯}, + year = {1957/1990}, + number = {1--4}, + address = {北京}, + publisher = {北京图书馆}, + key = {zhong1 guo2 tu2 shu1 guan3 xue2 hui4}, +} + +@periodical{aaas1883science, + author = {{American Association for the Advancement of Science}}, + title = {Science}, + year = {1883}, + volume = {1}, + number = {1}, + address = {Washington, D.C.}, + publisher = {American Association for the Advancement of Science}, +} + +@newspaper{fugang2000fengsha, + author = {傅刚 and 赵承 and 李佳路}, + title = {大风沙过后的思考}, + journal = {北京青年报}, + date = {2000-04-12}, + number = {14}, + urldate = {2002-03-06}, + url = {http://www.bjyouth.com.cn/Bqb/20000412/B/4216%5ED0412B1401.htm}, + key = {fu4 gang1}, +} + +@online{xiaoyu2001chubanye, + author = {萧钰}, + title = {出版业信息化迈入快车道}, + year = {2001}, + date = {2001-12-19}, + urldate = {2002-04-15}, + url = {http://www.creader.com/news/20011219/200112190019.htm}, + key = {xiao1 yu4}, +} + +@online{oclc2000about, + author = {{Online Computer Library Center, Inc}}, + title = {About {OCLC}: History of Cooperation}, + year = {2000}, + urldate = {2000-01-08}, + url = {http://www.oclc.org/about/cooperation.en.htm}, +} + +@software{scitor2000project, + author = {{Scitor Corporation}}, + title = {Project scheduler}, + address = {Sunnyvale, Calif.}, + publisher = {Scitor Corporation}, + year = {1983}, + medium = {DK}, } diff --git a/macros/latex/contrib/thuthesis/spine.pdf b/macros/latex/contrib/thuthesis/spine.pdf index 2e1e47a680..8f0f80226e 100644 Binary files a/macros/latex/contrib/thuthesis/spine.pdf and b/macros/latex/contrib/thuthesis/spine.pdf differ diff --git a/macros/latex/contrib/thuthesis/thusetup.tex b/macros/latex/contrib/thuthesis/thusetup.tex index 997340120b..26254e2325 100644 --- a/macros/latex/contrib/thuthesis/thusetup.tex +++ b/macros/latex/contrib/thuthesis/thusetup.tex @@ -105,31 +105,23 @@ % start-date = {2011-07-01}, % 研究工作起始时间 } -%% Put any packages you would like to use here +% 载入所需的宏包 -% 表格中支持跨行 -\usepackage{multirow} - -% 跨页表格 -\usepackage{longtable} - -% 固定宽度的表格。放在 hyperref 之前的话,tabularx 里的 footnote 显示不出来。 -\usepackage{tabularx} +% 可以使用 nomencl 生成符号和缩略语说明 +% \usepackage{nomencl} +% \makenomenclature % 表格加脚注 \usepackage{threeparttable} -\pretocmd{\TPTnoteSettings}{\footnotesize}{}{} -% 确定浮动对象的位置,可以使用 H,强制将浮动对象放到这里(可能效果很差) -\usepackage{float} +% 表格中支持跨行 +\usepackage{multirow} + +% 固定宽度的表格。放在 hyperref 之前的话,tabularx 里的 footnote 显示不出来。 +% \usepackage{tabularx} -% 浮动图形控制宏包。 -% 允许上一个 section 的浮动图形出现在下一个 section 的开始部分 -% 该宏包提供处理浮动对象的 \FloatBarrier 命令,使所有未处 -% 理的浮动图形立即被处理。这三个宏包仅供参考,未必使用: -% \usepackage[below]{placeins} -% \usepackage{floatflt} % 图文混排用宏包 -% \usepackage{rotating} % 图形和表格的控制旋转 +% 跨页表格 +% \usepackage{longtable} % 量和单位 \usepackage{siunitx} @@ -155,32 +147,16 @@ % 参考文献使用 BibLaTeX 宏包 % \usepackage[backend=biber,style=thuthesis-numeric]{biblatex} % \usepackage[backend=biber,style=thuthesis-author-year]{biblatex} - -% \addbibresource{ref/refs.bib} % 声明 BibLaTeX 的数据库 - -% 给自定义的宏后面自动加空白 -% \usepackage{xspace} +% \usepackage[backend=biber,style=apa]{biblatex} +% \usepackage[backend=biber,style=mla-new]{biblatex} +% 声明 BibLaTeX 的数据库 +% \addbibresource{ref/refs.bib} % 定义所有的图片文件在 figures 子目录下 \graphicspath{{figures/}} -% 定义自己常用的东西 -% \def\myname{薛瑞尼} - % 数学命令 \newcommand\dif{\mathop{}\!\mathrm{d}} % 微分符号 -\newcommand\real{{\mathbf{R}}} % 实数集 -\newcommand\abs[1]{\lvert#1\rvert} -\newcommand\VECTOR{\symbf} % 向量 -\newcommand\MATRIX{\symbf} % 矩阵 -\newcommand\vn{{\VECTOR{n}}} -\newcommand\vx{{\VECTOR{x}}} -\newcommand\mA{{\MATRIX{A}}} -\newcommand\mK{{\MATRIX{K}}} - -% 借用 ltxdoc 里面的几个命令方便写文档。 -\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} -\providecommand\pkg[1]{{\sffamily#1}} % hyperref 宏包在最后调用 \usepackage{hyperref} diff --git a/macros/latex/contrib/thuthesis/thuthesis-example.pdf b/macros/latex/contrib/thuthesis/thuthesis-example.pdf index ceea3fa53c..92704a73fc 100644 Binary files a/macros/latex/contrib/thuthesis/thuthesis-example.pdf and b/macros/latex/contrib/thuthesis/thuthesis-example.pdf differ diff --git a/macros/latex/contrib/thuthesis/thuthesis-example.tex b/macros/latex/contrib/thuthesis/thuthesis-example.tex index e3b3fd4fd4..4f71d6db49 100644 --- a/macros/latex/contrib/thuthesis/thuthesis-example.tex +++ b/macros/latex/contrib/thuthesis/thuthesis-example.tex @@ -33,9 +33,9 @@ \tableofcontents % 插图和附表清单 -\listoffigures % 插图清单 +\listoffiguresandtables % 插图和附表清单 +% \listoffigures % 插图清单 % \listoftables % 附表清单 -% \listoffiguresandtables % 插图和附表清单 % 符号对照表 \input{data/denotation} @@ -45,6 +45,8 @@ \mainmatter \input{data/chap01} \input{data/chap02} +\input{data/chap03} +\input{data/chap04} % 其他部分 diff --git a/macros/latex/contrib/thuthesis/thuthesis.dtx b/macros/latex/contrib/thuthesis/thuthesis.dtx index b52c7ea851..84c320323c 100644 --- a/macros/latex/contrib/thuthesis/thuthesis.dtx +++ b/macros/latex/contrib/thuthesis/thuthesis.dtx @@ -17,7 +17,7 @@ % % \iffalse %<*driver> -\ProvidesFile{thuthesis.dtx}[2020/09/09 7.0.0 Tsinghua University Thesis Template] +\ProvidesFile{thuthesis.dtx}[2020/10/14 7.1.0 Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -75,17 +75,14 @@ % \item 本模板的发布遵守 \href{https://www.latex-project.org/lppl/lppl-1-3c.txt}{\LaTeX{} Project Public License (1.3.c)},使用前请认真阅读协议内 % 容。 % \item 本模板为作者根据 -% 清华大学教务处颁发的 -% \href{http://www.law.tsinghua.edu.cn/publish/law/7024/2012/20120216153516317135347/20120216153516317135347_.html}{《综合论文训练写作指南》}, % 清华大学研究生院颁发的 -% \href{http://yjsy.cic.tsinghua.edu.cn/docinfo/board/boarddetail.jsp?columnId=001050603&parentColumnId=0010506&itemSeq=5365}{《研究生学位论文写作指南》}, +% \href{http://yjsy.cic.tsinghua.edu.cn/docinfo/board/boarddetail.jsp?columnId=001050603&parentColumnId=0010506&itemSeq=5365}{% +% 《研究生学位论文写作指南》}(仅限校内网络访问)、 +% 清华大学教务处颁发的《综合论文训练写作指南》和 % 清华大学 % \href{http://postdoctor.tsinghua.edu.cn/info/czxz/1283}{% % 《编写“清华大学博士后研究报告”参考意见》} % 编写而成,旨在供清华大学毕业生撰写学位论文使用。 -% \item 清华大学教务处和研究生院只提供毕业论文写作指南,不提供官方模板,也不会授 -% 权第三方模板为官方模板,所以此模板仅为写作指南的参考实现,不保证格式审查老师 -% 不提意见。任何由于使用本模板而引起的论文格式审查问题均与本模板作者无关。 % \item 任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板,请严格遵 % 守 \LaTeX{} Project Public License 协议。由于违犯协议而引起的任何纠纷争端均与 % 本模板作者无关。 @@ -167,9 +164,9 @@ % thuthesis.ins & \textsc{DocStrip} 驱动文件(开发用) \\ % thuthesis.dtx & \textsc{DocStrip} 源文件(开发用)\\\midrule % thuthesis.cls & 模板类文件\\ -% thuthesis-numeric.bst & 参考文献样式文件\\ -% thuthesis-author-year.bst & 参考文献样式文件\\ -% thuthesis-bachelor.bst & 参考文献样式文件\\ +% thuthesis-*.bst & \hologo{BibTeX} 参考文献表样式文件\\ +% thuthesis-*.bbx & BibLaTeX 参考文献表样式文件\\ +% thuthesis-*.cbx & BibLaTeX 参考文献引用样式文件\\ % tsinghua-name-bachelor.pdf & 校名 logo,本科生封面使用 \\\midrule % thuthesis-example.tex & 示例文档主文件\\ % spine.tex & 书脊示例文档\\ @@ -245,20 +242,20 @@ % % 首先,更新模板: % \begin{shell} -% $ xetex thuthesis.ins # 生成 thuthesis.cls +% $ xetex thuthesis.ins # 生成 thuthesis.cls % \end{shell} % % 然后,生成论文以及书脊: % \begin{shell} % $ xelatex thuthesis-example.tex -% $ bibtex thuthesis-example.aux # 生成 bbl 文件 -% $ bibtex thuthesis-example-survey.aux # 本科生的调研报告的参考文献 -% $ bibtex thuthesis-example-translation.aux # 本科生的外文资料翻译的参考文献 -% $ bibtex thuthesis-example-index.aux # 本科生的书面翻译对应的原文索引 -% $ xelatex thuthesis-example.tex # 解决引用 -% $ xelatex thuthesis-example.tex # 生成论文 PDF -% -% $ xelatex spine.tex # 生成书脊 PDF +% $ bibtex thuthesis-example.aux # 生成 bbl 文件 +% $ bibtex thuthesis-example-survey.aux # 本科生的调研报告的参考文献 +% $ bibtex thuthesis-example-translation.aux # 本科生的外文资料翻译的参考文献 +% $ bibtex thuthesis-example-index.aux # 本科生的书面翻译对应的原文索引 +% $ xelatex thuthesis-example.tex # 解决引用 +% $ xelatex thuthesis-example.tex # 生成论文 PDF +% +% $ xelatex spine.tex # 生成书脊 PDF % \end{shell} % % 在调用 \XeLaTeX 时,如果设置了 \option{include-spine} 选项, @@ -290,20 +287,14 @@ % \subsection{示例文件} % \label{sec:userguide} % -% 模板核心文件 -% 有:\file{thuthesis.cls},\file{thuthesis-numeric.bst}, -% \file{thuthesis-author-year.bst} 和 \file{tsinghua-name-bachelor.pdf}, +% 模板核心文件有:\file{thuthesis.cls},\file{tsinghua-name-bachelor.pdf}, +% \file{thuthesis-*.bst}(\hologo{BibTeX}), +% \file{thuthesis-*.bbx} 和 \file{thuthesis-*.cbx}(BibLaTeX), % 但如果没有示例文档会较难下手,所以推荐从模板自带的示例文档入手。其中包括了论文 % 写作用到的所有命令及其使用方法,只需用自己的内容进行相应替换就可以。对于不清 % 楚的命令可以查阅本手册。下面的例子描述了模板中章节的组织形式,来自于示例文档, % 具体内容可以参考模板附带的 \file{thuthesis-example.tex} 和 \file{data/}。 % -% \lstinputlisting[style=lstStyleLaTeX]{thuthesis-example.tex} -% -% 其中 \file{thusetup.tex} 包括了论文基本信息的配置样例: -% -% \lstinputlisting[style=lstStyleLaTeX]{thusetup.tex} -% % \subsection{论文选项} % \label{sec:option} % @@ -739,9 +730,7 @@ % % \subsubsection{数学符号} % \label{sec:math} -% 数学符号应遵循 GB/T 3102.11-1993《物理科学和技术中使用的数学符号》 -% \footnote{原 GB 3102.11-1993,根据2017年第7号公告和强制性标准整合精简结论, -% 自2017年3月23日起,该标准转化为推荐性标准。}, +% 数学符号应遵循 GB/T 3102.11—1993《物理科学和技术中使用的数学符号》 % 模板中使用 \pkg{unicode-math} 宏包来配置数学符号, % 与 \LaTeX{} 默认的英美国家的符号习惯有所差异: % \newcommand\dif{\mathop{}\!\mathrm{d}} @@ -876,7 +865,7 @@ % Biblatex 运行较缓慢,无法对多个参考文献表使用不同样式。 % 用户需要根据实际选择合适的方式。 % -% 研究生要求的参考文献格式基于《信息与文献 参考文献著录规则》(GB/T 7714-2015) +% 研究生要求的参考文献格式基于《信息与文献 参考文献著录规则》(GB/T 7714—2015) % 进行了少量改编(如英文姓名不使用全大写), % 可以选择“顺序编码制”和“著者-出版年制”。 % 如果使用 BibTeX 的方式,需要在导言区载入 \pkg{natbib} 宏包并选择样式,如: @@ -918,7 +907,7 @@ % 而且 \cs{addbibresource} 必须在导言区设置。 % 输出参考文献表应使用 \cs{printbibliography} 命令。 % -% 本科生要求的中文参考文献格式严格遵从 GB/T 7714-2015, +% 本科生要求的中文参考文献格式严格遵从 GB/T 7714—2015, % 附录中调研报告的英文参考文献可以自行选择合适的风格。 % 但是 biblatex 不支持同一文档中使用不同的格式, % 所以只能使用 \hologo{BibTeX}: @@ -1045,71 +1034,36 @@ % \end{translation} % \end{latex} % -% \subsubsection{简历} +% \subsubsection{个人简历、在学期间完成的相关学术成果} % \DescribeEnv{resume} -% 开启个人简历章节,包括个人简历,发表文章,研究成果列表等。每个子项目请 -% 用以下对应命令开启:\cs{xxxitem}\marg{subtitle}。 -% -% \DescribeMacro{\resumeitem} -% 个人简历,用法:\cs{resumeitem}\{个人简历\}。简历内容部分没有格式要求,正常段 -% 落排版。 +% 研究生的标题为为“个人简历、在学期间完成的相关学术成果”, +% 本科生的标题为“在学期间参加课题的研究成果”或“PUBLICATIONS”。 % -% \DescribeMacro{\researchitem} -% 发表学术论文,用法:\cs{researchitem}\marg{类别},包括“学术论文”和“研究成果”两 -% 个类别。分别用 \env{publications} 和 \env{achievements} 罗列。 -% -% \DescribeEnv{publications} -% \DescribeMacro{\publicationskip} -% 用 \env{publications} 环境进行罗列发表的论文。按照学校要求,在学期间发表的学术 -% 论文分以下三部分按顺序分别列出,每部分之间空 1 行,序号可连续排列: -% \begin{enumerate} -% \item 已经刊载的学术论文(本人是第一作者,或者导师为第一作者本人是第二作者) -% \item 尚未刊载,但已经接到正式录用函的学术论文(本人为第一作者,或者导师为第一 -% 作者本人是第二作者)。 -% \item 其他学术论文。可列出除上述两种情况以外的其他学术论文,但必须是已经刊载或 -% 者收到正式录用函的论文。 -% \end{enumerate} +% \DescribeEnv{achievements} +% 本章的其他标题同样使用 \cs{section*},\cs{subsection*} 等命令生成, +% 研究成果用 \env{achievements} 环境罗列。 % -% \env{publications} 环境支持每一部分分别编写,逻辑上更清楚,为了在环境之间支持 -% 空行,需要利用 \cs{publicationskip} 控制。示例: % \begin{latex} -% \researchitem{发表的学术论文} -% -% % 1. 已经刊载的学术论文 -% \begin{publications} -% \item Yang Y, Ren T L, Zhang L T, et al. Miniature microphone with -% silicon-based ferroelectric thin films. Integrated Ferroelectrics, -% 2003, 52:229-235. (SCI 收录, 检索号:758FZ.) -% \item 杨轶, 张宁欣, 任天令, 等. 硅基铁电微声学器件中薄膜残余应力的研究. 中国机 -% 械工程, 2005, 16(14):1289-1291. (EI 收录, 检索号:0534931 2907.) -% \item 杨轶, 张宁欣, 任天令, 等. 集成铁电器件中的关键工艺研究. 仪器仪表学报, -% 2003, 24(S4):192-193. (EI 源刊.) -% \end{publications} -% -% % 2. 尚未刊载,但已经接到正式录用函的学术论文 -% \begin{publications}[before*=\publicationskip,after*=\publicationskip] -% \item Yang Y, Ren T L, Zhu Y P, et al. PMUTs for handwriting -% recognition. In press. (已被 Integrated Ferroelectrics 录用. SCI 源刊.) -% \end{publications} -% -% % 3. 其他学术论文。 -% \begin{publications} -% \item Wu X M, Yang Y, Cai J, et al. Measurements of ferroelectric -% MEMS microphones. Integrated Ferroelectrics, 2005, 69:417-429. -% (SCI 收录, 检索号:896KM) -% \item 贾泽, 杨轶, 陈兢, 等. 用于压电和电容微麦克风的体硅腐蚀相关研究. 压电与声 -% 光, 2006, 28(1):117-119. (EI 收录, 检索号:06129773469) -% \item 伍晓明, 杨轶, 张宁欣, 等. 基于MEMS技术的集成铁电硅微麦克风. 中国集成电路, -% 2003, 53:59-61. -% \end{publications} +% \begin{resume} +% \section*{个人简历} +% …… +% +% \section*{在学期间完成的相关学术成果} +% +% \subsection*{学术论文} +% \begin{achievements} +% \item …… +% \item …… +% \end{achievements} +% +% \subsection*{专利} +% \begin{achievements} +% \item …… +% \item …… +% \end{achievements} +% \end{resume} % \end{latex} % -% \DescribeEnv{achievements} -% 研究成果用 \cs{researchitem}\{研究成果\} 开启,随后用 \env{achievements} 环 -% 境罗列。 -% -% 具体用法请参看示例文档 \file{data/resume.tex}。 -% % \subsubsection{综合论文训练记录表} % \DescribeMacro{\record} % 本科生需要在最后附上综合论文训练记录表,可以用如下命令: @@ -1179,7 +1133,7 @@ % \begin{macrocode} %\NeedsTeXFormat{LaTeX2e}[2017/04/15] %\ProvidesClass{thuthesis} -%[2020/09/09 7.0.0 Tsinghua University Thesis Template] +%[2020/10/14 7.1.0 Tsinghua University Thesis Template] % \end{macrocode} % % 报错 @@ -1193,6 +1147,15 @@ \newcommand\thu@patch@error[1]{% \thu@error{Failed to patch command \protect#1}% } +\newcommand\thu@deprecate[2]{% + \def\thu@@tmp{#2}% + \thu@warning{% + The #1 is deprecated% + \ifx\thu@@tmp\@empty\else + . Use #2 instead% + \fi + }% +} % \end{macrocode} % % 检查 \LaTeXe{} kernel 版本 @@ -1226,7 +1189,7 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{ThuThesis} -\def\version{7.0.0} +\def\version{7.1.0} \RequirePackage{kvdefinekeys} \RequirePackage{kvsetkeys} \RequirePackage{kvoptions} @@ -1757,6 +1720,7 @@ \clearpage \fi \@mainmatterfalse + \thusetup{toc-depth = 0}% } % \end{macrocode} % \end{macro} @@ -2042,7 +2006,7 @@ \fi \fi \newcommand\thu@load@cjk@font@windows{% - \xeCJKsetup{EmboldenFactor=2} + \xeCJKsetup{EmboldenFactor=3}% \setCJKmainfont{SimSun}[ AutoFakeBold = true, ItalicFont = KaiTi, @@ -2078,7 +2042,6 @@ UprightFont = * Light, BoldFont = * Bold, ]% - \xeCJKsetwidth{‘’“”}{1em}% } % \end{macrocode} % @@ -2161,13 +2124,50 @@ % % \begin{macro}{\normalsize} % 正文小四号 (12bp) 字,行距为固定值 20 bp。 +% 其他字号的行距按照相同的比例设置。 +% +% 表达式行的行距为单倍行距,段前空 6 磅,段后空 6 磅。 % \begin{macrocode} \renewcommand\normalsize{% \@setfontsize\normalsize{12bp}{20bp}% - \abovedisplayskip=12bp \@plus 2bp \@minus 2bp - \abovedisplayshortskip=12bp \@plus 2bp \@minus 2bp - \belowdisplayskip=\abovedisplayskip - \belowdisplayshortskip=\abovedisplayshortskip} + \abovedisplayskip 6bp% + \abovedisplayshortskip 6bp% + \belowdisplayshortskip 6bp% + \belowdisplayskip \abovedisplayskip +} +\normalsize +\ifx\MakeRobust\@undefined \else + \MakeRobust\normalsize +\fi +\DeclareRobustCommand\small{% + \@setfontsize\small{10.5bp}{17.5bp}% + \abovedisplayskip 6bp% + \abovedisplayshortskip 6bp% + \belowdisplayshortskip 6bp% + \def\@listi{\leftmargin\leftmargini + \topsep \z@skip + \parsep \z@skip + \itemsep \z@skip}% + \belowdisplayskip \abovedisplayskip +} +\DeclareRobustCommand\footnotesize{% + \@setfontsize\footnotesize{9bp}{15bp}% + \abovedisplayskip 6bp% + \abovedisplayshortskip 6bp% + \belowdisplayshortskip 6bp% + \def\@listi{\leftmargin\leftmargini + \topsep \z@skip + \parsep \z@skip + \itemsep \z@skip}% + \belowdisplayskip \abovedisplayskip +} +\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize{7.5bp}{12.5bp}} +\DeclareRobustCommand\tiny{\@setfontsize\tiny{6.5bp}{10.83bp}} +\DeclareRobustCommand\large{\@setfontsize\large{15bp}{25bp}} +\DeclareRobustCommand\Large{\@setfontsize\Large{18bp}{30bp}} +\DeclareRobustCommand\LARGE{\@setfontsize\LARGE{22bp}{36.67bp}} +\DeclareRobustCommand\huge{\@setfontsize\huge{24bp}{40bp}} +\DeclareRobustCommand\Huge{\@setfontsize\Huge{26bp}{43.33bp}} % \end{macrocode} % \end{macro} % @@ -2207,25 +2207,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\chuhao} -% \begin{macro}{\xiaochu} -% \begin{macro}{\yihao} -% \begin{macro}{\xiaoyi} -% \begin{macro}{\erhao} -% \begin{macro}{\xiaoer} -% \begin{macro}{\sanhao} -% \begin{macro}{\xiaosan} -% \begin{macro}{\sihao} -% \begin{macro}{\banxiaosi} -% \begin{macro}{\xiaosi} -% \begin{macro}{\dawu} -% \begin{macro}{\wuhao} -% \begin{macro}{\xiaowu} -% \begin{macro}{\liuhao} -% \begin{macro}{\xiaoliu} -% \begin{macro}{\qihao} -% \begin{macro}{\bahao} -% 一组字号定义。TODO:用 \cs{zihao} 替代。 +% 一组字号定义。 % \begin{macrocode} \thu@def@fontsize{chuhao}{42bp} \thu@def@fontsize{xiaochu}{36bp} @@ -2236,9 +2218,7 @@ \thu@def@fontsize{sanhao}{16bp} \thu@def@fontsize{xiaosan}{15bp} \thu@def@fontsize{sihao}{14bp} -\thu@def@fontsize{banxiaosi}{13bp} \thu@def@fontsize{xiaosi}{12bp} -\thu@def@fontsize{dawu}{11bp} \thu@def@fontsize{wuhao}{10.5bp} \thu@def@fontsize{xiaowu}{9bp} \thu@def@fontsize{liuhao}{7.5bp} @@ -2246,24 +2226,6 @@ \thu@def@fontsize{qihao}{5.5bp} \thu@def@fontsize{bahao}{5bp} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % % \subsubsection{语言设置} @@ -2297,9 +2259,9 @@ \def\bibname{参考文献}% \def\appendixname{附录}% \def\indexname{索引}% - \def\thu@acknowledgements@name{致\hspace{\ccwd}谢}% + \def\thu@acknowledgements@name{致\quad 谢}% \ifthu@degree@bachelor - \def\contentsname{目\hspace{\ccwd}录}% + \def\contentsname{目\quad 录}% \def\listfigurename{插图索引}% \def\listtablename{表格索引}% \def\thu@list@figure@table@name{插图和附表索引}% @@ -2314,12 +2276,11 @@ \def\thu@list@algorithm@name{算法清单}% \def\listequationname{公式清单}% \ifthu@degree@graduate - \def\contentsname{目\hspace{\ccwd}录}% - \def\thu@toc@contents@name{目录}% + \def\contentsname{目\quad 录}% \def\thu@denotation@name{符号和缩略语说明}% \def\thu@resume@name{个人简历、在学期间完成的相关学术成果}% \else % degree = postdoc - \def\contentsname{目\hspace{2\ccwd}次}% + \def\contentsname{目\qquad 次}% \def\thu@denotation@name{符号表}% \def\thu@resume@name{个人简历、发表的学术论文与科研成果}% \fi @@ -2344,7 +2305,6 @@ \def\thu@resume@name{PUBLICATIONS}% \else \def\contentsname{Contents}% - \def\thu@toc@contents@name{Contents}% \def\listfigurename{List of Figures}% \def\listtablename{List of Tables}% \def\thu@list@figure@table@name{List of Figures and Tables}% @@ -2418,6 +2378,12 @@ \thu@option@hook{language}{\thu@set@names} % \end{macrocode} % +% 带圈数字和星号使用中文字体。 +% \begin{macrocode} +\xeCJKDeclareCharClass{CJK}{"2460 -> "2473} +\xeCJKDeclareCharClass{CJK}{"2605} +% \end{macrocode} +% % \newcommand\unicodechar[1]{U+#1(\symbol{"#1})} % 由于 Unicode 的一些标点符号是中西文混用的: % \unicodechar{00B7}、 @@ -2497,7 +2463,7 @@ \fancyfoot[C]{\wuhao\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% - \markboth{\CTEXifname{\CTEXthechapter\hskip\ccwd}{}##1}{}% + \markboth{\CTEXifname{\CTEXthechapter\quad}{}##1}{}% }% \fi \let\sectionmark\@gobble @@ -2536,7 +2502,48 @@ \thu@option@hook{main-language}{\thu@set@indent} % \end{macrocode} % -% 利用 \pkg{enumitem} 命令调整默认列表环境间的距离,以符合中文习惯。 +% 设置 url 样式,与上下文一致 +% \begin{macrocode} +\urlstyle{same} +% \end{macrocode} +% +% 使用 \pkg{xurl} 的方法,增加 URL 可断行的位置。 +% \begin{macrocode} +\g@addto@macro\UrlBreaks{% + \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9% + \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M + \do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m + \do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z +} +\Urlmuskip=0mu plus 0.1mu +% \end{macrocode} +% +% 取消列表的间距,以符合中文习惯。 +% \begin{macrocode} +\partopsep=\z@skip +\def\@listi{\leftmargin\leftmargini + \parsep \z@skip + \topsep \z@skip + \itemsep\z@skip} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep \z@skip + \parsep \z@skip + \itemsep \z@skip} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep \z@skip + \parsep \z@skip + \partopsep \z@skip + \itemsep \z@skip} +% \end{macrocode} +% +% 使用 \pkg{enumitem} 命令调整默认列表环境间的距离, % \begin{macrocode} \setlist{nosep} % \end{macrocode} @@ -2544,56 +2551,85 @@ % % \subsubsection{脚注} % \label{sec:footnote} -% 脚注符合中文习惯,数字带圈。 -% \begin{macro}{\thu@textcircled} +% 脚注内容采用小五号字,中文用宋体,英文和数字用 Times New Roman 体按两端对齐格式书写, +% 单倍行距,段前段后均空 0 磅。 +% 脚注的序号按页编排,不同页的脚注序号不需要连续。 +% +% 脚注处序号“1,……,10”的字体是“正文”,不是“上标”,序号与脚注内容文字之间空半个汉字符, +% 脚注的段落格式为:单倍行距,段前空 0 磅,段后空 0 磅,悬挂缩进 1.5 字符; +% 字号为小五号字,汉字用宋体,外文用 Times New Roman 体。 +% +% 脚注序号使用带圈数字。 +% \begin{macro}{\thu@circled} % 生成带圈的脚注数字,最多处理到 10。 % \begin{macrocode} -\def\thu@textcircled#1{% - \ifnum\value{#1} >10\relax +\newcommand\thu@circled[1]{% + \ifnum#1 >10\relax \thu@error{% Too many footnotes in this page. Keep footnote less than 10% }% \fi - {\CJKfamily+{}\symbol{\the\numexpr\value{#1}+"245F\relax}}% + {\symbol{\the\numexpr#1+"245F\relax}}% } -\renewcommand{\thefootnote}{\thu@textcircled{footnote}} -\renewcommand{\thempfootnote}{\thu@textcircled{mpfootnote}} +\renewcommand{\thefootnote}{\thu@circled{\c@footnote}} +\renewcommand{\thempfootnote}{\thu@circled{\c@mpfootnote}} % \end{macrocode} % \end{macro} % % 定义脚注分割线,字号(宋体小五),以及悬挂缩进(1.5字符)。 % \begin{macrocode} \def\footnoterule{\vskip-3\p@\hrule\@width0.3\textwidth\@height0.4\p@\vskip2.6\p@} -\let\thu@footnotesize\footnotesize -\renewcommand\footnotesize{\thu@footnotesize\xiaowu[1.5]} -\footnotemargin1.5em\relax +\footnotemargin=13.5bp % \end{macrocode} % -% \cs{@makefnmark} 默认是上标样式,而在脚注部分要求为正文大小。利用\cs{patchcmd} -% 动态调整 \cs{@makefnmark} 的定义。 +% 修改 \pkg{footmisc} 定义的脚注格式。 % \begin{macrocode} -\let\thu@makefnmark\@makefnmark -\def\thu@@makefnmark{\hbox{{\normalfont\@thefnmark}}} -\pretocmd{\@makefntext}{\let\@makefnmark\thu@@makefnmark}{}{} -\apptocmd{\@makefntext}{\let\@makefnmark\thu@makefnmark}{}{} -% \end{macrocode} -% -% 设置 url 样式,与上下文一致 -% \begin{macrocode} -\urlstyle{same} -% \end{macrocode} -% -% 使用 \pkg{xurl} 的方法,增加 URL 可断行的位置。 -% \begin{macrocode} -\g@addto@macro\UrlBreaks{% - \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9% - \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M - \do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z - \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m - \do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z +\long\def\@makefntext#1{% + \begingroup + % 序号取消上标 + \def\@makefnmark{\hbox{\normalfont\@thefnmark}}% + \xiaowu + \ifFN@hangfoot + \bgroup + \setbox\@tempboxa\hbox{% + \ifdim\footnotemargin>\z@ + \hb@xt@\footnotemargin{\@makefnmark\hss}% + \else + \@makefnmark + \fi + }% + \leftmargin\wd\@tempboxa + \rightmargin\z@ + \linewidth \columnwidth + \advance \linewidth -\leftmargin + \parshape \@ne \leftmargin \linewidth + % \footnotesize + \xiaowu + \@setpar{{\@@par}}% + \leavevmode + \llap{\box\@tempboxa}% + \parskip\hangfootparskip\relax + \parindent\hangfootparindent\relax + \else + \parindent1em% + \noindent + \ifdim\footnotemargin>\z@ + \hb@xt@ \footnotemargin{\hss\@makefnmark}% + \else + \ifdim\footnotemargin=\z@ + \llap{\@makefnmark}% + \else + \llap{\hb@xt@ -\footnotemargin{\@makefnmark\hss}}% + \fi + \fi + \fi + \footnotelayout#1% + \ifFN@hangfoot + \par\egroup + \fi + \endgroup } -\Urlmuskip=0mu plus 0.1mu % \end{macrocode} % % @@ -2703,36 +2739,15 @@ % % 公式距前后文的距离由 4 个参数控制,参见 \cs{normalsize} 的定义。 % -% 本科的公式编号要求很诡异,不得不修改 \pkg{amsmath} 中很深的一个命令 \cs{tagform@}。 -% 同时为了让 \pkg{amsmath} 的 \cs{tag*} 命令得到正确的格式,我们必须修改这些代 -% 码。\cs{make@df@tag} 是定义 \cs{tag*} 和 \cs{tag} 内部命令的。 -% \cs{make@df@tag@@} 处理 \cs{tag*},我们就改它! -% \begin{latex} -% \def\make@df@tag{\@ifstar\make@df@tag@@\make@df@tag@@@} -% \def\make@df@tag@@#1{% -% \gdef\df@tag{\maketag@@@{#1}\def\@currentlabel{#1}}} -% \end{latex} -% \begin{macrocode} -\def\make@df@tag{\@ifstar\thu@make@df@tag@@\make@df@tag@@@} -\def\thu@make@df@tag@@#1{\gdef\df@tag{\thu@maketag{#1}\def\@currentlabel{#1}}} -\iffalse -\ifthu@degree@bachelor - \def\thu@maketag#1{\maketag@@@{% - (\ignorespaces\text{\thu@equation@name\hskip0.5em}#1\unskip\@@italiccorr)}} - \def\tagform@#1{\maketag@@@{% - (\ignorespaces\text{\thu@equation@name\hskip0.5em}#1\unskip\@@italiccorr)\equcaption{#1}}} -\fi -\fi -\def\thu@maketag#1{\maketag@@@{(\ignorespaces #1\unskip\@@italiccorr)}} -\def\tagform@#1{\maketag@@@{(\ignorespaces #1\unskip\@@italiccorr)\equcaption{#1}}} -% \end{macrocode} -% 修改 \cs{tagform} 会影响 \cs{eqref}。 +% \subsubsection{浮动对象:插图和表格} +% \label{sec:float} +% +% 图表浮动体的默认位置设为 |h|。 % \begin{macrocode} -\renewcommand{\eqref}[1]{\textup{(\ref{#1})}} +\def\fps@figure{h} +\def\fps@table{h} % \end{macrocode} % -% \subsubsection{浮动对象:插图和表格} -% \label{sec:float} % 设置浮动对象和文字之间的距离 % \begin{macrocode} \setlength{\floatsep}{6bp} @@ -2753,12 +2768,13 @@ % \end{macrocode} % % 研究生要求表单元格中的文字采用 11pt 宋体字,单倍行距,段前空 3 磅,段后空 3 磅。 +% $(3 + 3) / (11 \times 1.3) \approx 0.4$ % \begin{macrocode} \patchcmd\@floatboxreset{% \normalsize }{% \fontsize{11bp}{14.3bp}\selectfont - \renewcommand\arraystretch{1.2}% + \renewcommand\arraystretch{1.4}% }{}{\thu@patch@error{\@floatboxreset}} % \end{macrocode} % @@ -2780,12 +2796,21 @@ % \end{macrocode} % % \begin{macrocode} -\DeclareCaptionFont{thu}{\dawu} -\DeclareCaptionLabelSeparator{thu}{\hspace{\ccwd}} +\newcommand\thu@caption@font{} +\newcommand\thu@set@caption@font{% + \ifthu@degree@bachelor + \renewcommand\thu@caption@font{\fontsize{11bp}{15bp}\selectfont}% + \else + \renewcommand\thu@caption@font{\fontsize{11bp}{14.3bp}\selectfont}% + \fi +} +\thu@set@caption@font +\thu@option@hook{degree}{\thu@set@caption@font} +\DeclareCaptionFont{thu}{\thu@caption@font} \captionsetup{ format = hang, font = thu, - labelsep = thu, + labelsep = quad, aboveskip = 6bp, belowskip = 6bp, figureposition = bottom, @@ -2805,16 +2830,11 @@ \lightrulewidth=1bp % \end{macrocode} % -% \begin{macro}{\hlinewd} -% 简单的表格使用三线表推荐用 \cs{hlinewd}。如果表格比较复杂还是用 \pkg{booktabs} 的命 -% 令好一些。 % \begin{macrocode} -\def\hlinewd#1{% - \noalign{\ifnum0=`}\fi\hrule \@height #1 \futurelet - \reserved@a\@xhline} +\AtEndOfPackageFile*{threeparttable}{ + \g@addto@macro\TPT@defaults{\wuhao} +} % \end{macrocode} -% \end{macro} -% % % \subsubsection{章节标题} % \label{sec:theor} @@ -2823,7 +2843,7 @@ \newcommand{\thu@abstract@name}{中文摘要} \newcommand{\thu@abstract@name@en}{ABSTRACT} \else - \newcommand{\thu@abstract@name}{摘\hspace{\ccwd}要} + \newcommand{\thu@abstract@name}{摘\quad 要} \newcommand{\thu@abstract@name@en}{Abstract} \fi % \end{macrocode} @@ -2930,14 +2950,14 @@ % 段前空 12 磅,段后空 6 磅。 % \end{itemize} % -% 由于 Word 模板中开启了“对齐到网格”,实际的段前段后距离有所调整。 +% 由于 Word 的行距算法不同,这里进行了一些调整使得视觉上更接近。 % \begin{macrocode} \else \ctexset{% chapter = { format = \centering\sffamily\sanhao, - beforeskip = 32bp, - afterskip = 32bp, + beforeskip = 27bp, + afterskip = 27bp, }, section = { format = \sffamily\fontsize{14bp}{20bp}\selectfont, @@ -3051,7 +3071,7 @@ % \begin{macrocode} \renewcommand\tableofcontents{% \ifthu@degree@graduate - \thu@chapter*[\thu@toc@contents@name]{\contentsname}% + \thu@chapter*{\contentsname}% \else \thu@chapter*[]{\contentsname}% \fi @@ -3136,13 +3156,7 @@ % \begin{macrocode} \else \titlecontents{chapter} - [\z@]{\addvspace{6bp} - \ifthu@main@language@chinese - \heiti - \else - \sffamily - \fi - } + [\z@]{\addvspace{6bp}\sffamily} {\contentspush{\thecontentslabel\quad}}{} {\rmfamily\thu@leaders\thecontentspage}% \titlecontents{section} @@ -3499,7 +3513,7 @@ % % \begin{macrocode} \newcommand\thu@titlepage@secret{% - \sffamily\CJKfamily+{}\sanhao + \sffamily\sanhao \ifx\thu@secret@level\@empty \phantom{秘密}% \else @@ -3764,7 +3778,7 @@ \centering \parbox[t][0cm][t]{\textwidth}{% \hfill - \CJKfamily+{}\xiaosi + \xiaosi \ifx\thu@secret@level\@empty\else \thu@secret@level\space\thu@secret@year 年\par \fi @@ -3953,52 +3967,19 @@ % \begin{macro}{\copyrightpage} % 授权说明 % \begin{macrocode} -\newcommand{\thu@authorization@title}{关于学位论文使用授权的说明} -\newcommand{\thu@authorization@content}{% -\ifthu@degree@bachelor - 本人完全了解清华大学有关保留、使用学位论文的规定,% - 即:学校有权保留学位论文的复印件,允许该论文被查阅和借阅;% - 学校可以公布该论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存该论文。% -\else - 本人完全了解清华大学有关保留、使用学位论文的规定,即:\par - 清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:% - (1)已获学位的研究生必须按学校规定提交学位论文,% - 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;% - (2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,% - 或在校园网上供校内师生浏览部分内容;% - \ifthu@degree@doctor - (3)根据《中华人民共和国学位条例暂行实施办法》及相关部门具体要求,向国家图书馆报送相应的学位论文。% - \else - (3)按照相关部门督导、抽查等要求,报送相应的学位论文。% - \fi - \par - 本人保证遵守上述规定。% - \fi -} -\newcommand{\thu@authorization@addon}{% - \ifthu@degree@bachelor(涉密的学位论文在解密后应遵守此规定)\else (保密的论文在解密后遵守此规定)\fi} -\newcommand{\thu@authorization@authorsig}{\ifthu@degree@bachelor 签\hskip1em名:\else 作者签名:\fi} -\newcommand{\thu@authorization@teachersig}{导师签名:} -\newcommand{\thu@authorization@frontdate}{% - 日\ifthu@degree@bachelor\hspace{1em}\else\hspace{2em}\fi 期:} \newcommand\copyrightpage[1][]{% \ifthu@degree@postdoc\relax\else - \cleardoublepage - \thispagestyle{empty}% - \thu@pdfbookmark{0}{\thu@authorization@title}% \def\thu@@tmp{#1} \ifx\thu@@tmp\@empty - \ifthu@degree@bachelor\thu@authorization@mk\else% - \begin{list}{}{% - \topsep\z@% - \listparindent\parindent% - \parsep\parskip% - \setlength{\leftmargin}{0.9mm}% - \setlength{\rightmargin}{0.9mm}}% - \item[]\thu@authorization@mk% - \end{list}% - \fi% + \ifthu@degree@bachelor + \thu@copyright@page@bachelor + \else + \thu@copyright@page@graduate + \fi \else + \cleardoublepage + \thispagestyle{empty}% + \thu@pdfbookmark{0}{\thu@authorization@title}% \thu@phantomsection \kv@define@key{thu@copyright}{file}{\includepdf{\kv@value}}% \kv@set@family@handler{thu@copyright}{% @@ -4016,25 +3997,84 @@ % % 支持扫描文件替换。 % \begin{macrocode} -\newcommand{\thu@authorization@mk}{% - \ifthu@degree@bachelor\vspace*{0.2cm}\else\vspace*{0.42cm}\fi % shit code! - \begin{center}\erhao\heiti \thu@authorization@title\end{center} - \ifthu@degree@bachelor\vskip5pt\else\vskip40pt\sihao[2.03]\fi\par - \thu@authorization@content\par - \textbf{\thu@authorization@addon}\par - \ifthu@degree@bachelor\vskip0.7cm\else\vskip1.0cm\fi - \ifthu@degree@bachelor - \indent\mbox{\thu@authorization@authorsig\thu@underline\relax% - \thu@authorization@teachersig\thu@underline\relax\thu@authorization@frontdate\thu@underline\relax} - \else - \begingroup - \parindent0pt\xiaosi - \hspace*{1.5cm}\thu@authorization@authorsig\thu@underline[7em]\relax\hfill% - \thu@authorization@teachersig\thu@underline[7em]\relax\hspace*{1cm}\\[3pt] - \hspace*{1.5cm}\thu@authorization@frontdate\thu@underline[7em]\relax\hfill% - \thu@authorization@frontdate\thu@underline[7em]\relax\hspace*{1cm} - \endgroup - \fi} +\newcommand{\thu@authorization@frontdate}{% + 日\ifthu@degree@bachelor\hspace{1em}\else\hspace{2em}\fi 期:} +\newcommand\thu@copyright@page@graduate{% + \cleardoublepage + \newgeometry{ + vmargin = 3.8cm, + hmargin = 3.2cm, + }% + \begingroup + \ctexset{ + chapter = { + format = {\centering\sffamily\erhao}, + beforeskip = 18bp, + afterskip = 6bp, + }, + }% + \thu@chapter*[]{关于学位论文使用授权的说明}% + \thispagestyle{empty}% + \endgroup + \vskip 50bp% + \begingroup + \fontsize{14bp}{26bp}\selectfont + 本人完全了解清华大学有关保留、使用学位论文的规定,即:\par + 清华大学拥有在著作权法规定范围内学位论文的使用权,其中包括:% + (1)已获学位的研究生必须按学校规定提交学位论文,% + 学校可以采用影印、缩印或其他复制手段保存研究生上交的学位论文;% + (2)\nobreak 为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆、资料室等场所供校内师生阅读,% + 或在校园网上供校内师生浏览部分内容;% + \ifthu@degree@doctor + (3)根据《中华人民共和国学位条例暂行实施办法》及上级教育主管部门具体要求,向国家图书馆报送相应的学位论文。% + \else + (3)按照上级教育主管部门督导、抽查等要求,报送相应的学位论文。% + \fi + \par + 本人保证遵守上述规定。\par + \vskip 6bp% + \textbf{(保密的论文在解密后遵守此规定)}\par + \endgroup + \vskip1.2cm% + \begingroup + \noindent\xiaosi + \hspace*{1.5cm}% + 作者签名:\thu@underline[7em]\relax\hfill + 导师签名:\thu@underline[7em]\relax\hspace*{1cm}\\[3pt]% + \hspace*{1.5cm}% + 日\hspace{2em}期:\thu@underline[7em]\relax\hfill + 日\hspace{2em}期:\thu@underline[7em]\relax\hspace*{1cm}% + \endgroup + \clearpage + \restoregeometry +} +\newcommand\thu@copyright@page@bachelor{% + \cleardoublepage + \begingroup + \ctexset{ + chapter = { + format = {\centering\sffamily\erhao[1]}, + beforeskip = 1bp, + afterskip = 24bp, + }, + }% + \thu@chapter*[]{关于学位论文使用授权的说明}% + \thispagestyle{empty}% + \endgroup + \vskip 4bp% + 本人完全了解清华大学有关保留、使用学位论文的规定,即:% + 学校有权保留学位论文的复印件,允许该论文被查阅和借阅;% + 学校可以公布该论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存该论文。\par + \textbf{(涉密的学位论文在解密后应遵守此规定)}\par + \null\par + \begingroup + \centering + 签\quad 名:\thu@underline[6em]{}% + 导师签名:\thu@underline[6em]{}% + 日\quad 期\thu@underline[6em]{}% + \par + \endgroup +} % \end{macrocode} % \end{macro} % @@ -4088,18 +4128,14 @@ % 每个关键词之间空两个汉字符宽度, 且为悬挂缩进。 % \begin{macrocode} \par + \null\par \ifthu@degree@graduate - \vspace*{\stretch{4}}% \noindent \textsf{关键词:}% \else - \null\par \textbf{关键词:}% \fi \thu@clist@use{\thu@keywords}{;}% - \ifthu@degree@graduate - \vspace*{\stretch{1}}% - \fi \ifthu@degree@bachelor \cleardoublepage \fi @@ -4118,23 +4154,17 @@ \fi \thusetup{language = english}% \ifthu@degree@graduate - \begingroup - \ctexset{chapter/format+=\bfseries}% - \thu@chapter*[\sffamily\bfseries\thu@abstract@name@en]{\thu@abstract@name@en}% - \endgroup + \thu@chapter*{\thu@abstract@name@en}% \else \thu@chapter*[]{\thu@abstract@name@en}% \fi }{% \par + \null\par \ifthu@degree@graduate - \vspace*{\stretch{4}}% \noindent - \textbf{Key Words:}\space - \else - \null\par - \textbf{Keywords:}\space \fi + \textbf{Keywords:}\space \thu@clist@use{\thu@keywords@en}{; }% \ifthu@degree@graduate \vspace*{\stretch{1}}% @@ -4313,7 +4343,7 @@ } \titlecontents{figure} [\z@]{} - {\contentspush{\figurename~\thecontentslabel\hspace{\ccwd}}}{} + {\contentspush{\figurename~\thecontentslabel\quad}}{} {\nobreak\thu@leaders\nobreak\hfil\thecontentspage} % \end{macrocode} % \end{macro} @@ -4328,7 +4358,7 @@ } \titlecontents{table} [\z@]{} - {\contentspush{\tablename~\thecontentslabel\hspace{\ccwd}}}{} + {\contentspush{\tablename~\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage} % \end{macrocode} % \end{macro} @@ -4393,6 +4423,11 @@ \thu@define@key{ cite-style = { name = cite@style, + choices = { + super, + inline, + author-year, + } } } % \end{macrocode} @@ -4416,14 +4451,25 @@ % 几种种引用样式,与 \file{bst} 文件名保持一致, % 这样在使用 \cs{bibliographystyle} 选择参考文献表的样式时也会设置对应的引用样式。 % \begin{macrocode} - \expandafter\newcommand\csname bibstyle@thuthesis-numeric\endcsname{% + \newcommand\bibstyle@super{% \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}} - \expandafter\newcommand\csname bibstyle@thuthesis-author-year\endcsname{% + \newcommand\bibstyle@inline{% + \bibpunct{[}{]}{,}{n}{,}{,}} + \@namedef{bibstyle@author-year}{% \bibpunct{(}{)}{;}{a}{,}{,}} - \expandafter\newcommand\csname bibstyle@thuthesis-bachelor\endcsname{% - \bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}} - \@namedef{bibstyle@thuthesis-inline}{\bibpunct{[}{]}{,}{n}{,}{,}} - \thu@option@hook{cite-style}{\@nameuse{bibstyle@thuthesis-\thu@cite@style}} +% \end{macrocode} +% +% \begin{macrocode} + \thu@option@hook{cite-style}{\@nameuse{bibstyle@\thu@cite@style}} +% \end{macrocode} +% +% 几种种引用样式,与 \file{bst} 文件名保持一致, +% 这样在使用 \cs{bibliographystyle} 选择参考文献表的样式时也会设置对应的引用样式。 +% \begin{macrocode} + \@namedef{bibstyle@thuthesis-numeric}{\citestyle{super}} + \@namedef{bibstyle@thuthesis-author-year}{\citestyle{author-year}} + \@namedef{bibstyle@thuthesis-bachelor}{\citestyle{super}} + \@namedef{bibstyle@thuthesis-inline}{\citestyle{inline}} % \end{macrocode} % % 修改引用的样式。 @@ -4665,7 +4711,7 @@ \newcommand\thu@set@bibliography@format{% \ifthu@degree@bachelor \renewcommand\bibfont{\fontsize{10.5bp}{17bp}\selectfont}% - \setlength{\bibsep}{6bp}% + \setlength{\bibsep}{6bp \@plus 3bp \@minus 3bp}% \ifthu@main@language@chinese \setlength{\bibhang}{21bp}% \else @@ -4673,7 +4719,7 @@ \fi \else \renewcommand\bibfont{\fontsize{10.5bp}{16bp}\selectfont}% - \setlength{\bibsep}{3bp}% + \setlength{\bibsep}{3bp \@plus 3bp \@minus 3bp}% \setlength{\bibhang}{21bp}% \fi } @@ -4682,6 +4728,25 @@ \thu@option@hook{main-language}{\thu@set@bibliography@format} % \end{macrocode} % +% 研究生要求每一条文献的内容要尽量写在同一页内。 +% 遇有被迫分页的情况,可通过“留白”或微调本页行距的方式尽量将同一条文献内容放在一页。 +% 所以上述 \cs{bibsep} 的设置允许 1pt 的伸缩, +% 同时增加同一条文献内分页的惩罚, +% 这里参考 \href{https://github.com/plk/biblatex/blob/e5d6e69e61613cc33ab1fcc2083a8277eb9cfce5/tex/latex/biblatex/biblatex.def}{BibLaTeX 的设置}。 +% \begin{macrocode} + \patchcmd\thebibliography{% + \clubpenalty4000% + }{% + \interlinepenalty=5000\relax + \clubpenalty=10000\relax + }{}{\thu@patch@error{\thebibliography}} + \patchcmd\thebibliography{% + \widowpenalty4000% + }{% + \widowpenalty=10000\relax + }{}{\thu@patch@error{\thebibliography}} +% \end{macrocode} +% % 参考文献表的编号居左,宽度 1 cm。 % \begin{macrocode} \def\@biblabel#1{[#1]\hfill} @@ -4720,7 +4785,7 @@ \newcommand\thu@set@bibliography@format{% \ifthu@degree@bachelor \renewcommand\bibfont{\fontsize{10.5bp}{17bp}\selectfont}% - \setlength{\bibitemsep}{6bp}% + \setlength{\bibitemsep}{6bp \@plus 3bp \@minus 3bp}% \ifthu@main@language@chinese \setlength{\bibhang}{21bp}% \else @@ -4728,7 +4793,7 @@ \fi \else \renewcommand\bibfont{\fontsize{10.5bp}{16bp}\selectfont}% - \setlength{\bibitemsep}{3bp}% + \setlength{\bibitemsep}{3bp \@plus 3bp \@minus 3bp}% \setlength{\biblabelsep}{0.1cm}% \setlength{\bibhang}{21bp}% \fi @@ -4828,6 +4893,7 @@ \section*{Contents}% \thu@pdfbookmark{1}{Contents}% \printcontents[survey]{l}{1}[2]{}% + \vskip 20bp% }% \renewcommand\bibname{参考文献}% \let\bibsection\thu@appendix@bibsection @@ -4857,6 +4923,7 @@ \section*{目录}% \thu@pdfbookmark{1}{目录}% \printcontents[translation]{l}{1}[2]{}% + \vskip 20bp% }% \def\bibsection{% \begingroup @@ -4907,15 +4974,15 @@ \newcommand\thu@set@partial@toc@format{% \titlecontents{section} [\z@]{} - {\contentspush{\thecontentslabel\hspace{\ccwd}}}{} + {\contentspush{\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage}% \titlecontents{subsection} - [1\ccwd]{} - {\contentspush{\thecontentslabel\hspace{\ccwd}}}{} + [1em]{} + {\contentspush{\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage}% \titlecontents{subsubsection} - [2\ccwd]{} - {\contentspush{\thecontentslabel\hspace{\ccwd}}}{} + [2em]{} + {\contentspush{\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage}% } % \end{macrocode} @@ -4941,52 +5008,73 @@ % \begin{environment}{resume} % 个人简历发表文章等。 % \begin{macrocode} -\newenvironment{resume}[1][\thu@resume@name]{% +\newenvironment{resume}{% \@mainmatterfalse - \thu@chapter*{#1}}{} + \thu@chapter*{\thu@resume@name}% + \ctexset{ + section = { + format += \centering, + numbering = false, + }, + subsection = { + format = \sffamily\fontsize{14bp}{20bp}\selectfont, + numbering = false, + aftertitle = \ifthu@language@chinese :\else :\fi, + }, + }% + \ifthu@degree@bachelor + \ifthu@language@english + \sffamily\fontsize{15bp}{20bp}\selectfont, + \fi + \fi +}{} % \end{macrocode} % \end{environment} % -% \begin{macro}{\resumeitem} -% 个人简历部分。每条信息一个段落,故不需要特别处理。 +% 旧的 \cs{resumeitem} 和 \cs{researchitem} 已经过时。 % \begin{macrocode} -\newcommand{\resumeitem}[1]{% - \vspace{24bp}{\sihao\heiti\centerline{#1}}\par\vspace{6bp}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\researchitem} -% 研究成果用 \cs{researchitem}\marg{类别} 开启,包括“学术论文”和“研究成果”两个 -% 列表。 -% \begin{macrocode} -\newcommand{\researchitem}[1]{% - \vspace{32bp}{\sihao\heiti\centerline{#1}}\par\vspace{14bp}} +\newcommand\resumeitem[1]{% + \thu@error{The "\protect\resumeitem" is obsolete. Please update to the new format}% +} +\newcommand\researchitem[1]{% + \thu@error{The "\protect\researchitem" is obsolete. Please update to the new format}% +} % \end{macrocode} -% \end{macro} % -% \begin{environment}{publications} % \begin{environment}{achievements} -% 二者分别通过两个环境 \env{publications} 和 \env{achievements} 罗 -% 列。 -% +% 学术成果由 \env{achievements} 环境罗列。 % \begin{macrocode} -\newlist{publications}{enumerate}{1} -\setlist[publications]{label=[\arabic*],align=left,nosep,itemsep=8bp, - leftmargin=10mm,labelsep=!,before=\xiaosi[1.26],resume} \newlist{achievements}{enumerate}{1} -\setlist[achievements]{label=[\arabic*],align=left,nosep,itemsep=8bp, - leftmargin=10mm,labelsep=!,before=\xiaosi[1.26]} +\setlist[achievements]{ + label = [\arabic*], + align = left, + leftmargin = 10mm, + topsep = 6bp, + parsep = 0bp, + partopsep = 0bp, + itemsep = 6bp, + labelsep = !, + before = { + \ifthu@degree@graduate + \fontsize{12bp}{16bp}\selectfont + \fi + }, + resume = achievements, +} % \end{macrocode} % \end{environment} -% \end{environment} % -% \begin{macro}{\publicationskip} -% \env{publications} 环境可以连续出现多次,第二类论文列表前后要空一行,使 -% 用 \cs{publicationskip}。 % \begin{macrocode} -\def\publicationskip{\bigskip\bigskip} +\newenvironment{publications}{% + \thu@deprecate{"publications" environment}{"achievements"}% + \begin{achievements}% +}{% + \end{achievements}% +} +\newcommand\publicationskip{% + \thu@error{The "\protect\publicationskip" is obsolete. Do not use it}% +} % \end{macrocode} -% \end{macro} % % \subsection{综合论文训练记录表} % @@ -5048,7 +5136,8 @@ \phantomsection } \pdfstringdefDisableCommands{ - \let\\\@empty + \let\\\relax + \let\quad\relax \let\hspace\@gobble }% % \end{macrocode} @@ -5108,9 +5197,11 @@ % % 我们采用 \pkg{longtable} 来处理跨页的表格。同样我们需要设置其默认字体为五号。 % \begin{macrocode} -\AtBeginDocument{% - \let\thu@LT@array\LT@array - \def\LT@array{\dawu[1.5]\thu@LT@array} % set default font size +\AtEndOfPackageFile*{longtable}{ + \pretocmd\LT@array{% + \fontsize{11bp}{14.3bp}\selectfont + \renewcommand\arraystretch{1.4}% + }{}{\thu@patch@error{\LT@array}} } % \end{macrocode} % @@ -5232,7 +5323,7 @@ \contentsuse{algorithm}{loa} \titlecontents{algorithm} [\z@]{} - {\contentspush{\fname@algorithm~\thecontentslabel\hspace{\ccwd}}}{} + {\contentspush{\fname@algorithm~\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage} } % \end{macrocode} @@ -5245,10 +5336,10 @@ \PassOptionsToPackage{algochapter}{algorithm2e} \AtEndOfPackageFile*{algorithm2e}{ \renewcommand\algorithmcfname{\thu@algorithm@name} - \SetAlgoCaptionLayout{dawu} + \SetAlgoCaptionLayout{thu@caption@font} \SetAlCapSty{relax} \SetAlgoCaptionSeparator{\hspace*{1em}} - \SetAlFnt{\dawu} + \SetAlFnt{\fontsize{11bp}{14.3bp}\selectfont} \renewcommand\listofalgorithms{% \thu@listof{algorithmcf}% } @@ -5257,7 +5348,7 @@ \contentsuse{algocf}{loa} \titlecontents{algocf} [\z@]{} - {\contentspush{\algorithmcfname~\thecontentslabel\hspace{\ccwd}}}{} + {\contentspush{\algorithmcfname~\thecontentslabel\quad}}{} {\thu@leaders\thecontentspage} } % \end{macrocode} @@ -5392,9 +5483,17 @@ % \subsection{其它} % \label{sec:other} % -% 在模板文档结束时即装入配置文件,这样用户就能在导言区进行相应的修改。 +% 借用 \cls{ltxdoc} 和 \cls{l3doc} 里面的几个命令方便写文档。 +% \begin{macrocode} +\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +\DeclareRobustCommand\file{\nolinkurl} +\DeclareRobustCommand\env{\textsf} +\DeclareRobustCommand\pkg{\textsf} +\DeclareRobustCommand\cls{\textsf} +% \end{macrocode} +% % \begin{macrocode} -\AtEndOfClass{\sloppy} +\sloppy % % \end{macrocode} % @@ -5570,9 +5669,11 @@ \DeclareDocumentCommand{\option}{m}{\textsf{#1}} \DeclareDocumentCommand{\env}{m}{\texttt{#1}} \DeclareDocumentCommand{\pkg}{s m}{% - \texttt{#2}\IfBooleanF#1{\thu@special@index{package}{#2}}} + \textsf{#2}\IfBooleanF#1{\thu@special@index{package}{#2}}} +\DeclareDocumentCommand{\cls}{s m}{% + \textsf{#2}\IfBooleanF#1{\thu@special@index{package}{#2}}} \DeclareDocumentCommand{\file}{s m}{% - \texttt{#2}\IfBooleanF#1{\thu@special@index{file}{#2}}} + \nolinkurl{#2}\IfBooleanF#1{\thu@special@index{file}{#2}}} \newcommand{\myentry}[1]{% \marginpar{\raggedleft\color{purple}\bfseries\strut #1}} \newcommand{\note}[2][Note]{{% diff --git a/macros/latex/contrib/thuthesis/thuthesis.pdf b/macros/latex/contrib/thuthesis/thuthesis.pdf index a6fef1ff93..40ebbc9fe0 100644 Binary files a/macros/latex/contrib/thuthesis/thuthesis.pdf and b/macros/latex/contrib/thuthesis/thuthesis.pdf differ diff --git a/macros/latex/contrib/yathesis/CHANGELOG.md b/macros/latex/contrib/yathesis/CHANGELOG.md index 6893e749ab..cf7266c192 100644 --- a/macros/latex/contrib/yathesis/CHANGELOG.md +++ b/macros/latex/contrib/yathesis/CHANGELOG.md @@ -1,16 +1,26 @@ # [Unreleased] -# [1.0.3] - 2020-06-16 +# [1.0.4] - 2020-10-14 ## Changed +- Documentation revised. +- The class now relies on `datetime2` and not on `datetime`. + +## Fixed +- Bug gh #76 (https://git.io/JTTpX). +- Bug gh #77 (https://git.io/JTTpu). +- Bug gh #78 (https://git.io/JTTpQ). + +# [1.0.3] - 2020-06-16 +## Changed - Documentation revised. - Specimens improved. -- Package `titlesec` used intead of `titleps`: possible (hopefully slight) layout discrepancies. +- Package `titlesec` used instead of `titleps`: possible (hopefully slight) layout discrepancies. ## Fixed - Bug gh #74 (https://git.io/Jf64U). -- Bug gh #65 (https://git.io/Jf64k), continuation and (?) ending. +- Bug gh #65 (https://git.io/Jf64k), continuation and (hopefully) ending. # [1.0.2] - 2020-04-13 @@ -78,9 +88,6 @@ - On the title page (s) in French, automatic gender agreement in expressions keys introducing the groups member of the committee. -## Removed -- Useless warning from `iflang` package. - ## Fixed - Several bug fixes (among others gh #43). diff --git a/macros/latex/contrib/yathesis/README.md b/macros/latex/contrib/yathesis/README.md index 33f9a33c6b..e6cea4ed6b 100644 --- a/macros/latex/contrib/yathesis/README.md +++ b/macros/latex/contrib/yathesis/README.md @@ -1,6 +1,6 @@ ----------------------------------------------------------------------- -- `yathesis` --- Yet Another Thesis Class, version 1.0.3 +- `yathesis` --- Yet Another Thesis Class, version 1.0.4 - E-mail: `denis.bitouze@univ-littoral.fr` - Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt diff --git a/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf b/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf index 520a5a9276..c78d47117a 100644 Binary files a/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf and b/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf differ diff --git a/macros/latex/contrib/yathesis/exemples/specimen/bibliographie.bib b/macros/latex/contrib/yathesis/exemples/specimen/bibliographie.bib index 7a545f1207..9f7bcc7dab 100644 --- a/macros/latex/contrib/yathesis/exemples/specimen/bibliographie.bib +++ b/macros/latex/contrib/yathesis/exemples/specimen/bibliographie.bib @@ -22,7 +22,7 @@ editor = {O'Connor, Arhur and Arago, François}, title = {Discours prononcé à l'Assemblée Nationale au nom de l'Académie des Sciences à la séance du - \formatdate{12}{06}{1790}}, + \DTMdate{1790-06-12}}, booktitle = {Œuvres de Condorcet}, publisher = {Firmin Didot Frères}, address = {Paris}, diff --git a/macros/latex/contrib/yathesis/exemples/specimen/these.pdf b/macros/latex/contrib/yathesis/exemples/specimen/these.pdf index 1104cc6f7d..d7beb0e193 100644 Binary files a/macros/latex/contrib/yathesis/exemples/specimen/these.pdf and b/macros/latex/contrib/yathesis/exemples/specimen/these.pdf differ diff --git a/macros/latex/contrib/yathesis/exemples/specimen/these.tex b/macros/latex/contrib/yathesis/exemples/specimen/these.tex index 8b3305f2ca..89e0331e30 100644 --- a/macros/latex/contrib/yathesis/exemples/specimen/these.tex +++ b/macros/latex/contrib/yathesis/exemples/specimen/these.tex @@ -128,7 +128,7 @@ \floatsetup[figure]{style=BOXED}% % % Numéro de version du package pgfplots -\pgfplotsset{compat=1.16} +\pgfplotsset{compat=1.17} % % Ajustement pour éviter, dans la table des matières, des débordements de % numéros de pages dans la marge de droite @@ -498,11 +498,11 @@ suis certain qu'il sera \enquote{hors-texte} : \end{displaycquote} % % Deuxième chapitre -\chapter{Développement} +\chapter{Développement du chaos du rire} \label{chap-developpement} \epigraphhead[30]{\selectlanguage{english}\epigraph{I have not failed. I've - just found 10.000 ways that won't work.}{Thomas A. Edison}} + just found \num{10000} ways that won't work.}{Thomas A. Edison}} Dans ce chapitre, nous développons notre travail. Nous citons une référence\index{référence!bibliographique|see{bibliographie}} @@ -648,7 +648,7 @@ optionnel de la commande de sectionnement qui a permis cela. \lipsum[43-52] % % Troisième chapitre -\chapter{Conclusion} +\chapter{Conclusion du chaos du rire} Dans ce chapitre, nous concluons l'étude du chaos du rire. \lipsum[26-27] @@ -685,7 +685,7 @@ Dans ce chapitre, nous concluons l'étude du chaos du rire. \lipsum[26-32] % % Cinquième chapitre -\chapter{Développement} +\chapter{Développement du rire du chaos} Nous pouvons faire référence à des graphiques (très jolis au demeurant), comme celui de la figure~\vref{sin-x*sin-y}. @@ -705,7 +705,7 @@ celui de la figure~\vref{sin-x*sin-y}. \end{figure} % % Sixième chapitre -\chapter{Conclusion} +\chapter{Conclusion du rire du chaos} Dans ce chapitre, nous concluons l'étude du rire du chaos. \lipsum[6-9] diff --git a/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx b/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx index 58c8f72bf1..8c8ec7cc9f 100644 --- a/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx +++ b/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx @@ -219,7 +219,7 @@ % % Numéro de version du package pgfplots %COMMENT -\pgfplotsset{compat=1.16} +\pgfplotsset{compat=1.17} %<% \include{corps/} %\include{corps/developpementI} %<*developpementI-sample|flat-sample> -\chapter{Développement} +\chapter{Développement du chaos du rire} \label{chap-developpement} \epigraphhead[30]{\selectlanguage{english}\epigraph{I have not failed. I've - just found 10.000 ways that won't work.}{Thomas A. Edison}} + just found \num{10000} ways that won't work.}{Thomas A. Edison}} Dans ce chapitre, nous développons notre travail. Nous citons une référence\index{référence!bibliographique|see{bibliographie}} @@ -1005,7 +1005,7 @@ optionnel de la commande de sectionnement qui a permis cela. %% \include{corps/} %\include{corps/conclusionI} %<*conclusionI-sample|flat-sample> -\chapter{Conclusion} +\chapter{Conclusion du chaos du rire} Dans ce chapitre, nous concluons l'étude du chaos du rire. \lipsum[26-27] @@ -1069,7 +1069,7 @@ Dans ce chapitre, nous concluons l'étude du chaos du rire. %% \include{corps/} %\include{corps/developpementII} %<*developpementII-sample|flat-sample> -\chapter{Développement} +\chapter{Développement du rire du chaos} Nous pouvons faire référence à des graphiques (très jolis au demeurant), comme celui de la figure~\vref{sin-x*sin-y}. @@ -1102,7 +1102,7 @@ celui de la figure~\vref{sin-x*sin-y}. %% \include{corps/} %\include{corps/conclusionII} %<*conclusionII-sample|flat-sample> -\chapter{Conclusion} +\chapter{Conclusion du rire du chaos} Dans ce chapitre, nous concluons l'étude du rire du chaos. \lipsum[6-9] @@ -1328,7 +1328,7 @@ int factorielle(int n) editor = {O'Connor, Arhur and Arago, François}, title = {Discours prononcé à l'Assemblée Nationale au nom de l'Académie des Sciences à la séance du - \formatdate{12}{06}{1790}}, + \DTMdate{1790-06-12}}, booktitle = {Œuvres de Condorcet}, publisher = {Firmin Didot Frères}, address = {Paris}, diff --git a/macros/latex/contrib/yathesis/source/yathesis.dtx b/macros/latex/contrib/yathesis/source/yathesis.dtx index 9b7a90f18b..581528318b 100644 --- a/macros/latex/contrib/yathesis/source/yathesis.dtx +++ b/macros/latex/contrib/yathesis/source/yathesis.dtx @@ -23,7 +23,7 @@ %<*readme> ----------------------------------------------------------------------- -- `yathesis` --- Yet Another Thesis Class, version 1.0.3 +- `yathesis` --- Yet Another Thesis Class, version 1.0.4 - E-mail: `denis.bitouze@univ-littoral.fr` - Released under the LaTeX Project Public License v1.3c or later. See http://www.latex-project.org/lppl.txt @@ -70,14 +70,14 @@ Typesetting the documentation of the class requires: \fi % %<*class|install> -\def\yathesisfileversion{1.0.3} -\def\yathesisfiledate{2020-06-16} +\def\yathesisversion{1.0.4} +\def\yathesisdate{2020-10-14} % %<*install> \input docstrip.tex \Msg{********************************************************} \Msg{* Installation} -\Msg{* Class: yathesis \yathesisfiledate\space v\yathesisfileversion} +\Msg{* Class: yathesis \yathesisdate\space v\yathesisversion} \Msg{* that helps to write thesis following French rules (DB)} \Msg{********************************************************} \keepsilent @@ -361,7 +361,7 @@ This work consists of the file yathesis.dtx % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{yathesis}[\yathesisfiledate\space v\yathesisfileversion\space Yet another class for writing thesis (DB)] +\ProvidesClass{yathesis}[\yathesisdate\space v\yathesisversion\space Yet another class for writing thesis (DB)] % \end{macrocode} % % Pour pouvoir définir des macros dont les arguments puissent être @@ -610,7 +610,6 @@ This work consists of the file yathesis.dtx #1/false/.code={% \boolfalse{YAD@#1}% }, - #1/.initial=false, #1/.default=true, }% % }{% @@ -755,7 +754,6 @@ This work consists of the file yathesis.dtx \boolfalse{YAD@submitted@work@star}% \booltrue{YAD@final@work}% },% - version/.initial=final% }% \yadsetup{version=inprogress}% % \end{macrocode} @@ -775,8 +773,8 @@ This work consists of the file yathesis.dtx \booltrue{YAD@output@paper@star}% },% output/screen/.code={},% - output/.initial=screen% }% +\yadsetup{output=screen}% % \end{macrocode} % % On définit la clé de classe "localtocs" qui fait que les titres des chapitres @@ -863,6 +861,7 @@ This work consists of the file yathesis.dtx },% localbibs/.code={% \YAD@localbibs@common@code{false}% + \AtEndPreamble{\BiblatexSplitbibDefernumbersWarningOff}% }% } % \end{macrocode} @@ -874,8 +873,8 @@ This work consists of the file yathesis.dtx space/single/.code={\def\YAD@interligne{single}},% space/onehalf/.code={\def\YAD@interligne{onehalf}},% space/double/.code={\def\YAD@interligne{double}},% - space/.initial=single% }% +\yadsetup{space=single} % \end{macrocode} % % \begin{macrocode} @@ -892,8 +891,8 @@ This work consists of the file yathesis.dtx colophon-location/nowhere/.code={\def\YAD@colophon@location{nowhere}},% colophon-location/verso-frontcover/.code={\def\YAD@colophon@location{verso-frontcover}},% colophon-location/recto-backcover/.code={\def\YAD@colophon@location{recto-backcover}},% - colophon-location/.initial=verso-frontcover% }% +\yadsetup{colophon-location=verso-frontcover} % \end{macrocode} % % \begin{macrocode} @@ -930,7 +929,7 @@ This work consists of the file yathesis.dtx % % \begin{macrocode} \PassOptionsToPackage{a4paper}{geometry}% -\PassOptionsToPackage{nodayofweek}{datetime}% +% \PassOptionsToPackage{nodayofweek}{datetime}% \PassOptionsToPackage{export}{adjustbox}% \PassOptionsToPackage{numbered}{bookmark}% % \PassOptionsToPackage{pagestyles}{titlesec}% @@ -958,7 +957,7 @@ This work consists of the file yathesis.dtx titlesec/.code={\PassOptionsToPackage{#1}{titlesec}},% draftwatermark/.code={\PassOptionsToPackage{#1}{draftwatermark}},% babel/.code={\PassOptionsToPackage{#1}{babel}},% - datetime/.code={\PassOptionsToPackage{#1}{datetime}}% + datetime2/.code={\PassOptionsToPackage{useregional,#1}{datetime2}}% }% % \end{macrocode} % @@ -1138,7 +1137,7 @@ This work consists of the file yathesis.dtx % \end{macrocode} % Pour générer les dates (sans affichage du jour de la semaine). % \begin{macrocode} -\RequirePackage{datetime}[2013/09/10]% +\RequirePackage[useregional]{datetime2}[2020-03-02]% % \end{macrocode} % Pour faire pointer les hyperliens au début des flottants plutôt qu'au % début des légendes @@ -1332,6 +1331,13 @@ This work consists of the file yathesis.dtx \tcbuselibrary{skins}% % \end{macrocode} % +% Afin de préserver la compatibilité ascendante, on demande le comportement +% original du \Package{tcolorbox} en ce qui concerne les espaces verticaux avant +% et après les boîtes de couleur de ce package. +% \begin{macrocode} + \tcbsetforeverylayer{autoparskip} +% \end{macrocode} +% % Par défaut, les listings sont composés en fonte à châsse fixe % \begin{macrocode} % \lstset{basicstyle=\ttfamily} @@ -2184,7 +2190,7 @@ This work consists of the file yathesis.dtx \YAD@translation{\YAD@the@staff-pl-hdr-female}% }{% \YAD@translation{\YAD@the@staff-pl-hdr}% - } + }% }{% \ifboolexpr{% bool {YAD@only@female@\YAD@the@staff}% @@ -2192,7 +2198,7 @@ This work consists of the file yathesis.dtx \YAD@translation{\YAD@the@staff-pl-female}% }{% \YAD@translation{\YAD@the@staff-pl}% - } + }% }% }{% \ifboolexpr{% @@ -2204,7 +2210,7 @@ This work consists of the file yathesis.dtx \YAD@translation{\YAD@the@staff-hdr-female}% }{% \YAD@translation{\YAD@the@staff-hdr}% - } + }% }{% \ifboolexpr{% bool {YAD@only@female@\YAD@the@staff}% @@ -2212,7 +2218,7 @@ This work consists of the file yathesis.dtx \YAD@translation{\YAD@the@staff-female}% }{% \YAD@translation{\YAD@the@staff}% - } + }% }% }% }{% @@ -2700,16 +2706,16 @@ This work consists of the file yathesis.dtx }{% }% \ifthenelse{\equal{#2}{title}}{% - \YAD@hypersetup{pdftitle=\YAD@metatitle}% + \AtEndPreamble{\YAD@hypersetup{pdftitle=\YAD@metatitle}}% }{% }% \ifundef{\YAD@metasubject}{% \ifundef{\YAD@metaacademicfield}{% }{% - \YAD@hypersetup{pdfsubject=\YAD@metaacademicfield}% + \AtEndPreamble{\YAD@hypersetup{pdfsubject=\YAD@metaacademicfield}}% }% }{% - \YAD@hypersetup{pdfsubject=\YAD@metasubject}% + \AtEndPreamble{\YAD@hypersetup{pdfsubject=\YAD@metasubject}}% }% % \end{macrocode} % Création de la commande affichant le résultat de la commande bilingue @@ -2838,7 +2844,7 @@ This work consists of the file yathesis.dtx }% }% \YAD@error@firstlastnames@empty{de l'auteur de la thèse}{#2}{#3}{\author}% - \YAD@hypersetup{pdfauthor=\YAD@firstname@author{} \YAD@lastname@author}% + \AtEndPreamble{\YAD@hypersetup{pdfauthor=\YAD@firstname@author{} \YAD@lastname@author}}% \newcommand*\YAD@email@author{% #1% }% @@ -2992,7 +2998,7 @@ This work consists of the file yathesis.dtx and bool {YAD@valid@year}% }{% \csdef{printdate}{% - \formatdate{#1}{#2}{#3}% + \DTMdisplaydate{#3}{#2}{#1}{}% }% }{% \csdef{printdate}{% @@ -3013,7 +3019,7 @@ This work consists of the file yathesis.dtx and bool {YAD@valid@year}% }{% \csdef{printsubmissiondate}{% - \formatdate{#1}{#2}{#3}% + \DTMdisplaydate{#3}{#2}{#1}{}% }% }{% \csdef{printsubmissiondate}{% @@ -3202,9 +3208,9 @@ This work consists of the file yathesis.dtx % \end{macrocode} % \end{macro} % -% On crée la macro "\YAD@setsecnumdepth", analogue à "\@setseccntt@c" du \Package{tocvsec2}, qui fixe -% la valeur du compteur "secnumdepth" selon l'argument donné sous la forme du -% nom d'une commande de sectionnement +% On crée la macro "\YAD@setsecnumdepth", analogue à "\@setseccntt@c" du +% \Package{tocvsec2}, qui fixe la valeur du compteur "secnumdepth" selon +% l'argument donné sous la forme du nom d'une commande de sectionnement % \begin{macrocode} \newcommand{\YAD@setsecnumdepth}[1]{% \newif\if@YAD@knownsect% @@ -3825,7 +3831,10 @@ This work consists of the file yathesis.dtx \par% \YAD@translation{company} \textbf{\textsc{\Large\printcompany}}% }% - \ifbool{YAD@nodoctoralschool}{% + \ifboolexpr{% + bool {YAD@nodoctoralschool}% + or bool {YAD@hdr}% + }{% }{% \ifdraft{}{\vspace*{\stretch{1.5}}}% % \vspace*{\stretch{1.5}}% @@ -3846,6 +3855,26 @@ This work consists of the file yathesis.dtx \textbf{\printdoctoralschool}% }% }% +% \end{macrocode} +% +% Si une école doctorale est spécifiée alors que la thèse est une HDR, un +% warning est émis. +% \begin{macrocode} + \ifbool{YAD@hdr}{% + \YAD@ifemptyorundef{\printdoctoralschool}{% + }{% + \YAD@ClassWarningNoLine{% + Une école doctorale a été spécifiée mais elle ne\MessageBreak% + figurera nulle part : les HDR ne sont pas préparées\MessageBreak% + sous l'égide d'écoles doctorales (cf. \MessageBreak% + https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000298904)% + }% + }% + }{% + }% +% \end{macrocode} +% +% \begin{macrocode} \ifbool{YAD@nolaboratory}{% }{% \ifdraft{}{\vspace*{\stretch{.5}}}% @@ -3961,7 +3990,7 @@ This work consists of the file yathesis.dtx \large% \YAD@translation{speciality} \textbf{\printspeciality}% }% - } + }% \end{center} % \end{minipage}% \vspace*{\stretch{1}}% @@ -4123,9 +4152,9 @@ This work consists of the file yathesis.dtx \ifthenelse{\isempty{#1}}{% }{% \ifthenelse{\isempty{#2}}{% - \YAD@hypersetup{pdfkeywords={#1}}% + \AtEndPreamble{\YAD@hypersetup{pdfkeywords={#1}}}% }{% - \YAD@hypersetup{pdfkeywords={#1} ({#2})}% + \AtEndPreamble{\YAD@hypersetup{pdfkeywords={#1} ({#2})}}% }% }% }% @@ -5761,21 +5790,37 @@ This work consists of the file yathesis.dtx % On définit la valeur, en anglais et en français, de la macro "\colophon" du colophon. % % \begin{macrocode} -\colophontext{% - \IfLanguageName{french}{% - Mémoire de thèse intitulé \frquote{\printtitle}, écrit par \printauthor{}, - achevé le \today{}, composé au moyen du système de préparation de document - \href{https://fr.wikipedia.org/wiki/LaTeX}{\LaTeX{}} et de la classe - \href{https://www.ctan.org/pkg/yathesis}{\textsf{yathesis}} dédiée aux - thèses préparées en France.% - }{% - Doctoral dissertation entitled “\printtitle”, written by \printauthor{}, - completed on \today{}, typeset with the document preparation system - \href{https://en.wikipedia.org/wiki/LaTeX}{\LaTeX{}} and the - \href{https://www.ctan.org/pkg/yathesis}{\textsf{yathesis}} class dedicated - to theses prepared in France.% +\AtEndPreamble{% + \colophontext{% + \IfLanguageName{french}{% + Mémoire de thèse intitulé \YAD@ifemptyorundef{\printtitle}{% + \YAD@generic@argument@translate{title}% + }{% + \frquote{\printtitle}% + }, écrit par \YAD@ifemptyorundef{\printauthor}{% + \YAD@generic@argument@translate{author}% + }{% + \printauthor% + }, achevé le \today{}, composé au moyen du système de préparation de + document \YAD@href{https://fr.wikipedia.org/wiki/LaTeX}{\LaTeX{}} et de la + classe \YAD@href{https://www.ctan.org/pkg/yathesis}{\textsf{yathesis}} + dédiée aux thèses préparées en France.% + }{% + Doctoral dissertation entitled \YAD@ifemptyorundef{\printtitle}{% + \YAD@generic@argument@translate{title}% + }{% + “\printtitle”% + }, written by \YAD@ifemptyorundef{\printauthor}{% + \YAD@generic@argument@translate{author}% + }{% + \printauthor% + }, completed on \today{}, typeset with the document preparation system + \YAD@href{https://en.wikipedia.org/wiki/LaTeX}{\LaTeX{}} and the + \YAD@href{https://www.ctan.org/pkg/yathesis}{\textsf{yathesis}} class + dedicated to theses prepared in France.% + }% }% -}% +} % \end{macrocode} % % % Le contenu de l'environnement "introduction" est collecté dans la macro @@ -6521,7 +6566,7 @@ This work consists of the file yathesis.dtx #include:colophon #include:csquotes #include:datatool -#include:datetime +#include:datetime2 #include:draftwatermark #include:environ #include:epigraph @@ -6600,7 +6645,7 @@ datatool titlesec draftwatermark babel -datetime +datetime2 #endkeyvals # \yadsetup{%}#n @@ -6936,10 +6981,10 @@ name= \ifthenelse{\equal{#3}{Introduction générale}}{\cleardoublepage\zlabel{introduction}% }{% }% - \ifthenelse{\equal{#3}{Développement}}{\zlabel{localbib}% + \ifthenelse{\equal{#3}{Contexte du chaos du rire}}{\cleardoublepage\zlabel{chapter}% }{% }% - \ifthenelse{\equal{#3}{Contexte du chaos du rire}}{\cleardoublepage\zlabel{chapter}% + \ifthenelse{\equal{#3}{Développement du chaos du rire}}{\zlabel{localbib}% }{% }% \ifthenelse{\equal{#3}{Documents juridiques}}{\cleardoublepage\zlabel{appendix}% diff --git a/macros/latex/required/firstaid/changes.txt b/macros/latex/required/firstaid/changes.txt index ef734a335a..75067562e7 100644 --- a/macros/latex/required/firstaid/changes.txt +++ b/macros/latex/required/firstaid/changes.txt @@ -1,3 +1,8 @@ +2020-10-13 Frank Mittelbach + + * latex2e-first-aid-for-external-files.dtx: + Fix for gh408 to be taken out later when it moves to the kernel. + 2020-10-04 Frank Mittelbach * latex2e-first-aid-for-external-files.dtx: diff --git a/macros/latex/required/firstaid/firstaid.ins b/macros/latex/required/firstaid/firstaid.ins index 5d888cf65b..9965480f20 100644 --- a/macros/latex/required/firstaid/firstaid.ins +++ b/macros/latex/required/firstaid/firstaid.ins @@ -3,7 +3,7 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2020 +%% Copyright (C) 2020 %% The LaTeX3 Project and any individual authors listed elsewhere %% in this file. %% @@ -44,12 +44,12 @@ reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2020 +Copyright (C) 2020 The LaTeX3 Project and any individual authors listed elsewhere in this file. This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'. --------------------------------------------------------------------------- +------------------------------------------------------------------------------ It may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx index 78f52ca78a..55e0d01e26 100644 --- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx +++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx @@ -87,6 +87,17 @@ % doesn't get out of bounds. % \end{quote} % +% \subsection{Minor kernel fixes} +% +% If we encounter issues with the kernel code that should get fixed +% before the next main release we normally generate a patch release +% for \LaTeX{}. However, depending on the complexity of the fix we +% might first add the fix here and generate a full patch release +% only when a number of such issues have accumulated. This way we +% lessen the impact on CTAN maintainers because for each tach +% release we have to make and distribute also a matching +% development release. +% % \StopEventually{\setlength\IndexMin{200pt} \PrintIndex } % % @@ -99,8 +110,8 @@ % \end{macrocode} % % \begin{macrocode} -\def\LaTeXFirstAidDate{2020/10/04} -\def\LaTeXFirstAidVersion{v1.0e} +\def\LaTeXFirstAidDate{2020/10/13} +\def\LaTeXFirstAidVersion{v1.0f} % \end{macrocode} % % \begin{macrocode} @@ -147,37 +158,28 @@ % implementation. % % The package has now got an update so we aren't activating the -% first aid. However, it basically bypasses the new hook mechanism -% and puts the old hooks in thereby disabling, for example, the -% possibility to reorder code through rules. +% first aid. However, at the moment it basically bypasses the new +% hook mechanism and puts the old hooks in thereby disabling, for +% example, the possibility to re-order code through rules. % % We therefore keep \texttt{filehook-ltx.sty} around as a guideline % for further updates. % +% Replacing \pkg{filehook} with a leaner version would then work +% like this: % \begin{macrocode} %<*kernel> %\declare@file@substitution{filehook.sty}{filehook-ltx.sty} % -% \End{macrocode} -% -% If a new filehook package becomes available it can be tested -% simply by undoing the above substitution via -% \begin{verbatim} -% \undeclare@file@substitution{filehook.sty} -% \end{verbatim} -% Once ready this will then taken out of the first aid file. +% \end{macrocode} % -% What follows is a partial implementation of the \pkg{filehook} +% What follows is a simplified (partial) implementation of the \pkg{filehook} % interfaces. -% % Not implemented are: %\begin{verbatim} -% \AtBeginOfFiles -% \AtEndOfFiles -% \AtBeginOfInputs -% \AtEndOfInputs -% \AtBeginOfInputFile -% \AtEndOfInputFile +% \AtBeginOfFiles \AtEndOfFiles +% \AtBeginOfInputs \AtEndOfInputs +% \AtBeginOfInputFile \AtEndOfInputFile %\end{verbatim} % % \begin{macrocode} @@ -214,14 +216,14 @@ {\AddToHook{class/after}{#1}} % \end{macrocode} % -% For normal files we drop the \texttt{.tex} extension for now: % \begin{macrocode} \newcommand\AtBeginOfFile [2] {\AddToHook{file/before/#1}{#2}} \newcommand\AtEndOfFile [2] {\AddToHook{file/after/#1}{#2}} % \end{macrocode} -% +% +% Some commands offered a starred form % \begin{macrocode} \DeclareDocumentCommand \AtBeginOfPackageFile {smm} {\IfBooleanTF{#1}% @@ -230,6 +232,9 @@ {\AddToHook{package/before/#2}{#3}}}% {\AddToHook{package/before/#2}{#3}}% } +% \end{macrocode} +% +% \begin{macrocode} \DeclareDocumentCommand \AtEndOfPackageFile {smm} {\IfBooleanTF{#1}% {\@ifpackageloaded{#2}% @@ -294,6 +299,10 @@ % is still in the kernel. % % \begin{macrocode} +%<*kernel> +% \end{macrocode} +% +% \begin{macrocode} \AddToHook{file/after/biditools.sty}[firstaid]{% \FirstAidNeededT{biditools}{sty}% {2020/05/13 v2 Programming tools for bidi package}% @@ -322,10 +331,6 @@ } % \end{macrocode} % -% \begin{macrocode} -%<*kernel> -% \end{macrocode} -% % % % \subsection{The \pkg{dinbrief} class first aid} @@ -341,6 +346,93 @@ % % % +% \subsection[Temporary fixes for the kernel (until the next +% patch-level release)] +% {Temporary fixes for the kernel \\ +% (until the next patch-level release)} +% +% This is fixing GitHub issue 408. Looks rather long but changes +% only 3 or 4 lines in the macros. +% \begin{macrocode} +\def\@pr@videpackage[#1]{% + \expandafter\protected@xdef % <-- protected... + \csname ver@\@currname.\@currext\endcsname{#1}% Loaded package + \expandafter\let + \csname ver@\@currpkg@reqd\expandafter\endcsname % Requested package + \csname ver@\@currname.\@currext\endcsname + \ifx\@currext\@clsextension + \typeout{Document Class: \@gtempa\space#1}% + \else + \protected@wlog{Package: \@gtempa\space#1}% <--- protected + \fi} +% \end{macrocode} +% +% \begin{macrocode} +\def\load@onefilewithoptions#1[#2][#3]#4{% % <--- \@onefilewithoptions + % earlier in the kernel + \@pushfilename + \xdef\@currname{#1}% + \global\let\@currext#4% + \@ifl@aded\@currext\@currname + {\@if@ptions\@currext{\@currname}{#2}{}% + {\@latex@error + {Option clash for \@cls@pkg\space \@currname}% + {The package \@currname\space has already been loaded + with options:\MessageBreak + \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak + There has now been an attempt to load it + with options\MessageBreak + \space\space[#2]\MessageBreak + Adding the global options:\MessageBreak + \space\space + \@ptionlist{\@currname.\@currext},#2\MessageBreak + to your \noexpand\documentclass declaration may fix this.% + \MessageBreak + Try typing \space \space to proceed.}}% + \@firstofone}% + {\makeatletter + \@reset@ptions + \IfFileExists{\@currname.\@currext}{}% + {\@missing@onefilewithoptions{#2}}% + \ifx\@currname\@empty + \expandafter\@gobble + \else + \@disable@packageload@do{\@currname.\@currext}% + {\@expl@@@filehook@file@push@@ + \set@curr@file{\@currname.\@currext}% + \@filehook@set@CurrentFile + \expandafter\@swaptwoargs\expandafter + {\expandafter{\@currpkg@reqd}}% + {% < + \edef\@currpkg@reqd{\@currname.\@currext}% + \ifx\CurrentFile\CurrentFileUsed + \else + \filename@parse\@curr@file + \edef\@currname{\string@makeletter\filename@base}% + \edef\@currext{\string@makeletter\filename@ext}% + \fi + \load@onefile@withoptions{#2}% + \def\@currpkg@reqd%{\@currpkg@reqd} + }% > + \@expl@@@filehook@file@pop@@}% + \expandafter\@firstofone + \fi}% + {\@ifl@ter\@currext{\@currname}{#3}{}% + {\@latex@warning@no@line + {You have requested,\on@line, + version\MessageBreak + `#3' of \@cls@pkg\space \@currname,\MessageBreak + but only version\MessageBreak + `\csname ver@\@currname.\@currext\endcsname'\MessageBreak + is available}}% + \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}% + \@popfilename + \@reset@ptions} +% \end{macrocode} +% +% \begin{macrocode} +\let\@currpkg@reqd\@empty +% \end{macrocode} % % % \begin{macrocode} diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf index 7e9157f792..70301b7646 100644 Binary files a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf and b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf differ -- cgit v1.2.3