summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-10 03:01:27 +0000
committerNorbert Preining <norbert@preining.info>2020-10-10 03:01:27 +0000
commit03964f11f0331968e99fa5a3d614f25a7b3f8a95 (patch)
tree4facdecd5e8388a9955ace8724a1029eb1da98d7 /macros/latex
parent1f42d0c83e745c8ee0454060ea03fbb886e77ce5 (diff)
CTAN sync 202010100301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/base/README.md2
-rw-r--r--macros/latex/base/alltt.pdfbin173079 -> 173079 bytes
-rw-r--r--macros/latex/base/cfgguide.pdfbin220217 -> 220217 bytes
-rw-r--r--macros/latex/base/changes.txt44
-rw-r--r--macros/latex/base/classes.pdfbin520851 -> 520851 bytes
-rw-r--r--macros/latex/base/clsguide.pdfbin372555 -> 372555 bytes
-rw-r--r--macros/latex/base/cmfonts.pdfbin264505 -> 264505 bytes
-rw-r--r--macros/latex/base/cyrguide.pdfbin216997 -> 216997 bytes
-rw-r--r--macros/latex/base/doc.pdfbin630882 -> 630928 bytes
-rw-r--r--macros/latex/base/docstrip.pdfbin479493 -> 479545 bytes
-rw-r--r--macros/latex/base/encguide.pdfbin1532144 -> 1532144 bytes
-rw-r--r--macros/latex/base/exscale.pdfbin195877 -> 195877 bytes
-rw-r--r--macros/latex/base/fix-cm.pdfbin262059 -> 262059 bytes
-rw-r--r--macros/latex/base/fntguide.pdfbin417861 -> 417861 bytes
-rw-r--r--macros/latex/base/graphpap.pdfbin156277 -> 156277 bytes
-rw-r--r--macros/latex/base/ifthen.pdfbin205213 -> 205213 bytes
-rw-r--r--macros/latex/base/inputenc.pdfbin294900 -> 294900 bytes
-rw-r--r--macros/latex/base/latexchanges.pdfbin232390 -> 232390 bytes
-rw-r--r--macros/latex/base/latexrelease.pdfbin246195 -> 246195 bytes
-rw-r--r--macros/latex/base/latexsym.pdfbin192297 -> 192297 bytes
-rw-r--r--macros/latex/base/lb2.pdfbin138219 -> 138219 bytes
-rw-r--r--macros/latex/base/letter.pdfbin305650 -> 305701 bytes
-rw-r--r--macros/latex/base/lgc2.pdfbin101343 -> 101343 bytes
-rw-r--r--macros/latex/base/lppl.pdfbin125830 -> 125830 bytes
-rw-r--r--macros/latex/base/ltclass.dtx30
-rw-r--r--macros/latex/base/ltfilehook-code.pdfbin735666 -> 735762 bytes
-rw-r--r--macros/latex/base/ltfilehook-doc.pdfbin516541 -> 516631 bytes
-rw-r--r--macros/latex/base/ltfiles.dtx6
-rw-r--r--macros/latex/base/ltfssini.dtx17
-rw-r--r--macros/latex/base/lthooks-code.pdfbin896384 -> 900409 bytes
-rw-r--r--macros/latex/base/lthooks-doc.pdfbin602781 -> 619426 bytes
-rw-r--r--macros/latex/base/lthooks.dtx93
-rw-r--r--macros/latex/base/ltluatex.pdfbin305339 -> 305339 bytes
-rw-r--r--macros/latex/base/ltnews.pdfbin989351 -> 989398 bytes
-rw-r--r--macros/latex/base/ltnews01.pdfbin150020 -> 150020 bytes
-rw-r--r--macros/latex/base/ltnews02.pdfbin134751 -> 134751 bytes
-rw-r--r--macros/latex/base/ltnews03.pdfbin134742 -> 134742 bytes
-rw-r--r--macros/latex/base/ltnews04.pdfbin128772 -> 128772 bytes
-rw-r--r--macros/latex/base/ltnews05.pdfbin157181 -> 157181 bytes
-rw-r--r--macros/latex/base/ltnews06.pdfbin133138 -> 133138 bytes
-rw-r--r--macros/latex/base/ltnews07.pdfbin124029 -> 124029 bytes
-rw-r--r--macros/latex/base/ltnews08.pdfbin144482 -> 144482 bytes
-rw-r--r--macros/latex/base/ltnews09.pdfbin120222 -> 120222 bytes
-rw-r--r--macros/latex/base/ltnews10.pdfbin147946 -> 147946 bytes
-rw-r--r--macros/latex/base/ltnews11.pdfbin104936 -> 104936 bytes
-rw-r--r--macros/latex/base/ltnews12.pdfbin137919 -> 137919 bytes
-rw-r--r--macros/latex/base/ltnews13.pdfbin161065 -> 161065 bytes
-rw-r--r--macros/latex/base/ltnews14.pdfbin150907 -> 150907 bytes
-rw-r--r--macros/latex/base/ltnews15.pdfbin122092 -> 122092 bytes
-rw-r--r--macros/latex/base/ltnews16.pdfbin130687 -> 130687 bytes
-rw-r--r--macros/latex/base/ltnews17.pdfbin149838 -> 149838 bytes
-rw-r--r--macros/latex/base/ltnews18.pdfbin36005 -> 36005 bytes
-rw-r--r--macros/latex/base/ltnews19.pdfbin235073 -> 235073 bytes
-rw-r--r--macros/latex/base/ltnews20.pdfbin283318 -> 283318 bytes
-rw-r--r--macros/latex/base/ltnews21.pdfbin233492 -> 233492 bytes
-rw-r--r--macros/latex/base/ltnews22.pdfbin302836 -> 302836 bytes
-rw-r--r--macros/latex/base/ltnews23.pdfbin274459 -> 274459 bytes
-rw-r--r--macros/latex/base/ltnews24.pdfbin252645 -> 252645 bytes
-rw-r--r--macros/latex/base/ltnews25.pdfbin196326 -> 196326 bytes
-rw-r--r--macros/latex/base/ltnews26.pdfbin362839 -> 362839 bytes
-rw-r--r--macros/latex/base/ltnews27.pdfbin239758 -> 239758 bytes
-rw-r--r--macros/latex/base/ltnews28.pdfbin368226 -> 368226 bytes
-rw-r--r--macros/latex/base/ltnews29.pdfbin433004 -> 433004 bytes
-rw-r--r--macros/latex/base/ltnews30.pdfbin491246 -> 491246 bytes
-rw-r--r--macros/latex/base/ltnews31.pdfbin500919 -> 500919 bytes
-rw-r--r--macros/latex/base/ltnews32.pdfbin521204 -> 520923 bytes
-rw-r--r--macros/latex/base/ltnews32.tex36
-rw-r--r--macros/latex/base/ltshipout-code.pdfbin749323 -> 749397 bytes
-rw-r--r--macros/latex/base/ltshipout-doc.pdfbin503825 -> 503916 bytes
-rw-r--r--macros/latex/base/ltvers.dtx2
-rw-r--r--macros/latex/base/ltx3info.pdfbin191527 -> 191527 bytes
-rw-r--r--macros/latex/base/ltxdoc.dtx9
-rw-r--r--macros/latex/base/ltxdoc.pdfbin215134 -> 215102 bytes
-rw-r--r--macros/latex/base/makeindx.pdfbin160667 -> 160667 bytes
-rw-r--r--macros/latex/base/manifest.txt1
-rw-r--r--macros/latex/base/manual.pdfbin151347 -> 151347 bytes
-rw-r--r--macros/latex/base/modguide.pdfbin220388 -> 220388 bytes
-rw-r--r--macros/latex/base/nfssfont.pdfbin202451 -> 202451 bytes
-rw-r--r--macros/latex/base/proc.pdfbin216877 -> 216877 bytes
-rw-r--r--macros/latex/base/slides.pdfbin351586 -> 351586 bytes
-rw-r--r--macros/latex/base/slifonts.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex/base/source2e.pdfbin4342817 -> 4347415 bytes
-rw-r--r--macros/latex/base/syntonly.pdfbin181346 -> 181388 bytes
-rw-r--r--macros/latex/base/tlc2.pdfbin164947 -> 164947 bytes
-rw-r--r--macros/latex/base/tulm.pdfbin156546 -> 156546 bytes
-rw-r--r--macros/latex/base/usrguide.pdfbin399035 -> 399035 bytes
-rw-r--r--macros/latex/base/utf8ienc.pdfbin330675 -> 330675 bytes
-rw-r--r--macros/latex/base/webcomp.pdfbin136159 -> 136159 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.pdfbin154900 -> 154799 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.tex9
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.dtx40
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.pdfbin327379 -> 328108 bytes
-rw-r--r--macros/latex/contrib/jsclasses/README.md2
-rw-r--r--macros/latex/contrib/jsclasses/jsclasses.dtx6
-rw-r--r--macros/latex/contrib/jsclasses/jsclasses.pdfbin412093 -> 412399 bytes
-rw-r--r--macros/latex/contrib/kvoptions/README.md10
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.dtx308
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.pdfbin488653 -> 480927 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/CHANGES10
-rw-r--r--macros/latex/contrib/tcolorbox/README2
-rw-r--r--macros/latex/contrib/tcolorbox/tcbbreakable.code.tex45
-rw-r--r--macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbexternal.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbfitting.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbhooks.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistings.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbmagazine.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbminted.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbposter.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbprocessing.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbraster.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskins.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbtheorems.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbvignette.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdfbin273842 -> 273812 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.pdfbin457487 -> 457359 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdfbin442492 -> 442139 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex76
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.pdfbin7184574 -> 7174046 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.sty54
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.tex8
-rw-r--r--macros/latex/contrib/xmuthesis/LICENSE416
-rw-r--r--macros/latex/contrib/xmuthesis/README.md45
-rw-r--r--macros/latex/contrib/xmuthesis/xmuthesis.dtx4722
-rw-r--r--macros/latex/contrib/xmuthesis/xmuthesis.pdfbin0 -> 426423 bytes
-rw-r--r--macros/latex/contrib/zref/README.md11
-rw-r--r--macros/latex/contrib/zref/zref.dtx75
-rw-r--r--macros/latex/contrib/zref/zref.pdfbin673694 -> 674089 bytes
-rw-r--r--macros/latex/required/firstaid/changes.txt5
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx54
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdfbin225073 -> 208937 bytes
138 files changed, 5698 insertions, 514 deletions
diff --git a/macros/latex/base/README.md b/macros/latex/base/README.md
index 36decd0156..f10a94deee 100644
--- a/macros/latex/base/README.md
+++ b/macros/latex/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2020-10-01
+Release 2020-10-01 patch level 1
Overview
--------
diff --git a/macros/latex/base/alltt.pdf b/macros/latex/base/alltt.pdf
index 0b9fe6d7db..3e1905c11e 100644
--- a/macros/latex/base/alltt.pdf
+++ b/macros/latex/base/alltt.pdf
Binary files differ
diff --git a/macros/latex/base/cfgguide.pdf b/macros/latex/base/cfgguide.pdf
index 5a47682b94..570ac543f2 100644
--- a/macros/latex/base/cfgguide.pdf
+++ b/macros/latex/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex/base/changes.txt b/macros/latex/base/changes.txt
index 00407db4bb..36a22af10e 100644
--- a/macros/latex/base/changes.txt
+++ b/macros/latex/base/changes.txt
@@ -6,6 +6,45 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2020-10-01 PL 1 Release
+#########################
+
+2020-10-08 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltclass.dtx:
+ Fix loading expl3-based package after rollback to 2020-02-02 (gh/406).
+
+2020-10-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfssini.dtx: removed redundant code and fixed a misspelling
+ in a csname - no functional change (gh/405)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{DocInclude}):
+ Quotes around the aux file name removed,
+ they are not needed and upset BibTeX (gh/400)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfiles.dtx (section{File Handling}):
+ Quotes around the aux file name removed,
+ they are not needed and upset BibTeX (gh/400)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx (subsection{Internal commands needed elsewhere}):
+ Definition \AddToHookNext was supposed to be for \AddToHook (gh/401)
+
+#########################
+# 2020-10-01 Release
+#########################
+
2020-10-01 Joseph Wright <Joseph.Wright@latex-project.org>
* ltclass.dtx:
@@ -419,11 +458,6 @@ are not part of the distribution.
XeTeX-specific definition for \symbol to avoid bug in maths mode (gh/124)
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
-
#########################
# 2020-02-02 PL 5 Release
#########################
diff --git a/macros/latex/base/classes.pdf b/macros/latex/base/classes.pdf
index dc3eb1a664..4cc983e297 100644
--- a/macros/latex/base/classes.pdf
+++ b/macros/latex/base/classes.pdf
Binary files differ
diff --git a/macros/latex/base/clsguide.pdf b/macros/latex/base/clsguide.pdf
index 8f9cf9477b..49b8cc76a4 100644
--- a/macros/latex/base/clsguide.pdf
+++ b/macros/latex/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex/base/cmfonts.pdf b/macros/latex/base/cmfonts.pdf
index 62ca1c1041..ff673d73bd 100644
--- a/macros/latex/base/cmfonts.pdf
+++ b/macros/latex/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex/base/cyrguide.pdf b/macros/latex/base/cyrguide.pdf
index a7e2562d98..ee3a39c730 100644
--- a/macros/latex/base/cyrguide.pdf
+++ b/macros/latex/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex/base/doc.pdf b/macros/latex/base/doc.pdf
index d911f9e920..dc66e7df02 100644
--- a/macros/latex/base/doc.pdf
+++ b/macros/latex/base/doc.pdf
Binary files differ
diff --git a/macros/latex/base/docstrip.pdf b/macros/latex/base/docstrip.pdf
index 84684a2c6b..766592f1f9 100644
--- a/macros/latex/base/docstrip.pdf
+++ b/macros/latex/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex/base/encguide.pdf b/macros/latex/base/encguide.pdf
index 5c5526b11d..6ca1541239 100644
--- a/macros/latex/base/encguide.pdf
+++ b/macros/latex/base/encguide.pdf
Binary files differ
diff --git a/macros/latex/base/exscale.pdf b/macros/latex/base/exscale.pdf
index ad34bdf912..69727ba012 100644
--- a/macros/latex/base/exscale.pdf
+++ b/macros/latex/base/exscale.pdf
Binary files differ
diff --git a/macros/latex/base/fix-cm.pdf b/macros/latex/base/fix-cm.pdf
index 7249ef595d..bc778e9a23 100644
--- a/macros/latex/base/fix-cm.pdf
+++ b/macros/latex/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex/base/fntguide.pdf b/macros/latex/base/fntguide.pdf
index 5d8ec2d612..c89713ed12 100644
--- a/macros/latex/base/fntguide.pdf
+++ b/macros/latex/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex/base/graphpap.pdf b/macros/latex/base/graphpap.pdf
index 79f77e32cb..e417f74dde 100644
--- a/macros/latex/base/graphpap.pdf
+++ b/macros/latex/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex/base/ifthen.pdf b/macros/latex/base/ifthen.pdf
index 8b15d8eb47..a6be5d449d 100644
--- a/macros/latex/base/ifthen.pdf
+++ b/macros/latex/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex/base/inputenc.pdf b/macros/latex/base/inputenc.pdf
index 16246b70fd..76ed961588 100644
--- a/macros/latex/base/inputenc.pdf
+++ b/macros/latex/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex/base/latexchanges.pdf b/macros/latex/base/latexchanges.pdf
index 27269b2541..d5c1ff3e85 100644
--- a/macros/latex/base/latexchanges.pdf
+++ b/macros/latex/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex/base/latexrelease.pdf b/macros/latex/base/latexrelease.pdf
index 26e1feff1f..5b8221881f 100644
--- a/macros/latex/base/latexrelease.pdf
+++ b/macros/latex/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex/base/latexsym.pdf b/macros/latex/base/latexsym.pdf
index b273c4d148..82bad4ba5c 100644
--- a/macros/latex/base/latexsym.pdf
+++ b/macros/latex/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex/base/lb2.pdf b/macros/latex/base/lb2.pdf
index 98f058af57..a5f2bd43f0 100644
--- a/macros/latex/base/lb2.pdf
+++ b/macros/latex/base/lb2.pdf
Binary files differ
diff --git a/macros/latex/base/letter.pdf b/macros/latex/base/letter.pdf
index a142d55a1f..ae5549b6d5 100644
--- a/macros/latex/base/letter.pdf
+++ b/macros/latex/base/letter.pdf
Binary files differ
diff --git a/macros/latex/base/lgc2.pdf b/macros/latex/base/lgc2.pdf
index 17aa4f909c..5cb60acbbd 100644
--- a/macros/latex/base/lgc2.pdf
+++ b/macros/latex/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex/base/lppl.pdf b/macros/latex/base/lppl.pdf
index 2bf460dc7d..5c60effa01 100644
--- a/macros/latex/base/lppl.pdf
+++ b/macros/latex/base/lppl.pdf
Binary files differ
diff --git a/macros/latex/base/ltclass.dtx b/macros/latex/base/ltclass.dtx
index bc6500541e..e771044e66 100644
--- a/macros/latex/base/ltclass.dtx
+++ b/macros/latex/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2020/10/01 v1.3r LaTeX Kernel (Class & Package Interface)]
+ [2020/10/08 v1.3s LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -561,6 +561,7 @@
% |#4| Rest of the stack.
% \changes{v1.3l}{2020/06/05}{Added \cs{@expl@push@filename@@}
% and \cs{@expl@push@filename@aux@@}}
+% \changes{v1.3s}{2020/10/08}{Added missing 2020/02/02 \cs{IncludeInRelease}}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -586,6 +587,27 @@
\@currnamestack}%
\@expl@push@filename@aux@@}
%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% The following version of \cs{@pushfilename} didn't formally exist in
+% this file, but in the 2020/02/02 release, \pkg{expl3} was preloaded
+% and it patched \cs{@pushfilename} (and \cs{@popfilename}) by adding
+% some hooks in there. But rolling back to 2020/02/02, \pkg{expl3}
+% doesn't patch these macros again, so rolling back has to take those
+% hooks into account. Same goes for \cs{@popfilename}.
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}{\@pushfilename}%
+%<latexrelease> {Add \@expl@push@filename@@}%
+%<latexrelease>\def\@pushfilename{%
+%<latexrelease> \@expl@push@filename@@
+%<latexrelease> \xdef\@currnamestack{%
+%<latexrelease> {\@currname}%
+%<latexrelease> {\@currext}%
+%<latexrelease> {\the\catcode`\@}%
+%<latexrelease> \@currnamestack}%
+%<latexrelease> \@expl@push@filename@aux@@}
+%<latexrelease>\EndIncludeInRelease
%<latexrelease>
%<latexrelease>\IncludeInRelease{0000/00/00}{\@pushfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
@@ -613,6 +635,12 @@
\@expl@pop@filename@@}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}{\@popfilename}%
+%<latexrelease> {Add \@expl@push@filename@@}%
+%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
+%<latexrelease> \@expl@pop@filename@@}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>
%<latexrelease>\IncludeInRelease{0000/00/00}{\@popfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil}
diff --git a/macros/latex/base/ltfilehook-code.pdf b/macros/latex/base/ltfilehook-code.pdf
index 7b2ab3e4aa..695028ba23 100644
--- a/macros/latex/base/ltfilehook-code.pdf
+++ b/macros/latex/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltfilehook-doc.pdf b/macros/latex/base/ltfilehook-doc.pdf
index c8fa06d91d..cd3cf7d46e 100644
--- a/macros/latex/base/ltfilehook-doc.pdf
+++ b/macros/latex/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltfiles.dtx b/macros/latex/base/ltfiles.dtx
index 835f600e32..99be77c844 100644
--- a/macros/latex/base/ltfiles.dtx
+++ b/macros/latex/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2020/08/21 v1.2i LaTeX Kernel (File Handling)]
+ [2020/10/04 v1.2j LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -824,11 +824,13 @@
%<latexrelease> {\@include}{Spaces in file names and hooks}%
% \end{macrocode}
%
+% \changes{v1.2j}{2020/10/04}{Quotes around the aux file name removed,
+% they are not needed and upset BibTeX (gh/400)}
% \begin{macrocode}
\def\@include#1 {%
\clearpage
\if@filesw
- \immediate\write\@mainaux{\string\@input{"#1.aux"}}%
+ \immediate\write\@mainaux{\string\@input{#1.aux}}%
\fi
\@tempswatrue
\if@partsw
diff --git a/macros/latex/base/ltfssini.dtx b/macros/latex/base/ltfssini.dtx
index 10f3dc5863..fbea725c1d 100644
--- a/macros/latex/base/ltfssini.dtx
+++ b/macros/latex/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2020/09/30 v3.2d LaTeX Kernel (NFSS Initialisation)]
+ [2020/10/08 v3.2e LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1070,17 +1070,23 @@
% \begin{macro}{\@rmfamilyhook}
% \begin{macro}{\@sffamilyhook}
% \begin{macro}{\@ttfamilyhook}
+% \begin{macro}{\@defaultfamilyhook}
+% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
% These four hooks have legacy versions used in 2020/02/02 so we
% should support them until they aren't any longer used.
+%
+% By default the hooks do nothing.
% \begin{macrocode}
\let\@rmfamilyhook\@empty
\let\@sffamilyhook\@empty
\let\@ttfamilyhook\@empty
-\let\@defaulfamilyhook\@empty
+\let\@defaultfamilyhook\@empty %FMi sort out
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+%
%
% \begin{macrocode}
%</2ekernel|latexrelease>
@@ -1787,13 +1793,6 @@
% \end{macro}
%
%
-% \begin{macro}{\@defaultfamilyhook}
-% By default the hooks do nothing.
-% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
-% \begin{macrocode}
-\let\@defaultfamilyhook\@empty %FMi sort out
-% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
%</2ekernel|latexrelease>
diff --git a/macros/latex/base/lthooks-code.pdf b/macros/latex/base/lthooks-code.pdf
index e93647bf1b..b0b5f66939 100644
--- a/macros/latex/base/lthooks-code.pdf
+++ b/macros/latex/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks-doc.pdf b/macros/latex/base/lthooks-doc.pdf
index c3be9771c9..b547c414a1 100644
--- a/macros/latex/base/lthooks-doc.pdf
+++ b/macros/latex/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks.dtx b/macros/latex/base/lthooks.dtx
index cb48570a0d..a5953cc25d 100644
--- a/macros/latex/base/lthooks.dtx
+++ b/macros/latex/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0b}
-\def\lthooksdate{2020/09/21}
+\def\lthooksversion{v1.0d}
+\def\lthooksdate{2020/10/09}
% \end{macrocode}
%
%<*driver>
@@ -256,6 +256,11 @@
% is used in a package/class, then the current
% package/class name is used, otherwise \hook{top-level} is used.
%
+% If the code for that \meta{label} wasn't yet added to the
+% \meta{hook}, an order is set so that when some code attempts to add
+% that label, the removal order takes action and the code is not
+% added.
+%
% If the optional argument is \texttt{*}, then all code chunks are
% removed. This is rather dangerous as it drops code from other
% packages one may not know about!
@@ -648,10 +653,72 @@
%
% \cs{LogHook} prints the information to the |.log| file, and
% \cs{ShowHook} prints them to the terminal/command window and starts
-% \TeX's prompt (only if \cs{errorstopmode}) to wait for user action.
+% \TeX's prompt (only in \cs{errorstopmode}) to wait for user action.
%
% The \meta{hook} can be specified using the dot-syntax to denote
% the current package name. See section~\ref{sec:default-label}.
+%
+%^^A % Code for the listing below:
+%^^A \NewHook{example-hook}
+%^^A \AddToHook{example-hook}[foo]{[code from package 'foo']}
+%^^A \AddToHook{example-hook}[bar]{[from package 'bar']}
+%^^A \AddToHook{example-hook}[baz]{[package 'baz' is here]}
+%^^A \AddToHookNext{example-hook}{[one-time code]}
+%^^A \DeclareHookRule{example-hook}{baz}{before}{foo}
+%^^A \DeclareDefaultHookRule{bar}{after}{baz}
+%^^A \ShowHook{example-hook}
+%
+% \def\theFancyVerbLine{\textcolor[gray]{0.5}{%^^A
+% \sffamily\tiny\arabic{FancyVerbLine}}}
+%
+% \bigskip
+% Suppose a hook \texttt{example-hook} whose output of
+% \cs{ShowHook}|{example-hook}| is:
+% \begin{verbatim}[numbers=left]
+% -> The hook 'example-hook':
+% > Code chunks:
+% > foo -> [code from package 'foo']
+% > bar -> [from package 'bar']
+% > baz -> [package 'baz' is here]
+% > Extra code for next invocation:
+% > -> [one-time code]
+% > Rules:
+% > foo|baz with relation >
+% > baz|bar with default relation <
+% > Execution order (after applying rules):
+% > bar, baz, foo.
+% \end{verbatim}
+%
+% In the listing above, lines~3 to~5 show the three code chunks added
+% to the hook and their respective labels in the format
+% \begin{quote}
+% \quad \meta{label}\verb| -> |\meta{code}
+% \end{quote}
+%
+% Line~7 shows the code chunk for the next execution of the hook in
+% the format
+% \begin{quote}
+% \quad \verb|-> |\meta{next-code}
+% \end{quote}
+% This code will be used and disappear at the next
+% \verb|\UseHook{example-hook}|, in contrast to the chunks mentioned
+% earlier, which can only be removed from that hook by doing
+% \verb|\RemoveFromHook{|\meta{label}|}[example-hook]|.
+%
+% Lines~9 and~10 show the rules declared that affect this hook in the
+% format
+% \begin{quote}
+% \quad \meta{label-1}\verb+|+\meta{label-2}| with |%^^A
+% \meta{\texttt{default}?}| relation |\meta{relation}
+% \end{quote}
+% which means that the \meta{relation} applies to \meta{label-1} and
+% \meta{label-2}, in that order, as detailed in \cs{DeclareHookRule}.
+% If the relation is \texttt{default} it means that that rule applies
+% to \meta{label-1} and \meta{label-2} in \emph{all} hooks, (unless
+% overrided by a non-default relation).
+%
+% Finally, line~12 lists the labels in the hook after sorting;
+% that is, in the order they will be executed when the hook is used.
% \end{function}
%
%
@@ -3964,19 +4031,21 @@
% may be used in packages without rollback functionality. So we
% just make them do nothing which may or may not work depending on
% the code usage.
+% \changes{v1.0d}{2020/10/04}{Definition \cs{AddToHookNext} was supposed
+% to be for \cs{AddToHook} vize versa (gh/401)}
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\NewHook}{The hook management}%
%<latexrelease>
-%<latexrelease>\def \NewHook#1{}
-%<latexrelease>\def \NewReversedHook#1{}
-%<latexrelease>\def \NewMirroredHookPair#1#2{}
+%<latexrelease>\def\NewHook#1{}
+%<latexrelease>\def\NewReversedHook#1{}
+%<latexrelease>\def\NewMirroredHookPair#1#2{}
%<latexrelease>
-%<latexrelease>\long\def \AddToHook#1#2{}
+%<latexrelease>\long\def\AddToHookNext#1#2{}
%<latexrelease>
-%<latexrelease>\def \AddToHookNext#1{\@gobble@AddToHook@args}
+%<latexrelease>\def\AddToHook#1{\@gobble@AddToHook@args}
%<latexrelease>\providecommand\@gobble@AddToHook@args[2][]{}
%<latexrelease>
%<latexrelease>\def\RemoveFromHook#1{\@gobble@RemoveFromHook@arg}
@@ -3988,17 +4057,17 @@
%<latexrelease>\let \DebugHooksOn \@empty
%<latexrelease>\let \DebugHooksOff\@empty
%<latexrelease>
-%<latexrelease>\def \DeclareHookRul#1#2#3#4{}
+%<latexrelease>\def \DeclareHookRule #1#2#3#4{}
%<latexrelease>\def \DeclareDefaultHookRule #1#2#3{}
-%<latexrelease>\def \ClearHookRule#1#2#3{}
+%<latexrelease>\def \ClearHookRule #1#2#3{}
% \end{macrocode}
% If the hook management is not provided we make the test for existence
% false and the test for empty true in the hope that this is most
% of the time reasonable. If not a package would need to guard
% against running in an old kernel.
% \begin{macrocode}
-%<latexrelease>\def \IfHookExistTF #1#2#3{#3}
-%<latexrelease>\def \IfHookEmptyTF #1#2#3{#2}
+%<latexrelease>\long\def \IfHookExistsTF #1#2#3{#3}
+%<latexrelease>\long\def \IfHookEmptyTF #1#2#3{#2}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
diff --git a/macros/latex/base/ltluatex.pdf b/macros/latex/base/ltluatex.pdf
index c7d795cbc7..57762988e5 100644
--- a/macros/latex/base/ltluatex.pdf
+++ b/macros/latex/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews.pdf b/macros/latex/base/ltnews.pdf
index 06048f8c70..23c0dd26c1 100644
--- a/macros/latex/base/ltnews.pdf
+++ b/macros/latex/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews01.pdf b/macros/latex/base/ltnews01.pdf
index dc2f7ea8df..bfbea06e7f 100644
--- a/macros/latex/base/ltnews01.pdf
+++ b/macros/latex/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews02.pdf b/macros/latex/base/ltnews02.pdf
index ebcd2d2354..cf688058cb 100644
--- a/macros/latex/base/ltnews02.pdf
+++ b/macros/latex/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews03.pdf b/macros/latex/base/ltnews03.pdf
index 289cbe4d2b..bc23990d0b 100644
--- a/macros/latex/base/ltnews03.pdf
+++ b/macros/latex/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews04.pdf b/macros/latex/base/ltnews04.pdf
index f7baebfb3b..e15bb561d1 100644
--- a/macros/latex/base/ltnews04.pdf
+++ b/macros/latex/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews05.pdf b/macros/latex/base/ltnews05.pdf
index ee5c4d9266..e9341e9aca 100644
--- a/macros/latex/base/ltnews05.pdf
+++ b/macros/latex/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews06.pdf b/macros/latex/base/ltnews06.pdf
index 319a1d8e43..baa3c67c49 100644
--- a/macros/latex/base/ltnews06.pdf
+++ b/macros/latex/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews07.pdf b/macros/latex/base/ltnews07.pdf
index 5f222309f3..758f0d9331 100644
--- a/macros/latex/base/ltnews07.pdf
+++ b/macros/latex/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews08.pdf b/macros/latex/base/ltnews08.pdf
index 7f716710f2..e3b73cf681 100644
--- a/macros/latex/base/ltnews08.pdf
+++ b/macros/latex/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews09.pdf b/macros/latex/base/ltnews09.pdf
index dbd989c4c5..b4356f35b8 100644
--- a/macros/latex/base/ltnews09.pdf
+++ b/macros/latex/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews10.pdf b/macros/latex/base/ltnews10.pdf
index c0f06cc42a..2de518f198 100644
--- a/macros/latex/base/ltnews10.pdf
+++ b/macros/latex/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews11.pdf b/macros/latex/base/ltnews11.pdf
index 9ee38fb373..c374a53349 100644
--- a/macros/latex/base/ltnews11.pdf
+++ b/macros/latex/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews12.pdf b/macros/latex/base/ltnews12.pdf
index 4650093733..386d78e184 100644
--- a/macros/latex/base/ltnews12.pdf
+++ b/macros/latex/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews13.pdf b/macros/latex/base/ltnews13.pdf
index 675df98f90..8385a22c65 100644
--- a/macros/latex/base/ltnews13.pdf
+++ b/macros/latex/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews14.pdf b/macros/latex/base/ltnews14.pdf
index 2ff8832b42..569ded2002 100644
--- a/macros/latex/base/ltnews14.pdf
+++ b/macros/latex/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews15.pdf b/macros/latex/base/ltnews15.pdf
index d600f64199..583e931323 100644
--- a/macros/latex/base/ltnews15.pdf
+++ b/macros/latex/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews16.pdf b/macros/latex/base/ltnews16.pdf
index 5ecdfca848..60005231b7 100644
--- a/macros/latex/base/ltnews16.pdf
+++ b/macros/latex/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews17.pdf b/macros/latex/base/ltnews17.pdf
index 025dc9e090..b59c29cd94 100644
--- a/macros/latex/base/ltnews17.pdf
+++ b/macros/latex/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews18.pdf b/macros/latex/base/ltnews18.pdf
index 85b69c2db3..ca3a515a2a 100644
--- a/macros/latex/base/ltnews18.pdf
+++ b/macros/latex/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews19.pdf b/macros/latex/base/ltnews19.pdf
index 0dd540fc4a..3f099b4a9e 100644
--- a/macros/latex/base/ltnews19.pdf
+++ b/macros/latex/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews20.pdf b/macros/latex/base/ltnews20.pdf
index 2b64a285cb..419a89a8b7 100644
--- a/macros/latex/base/ltnews20.pdf
+++ b/macros/latex/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews21.pdf b/macros/latex/base/ltnews21.pdf
index 00e4604478..3e2441d77d 100644
--- a/macros/latex/base/ltnews21.pdf
+++ b/macros/latex/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews22.pdf b/macros/latex/base/ltnews22.pdf
index 616b4526ce..5d38155d83 100644
--- a/macros/latex/base/ltnews22.pdf
+++ b/macros/latex/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews23.pdf b/macros/latex/base/ltnews23.pdf
index fa5042a08b..aa38c11c14 100644
--- a/macros/latex/base/ltnews23.pdf
+++ b/macros/latex/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews24.pdf b/macros/latex/base/ltnews24.pdf
index dd92d6173b..91a8d86ba6 100644
--- a/macros/latex/base/ltnews24.pdf
+++ b/macros/latex/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews25.pdf b/macros/latex/base/ltnews25.pdf
index c5e573d4ce..add99bcdf0 100644
--- a/macros/latex/base/ltnews25.pdf
+++ b/macros/latex/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews26.pdf b/macros/latex/base/ltnews26.pdf
index eea1677407..de17bfda82 100644
--- a/macros/latex/base/ltnews26.pdf
+++ b/macros/latex/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews27.pdf b/macros/latex/base/ltnews27.pdf
index c26de3e974..72c1d5587d 100644
--- a/macros/latex/base/ltnews27.pdf
+++ b/macros/latex/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews28.pdf b/macros/latex/base/ltnews28.pdf
index 7dfdd43ccd..3575e10cd4 100644
--- a/macros/latex/base/ltnews28.pdf
+++ b/macros/latex/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews29.pdf b/macros/latex/base/ltnews29.pdf
index fe4ec53989..bcff75a9d6 100644
--- a/macros/latex/base/ltnews29.pdf
+++ b/macros/latex/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews30.pdf b/macros/latex/base/ltnews30.pdf
index ae005b2ab5..8e96ec9962 100644
--- a/macros/latex/base/ltnews30.pdf
+++ b/macros/latex/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews31.pdf b/macros/latex/base/ltnews31.pdf
index 0b99ad35cd..efebbb5b94 100644
--- a/macros/latex/base/ltnews31.pdf
+++ b/macros/latex/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews32.pdf b/macros/latex/base/ltnews32.pdf
index a61dffb1ef..7e18de6fe5 100644
--- a/macros/latex/base/ltnews32.pdf
+++ b/macros/latex/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews32.tex b/macros/latex/base/ltnews32.tex
index f26449af6b..85283a86a9 100644
--- a/macros/latex/base/ltnews32.tex
+++ b/macros/latex/base/ltnews32.tex
@@ -241,7 +241,7 @@ soft hyphen character (U+00AD) an alias for the \LaTeX\ soft hyphen
\cs{-}. The Unicode engines \XeTeX{} and \LuaTeX{} behaved
differently though: They either ignored U+00AD or interpreted it as an
unconditional hyphen. This inconsistency is fixed now and \LaTeX{}
-always treats \texttt{U+00AD} as \cs{-}.
+always treats U+00AD as \cs{-}.
%
\githubissue{323}
@@ -308,8 +308,6 @@ by setting \cs{finalhyphendemerits} to zero in unjustified settings.
%
\githubissue{274}
-\def\negskip{\tubcommand{\vspace*{-.2pt}}}
-\negskip
\subsection{Set a non-zero \cs{baselineskip} in text scripts}
As \cs{textsuperscript} and \cs{textsubscript} usually contain only a
@@ -320,7 +318,6 @@ been adjusted.
%
\githubissue{249}
-\negskip
\subsection{Spacing issues when using \cs{linethickness}}
In some circumstances the use of \cs{linethickness} introduced a
@@ -330,7 +327,6 @@ to the right. This has been corrected.
\githubissue{274}
-\negskip
\subsection{Better support for the legacy series default interface}
In the initial implementation of \LaTeX's font selection scheme (NFSS)
@@ -342,10 +338,9 @@ now through \cs{DeclareFontSeriesDefault}~\cite{32:ltnews31}. In this
release we improved the support for legacy documents using the old
method to cover additional edge cases.
%
-\githubissue[s]{306,315}
+\githubissue[s]{306 and 315}
-\negskip
\subsection{Support for uncommon font series defaults}
If a font family was set up with fairly unusual font series defaults,
@@ -363,6 +358,8 @@ been corrected.
%
\githubissue{291}
+\tubcommand{\vspace*{-6pt}\break}
+
\subsection{Checking the current font series context}
Sometimes it is necessary to define commands that act differently when
@@ -605,13 +602,11 @@ now allowed.
\subsection{Spacing commands moved from \pkg{amsmath} to the kernel}
Originally \LaTeX{} only provided a small set of spacing commands
-for use in text and math, some of the commands like \cs{;} were
+for use in text and math; some of the commands like \cs{;} were
only supported in math mode. \texttt{amsmath} normalized and
provided all of them in text and math. This code has now been
moved to the kernel so that it is generally available.
-%
-\githubissue{303}
-
+\begin{center}
\begin{tabular}{lll}
command name(s) & math & text\\\hline
\cs{,} \cs{thinspace} & $x\,x$ & x\,x\\
@@ -621,7 +616,9 @@ command name(s) & math & text\\\hline
\cs{;} \cs{thickspace} & $x\;x$ & x\;x\\
\cs{negthickspace} & $x\negthickspace x$ & x\negthickspace x\\
\end{tabular}
-
+\end{center}
+%
+\githubissue{303}
\subsection{Access raw glyphs in \LuaTeX\ without reloading fonts}
@@ -645,7 +642,8 @@ command with three arguments to the \texttt{.toc} and similar files.
\pkg{hyperref} redefines \cs{addcontentsline} to write
a fourth argument. The change unifies the number of arguments
by writing an additional empty brace group.
-
+%
+\githubissue{370}
\subsection{Lua\TeX\ callback \texttt{new\_graf} made \texttt{exclusive}}
@@ -795,15 +793,15 @@ processed as part of the formula.
%
\githubissue{5}
-\tubcommand\newpage
\subsection{Detect Unicode engines when setting \cs{std@minus} and \cs{std@equal}}
\pkg{amsmath} now detects the Unicode engines and uses their extended
-commands to define \cs{std@minus} and \cs{std@equal}. This avoids a
-package like \pkg{unicode-math} having to patch the code in the begin
-document hook to change the commands.
+commands to define \cs{std@minus} and
+\tubcommand{\parfillskip=0pt\par\newpage\noindent}%
+\cs{std@equal}. This avoids a package like
+\pkg{unicode-math} having to patch the code in the begin document hook to change the commands.
-\subsection{Use lua\TeX{} primitives}
+\subsection{Use Lua\TeX{} primitives where applicable}
For a number of years \pkg{lualatex-math} patched \cs{frac},
\cs{genfrac} and the \texttt{subarray} environment to make use of new
@@ -842,7 +840,7 @@ serve as a source for other packages.
For further details take a look at the \pkg{babel} package
documentation~\cite{32:babel}.
-
+\medskip
\begin{thebibliography}{9}
\fontsize{9.3}{11.3}\selectfont
diff --git a/macros/latex/base/ltshipout-code.pdf b/macros/latex/base/ltshipout-code.pdf
index a0de61ff55..2798161f94 100644
--- a/macros/latex/base/ltshipout-code.pdf
+++ b/macros/latex/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltshipout-doc.pdf b/macros/latex/base/ltshipout-doc.pdf
index 0e1295f1fe..36bf7eaddc 100644
--- a/macros/latex/base/ltshipout-doc.pdf
+++ b/macros/latex/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltvers.dtx b/macros/latex/base/ltvers.dtx
index 2813670115..fcd722b0e8 100644
--- a/macros/latex/base/ltvers.dtx
+++ b/macros/latex/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2020-10-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{0}
+\def\patch@level{1}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex/base/ltx3info.pdf b/macros/latex/base/ltx3info.pdf
index c752adf37e..df2407717f 100644
--- a/macros/latex/base/ltx3info.pdf
+++ b/macros/latex/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex/base/ltxdoc.dtx b/macros/latex/base/ltxdoc.dtx
index 696af32ab1..0c7130c371 100644
--- a/macros/latex/base/ltxdoc.dtx
+++ b/macros/latex/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2020/08/21 v2.1a Standard LaTeX documentation class]
+%<class> [2020/10/04 v2.1b Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -443,7 +443,12 @@
\expandafter\@docinclude\expandafter{\@curr@file}
\fi}
\def\@docinclude#1 {\clearpage
-\if@filesw \immediate\write\@mainaux{\string\@input{"#1.aux"}}\fi
+% \end{macrocode}
+%
+% \changes{v2.1bj}{2020/10/04}{Quotes around the aux file name removed,
+% they are no longer needed and upset BibTeX (gh/400)}
+% \begin{macrocode}
+\if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi
\@tempswatrue\if@partsw \@tempswafalse\edef\@tempb{#1}\@for
\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi
\if@tempswa \let\@auxout\@partaux \if@filesw
diff --git a/macros/latex/base/ltxdoc.pdf b/macros/latex/base/ltxdoc.pdf
index 20f8a87783..e71726bb93 100644
--- a/macros/latex/base/ltxdoc.pdf
+++ b/macros/latex/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex/base/makeindx.pdf b/macros/latex/base/makeindx.pdf
index a816222f02..45c46bc9ea 100644
--- a/macros/latex/base/makeindx.pdf
+++ b/macros/latex/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex/base/manifest.txt b/macros/latex/base/manifest.txt
index 449b250ee8..f3c8f2b216 100644
--- a/macros/latex/base/manifest.txt
+++ b/macros/latex/base/manifest.txt
@@ -114,6 +114,7 @@
% ltspace.dtx -- Spacing, line and page breaking.
% ltlogos.dtx -- Logos.
% ltlists.dtx -- Code for lists and related environments.
+% ltluatex.dtx -- LuaTeX engine related code.
% ltmath.dtx -- Code for math.
% ltmiscen.dtx -- Code for miscellaneous environments.
% ltoutenc.dtx -- Code for output encoding commands.
diff --git a/macros/latex/base/manual.pdf b/macros/latex/base/manual.pdf
index 1de8969b16..431b6c3c45 100644
--- a/macros/latex/base/manual.pdf
+++ b/macros/latex/base/manual.pdf
Binary files differ
diff --git a/macros/latex/base/modguide.pdf b/macros/latex/base/modguide.pdf
index 048da21603..046822176f 100644
--- a/macros/latex/base/modguide.pdf
+++ b/macros/latex/base/modguide.pdf
Binary files differ
diff --git a/macros/latex/base/nfssfont.pdf b/macros/latex/base/nfssfont.pdf
index 303128883a..7de676f4ce 100644
--- a/macros/latex/base/nfssfont.pdf
+++ b/macros/latex/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex/base/proc.pdf b/macros/latex/base/proc.pdf
index 4eae184b71..e7d82693a1 100644
--- a/macros/latex/base/proc.pdf
+++ b/macros/latex/base/proc.pdf
Binary files differ
diff --git a/macros/latex/base/slides.pdf b/macros/latex/base/slides.pdf
index 69e08c34cb..7081d4f442 100644
--- a/macros/latex/base/slides.pdf
+++ b/macros/latex/base/slides.pdf
Binary files differ
diff --git a/macros/latex/base/slifonts.pdf b/macros/latex/base/slifonts.pdf
index 4f6bb23e59..dc704d9b86 100644
--- a/macros/latex/base/slifonts.pdf
+++ b/macros/latex/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex/base/source2e.pdf b/macros/latex/base/source2e.pdf
index d3fb51b8a9..3726b124d1 100644
--- a/macros/latex/base/source2e.pdf
+++ b/macros/latex/base/source2e.pdf
Binary files differ
diff --git a/macros/latex/base/syntonly.pdf b/macros/latex/base/syntonly.pdf
index 21af8af2d8..486c6597fd 100644
--- a/macros/latex/base/syntonly.pdf
+++ b/macros/latex/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex/base/tlc2.pdf b/macros/latex/base/tlc2.pdf
index 9b632fc3ba..ba77288259 100644
--- a/macros/latex/base/tlc2.pdf
+++ b/macros/latex/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex/base/tulm.pdf b/macros/latex/base/tulm.pdf
index b9e88f0cdd..93c492ea0c 100644
--- a/macros/latex/base/tulm.pdf
+++ b/macros/latex/base/tulm.pdf
Binary files differ
diff --git a/macros/latex/base/usrguide.pdf b/macros/latex/base/usrguide.pdf
index 423ad9fb05..ce13d76976 100644
--- a/macros/latex/base/usrguide.pdf
+++ b/macros/latex/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex/base/utf8ienc.pdf b/macros/latex/base/utf8ienc.pdf
index 8d92fe05ee..ee4c898fbb 100644
--- a/macros/latex/base/utf8ienc.pdf
+++ b/macros/latex/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex/base/webcomp.pdf b/macros/latex/base/webcomp.pdf
index fafa0b8b00..754b111b1d 100644
--- a/macros/latex/base/webcomp.pdf
+++ b/macros/latex/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
index 26bb961678..d55eccfeee 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
index 850f59aec5..2ff7f14307 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
@@ -125,7 +125,7 @@
%
\title{Documentation sur le module \ext{babel-french}}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\latestversion}{3.5k}
+\newcommand*{\latestversion}{3.5l}
\date{Version {\latestversion} -- \today}
\begin{document}
@@ -1080,8 +1080,9 @@ La liste étant longue, les options sont regroupées par thèmes.
\item [SmallCapsFigTabcaptions=false (true*)]; si cette option est mise
à \fbo{false}, le recours aux petites capitales dans les intitulés des
légendes de figures et tables est supprimé, on obtient « Figure » et
- « Table » au lieu de « \textsc{Figure} » et « \textsc{Table} ».%
- \hlabel{scfigtab}
+ « Table » au lieu de « \textsc{Figure} » et « \textsc{Table} ».
+ Noter que le même résultat peut être obtenu en définissant |\FBfigtabshape|
+ comme |\relax| avant le chargement de \ext{babel}.%\hlabel{scfigtab}
\item [CustomiseFigTabcaptions=false (true*)] ; si cette option est mise
à \fbo{false}, le séparateur défini par |\CaptionSeparator| est remplacé par
@@ -1479,7 +1480,7 @@ préambule :\hlabel{enumitem-cfg}
|\settowidth{\mylabelwidth}{\mylabel}|\\
|\setlist[itemize]{label=\mylabel, nosep}|\\ % nosep ou noitemsep
|\setlist[1]{labelindent=\parindent}|\\
-|\setlist{labelwidth=\mylabelwidth, leftmargin=!|\\
+|\setlist{labelwidth=\mylabelwidth, leftmargin=!,|\\
| itemsep=0.4ex plus 0.2ex minus 0.2ex,|\\ % enumitem ne redéfinit pas
| parsep=0.4ex plus 0.2ex minus 0.2ex,|\\ % \list, on peut s’en passer
| topsep=0.8ex plus 0.4ex minus 0.4ex,|\\ % sauf option StandardLists,
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.dtx b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
index c30847224f..161833dd13 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.dtx
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
@@ -1,4 +1,4 @@
-%\CheckSum{3748}
+%\CheckSum{3759}
%
%\iffalse
% Tell the LaTeX system who we are and write an entry on the
@@ -13,7 +13,7 @@
%<frenchb>\ProvidesLanguage{frenchb}
%<lua>--[[
%<lua> File `frenchb.lua’ generated from frenchb.dtx
- [2020/09/09 v3.5k French support from the babel system]
+ [2020/10/10 v3.5l French support from the babel system]
%<*internal>
\iffalse
%</internal>
@@ -646,7 +646,9 @@
% \item [SmallCapsFigTabCaptions=false (true*)]; when set to
% \fbo{false}, |\figurename| and |\tablename| will be printed in
% French captions as ``Figure’’ and ``Table’’ instead of being
-% printed in small caps (the default).
+% printed in small caps (the default). The same result can be
+% achieved by defining |\FBfigtabshape| as |\relax| before
+% loading \frenchb{} (in a document class f.i.).
%
% \item [CustomiseFigTabCaptions=false (true*)]; when \fbo{false}
% the default separator (colon) is used instead of
@@ -3778,6 +3780,9 @@ return french_punctuation
% \changes{v3.5k}{2020/09/09}{Small caps removed in \cs{figurename} and
% \cs{tablename}, use \cs{fnum@figure} and \cs{fnum@table} instead.}
%
+% \changes{v3.5l}{2020/10/08}{Redefine \cs{fnum@figure} and
+% \cs{fnum@table} separately.}
+%
% |\figurename| and |\tablename| are printed in small caps in French,
% unless either \fbo{SmallCapsFigTabCaptions} is set to \fbo{false}
% or a class or package loaded before \frenchb{} defines
@@ -3863,9 +3868,11 @@ return french_punctuation
\else
\ifdefined\fnum@figure
\let\fnum@figureORI\fnum@figure
- \let\fnum@tableORI\fnum@table
\renewcommand{\fnum@figure}{{\ifFBfrench\FBfigtabshape\fi
\fnum@figureORI}}%
+ \fi
+ \ifdefined\fnum@table
+ \let\fnum@tableORI\fnum@table
\renewcommand{\fnum@table}{{\ifFBfrench\FBfigtabshape\fi
\fnum@tableORI}}%
\fi
@@ -3946,7 +3953,7 @@ return french_punctuation
\egroup
% \end{macrocode}
%
-% No warning is issued for SMF, AMS and ACM classes as their layout
+% No warning is issued for SMF and AMS classes as their layout
% of captions is compatible with French typographic standards.
%
% With \cls{memoir} and koma-script classes, \frenchb{} customises
@@ -3982,9 +3989,8 @@ return french_punctuation
% \changes{v3.0a}{2014/02/20}{No warning about \cs{@makecaption} for
% SMF classes.}
%
-% Disable the standard warning with ACM, AMS and SMF classes.
+% Disable the standard warning with AMS and SMF classes.
% \begin{macrocode}
-\@ifclassloaded{acmart}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsart}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsbook}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsdtx}{\@FBwarning@capsepfalse}{}
@@ -3994,6 +4000,18 @@ return french_punctuation
\@ifclassloaded{smfbook}{\@FBwarning@capsepfalse}{}
% \end{macrocode}
%
+% \changes{v3.5l}{2020/10/01}{No warning about \cs{@makecaption} for
+% more classes.}
+%
+% Disable the standard warning for some classes that do not use
+% `:’ as caption separator.
+% \begin{macrocode}
+\@ifclassloaded{IEEEconf}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{IEEEtran}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{revtex4-2}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{svjour3}{\@FBwarning@capsepfalse}{}
+% \end{macrocode}
+%
% \changes{v2.6c}{2013/05/18}{No warning about \cs{@makecaption} for
% koma-script classes. \cs{captionformat} customised in French.}
%
@@ -4063,9 +4081,11 @@ return french_punctuation
\@FBwarning@capsepfalse
\fi
% \end{macrocode}
-% No Warning if \file{caption.sty} has been loaded.
+% No Warning if \file{caption.sty} or \file{caption-light.sty}
+% has been loaded.
% \begin{macrocode}
- \@ifpackageloaded{caption}{\@FBwarning@capsepfalse}{}%
+ \@ifpackageloaded{caption}{\@FBwarning@capsepfalse}{}%
+ \@ifpackageloaded{caption-light}{\@FBwarning@capsepfalse}{}%
% \end{macrocode}
% Final warning if relevant:
% \begin{macrocode}
@@ -4074,8 +4094,8 @@ return french_punctuation
{Figures' and tables' captions might look like\MessageBreak
`Figure 1:' in French instead of `Figure 1 :'.\MessageBreak
If this happens, to fix this issue\MessageBreak
- just add \protect\usepackage{caption} or\MessageBreak
switch to LuaLaTeX or XeLaTeX or\MessageBreak
+ try to add \protect\usepackage{caption} or\MessageBreak
... leave it as it is; reported}%
\fi
\let\FB@makecaption\relax
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.pdf b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
index f8d5e00fbe..56a5c87b0d 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsclasses/README.md b/macros/latex/contrib/jsclasses/README.md
index f860393a45..3d2e2b2b22 100644
--- a/macros/latex/contrib/jsclasses/README.md
+++ b/macros/latex/contrib/jsclasses/README.md
@@ -37,7 +37,7 @@ distributed separately.
## Release Date
-2020-10-05
+2020-10-09
Haruhiko Okumura,
Japanese TeX Development Community
diff --git a/macros/latex/contrib/jsclasses/jsclasses.dtx b/macros/latex/contrib/jsclasses/jsclasses.dtx
index 941b08c4f3..08d6bd4486 100644
--- a/macros/latex/contrib/jsclasses/jsclasses.dtx
+++ b/macros/latex/contrib/jsclasses/jsclasses.dtx
@@ -32,7 +32,7 @@
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2020/10/05 jsclasses (okumura, texjporg)]
+ [2020/10/09 jsclasses (okumura, texjporg)]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
@@ -163,8 +163,12 @@
% をあてる場合があります。この処理に使用するフラグを定義します。
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
+%</class|minijs>
+%<*class>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/jsclasses/jsclasses.pdf b/macros/latex/contrib/jsclasses/jsclasses.pdf
index 6288f723c2..b1783be1fb 100644
--- a/macros/latex/contrib/jsclasses/jsclasses.pdf
+++ b/macros/latex/contrib/jsclasses/jsclasses.pdf
Binary files differ
diff --git a/macros/latex/contrib/kvoptions/README.md b/macros/latex/contrib/kvoptions/README.md
index b307ffc87f..ecaccfa494 100644
--- a/macros/latex/contrib/kvoptions/README.md
+++ b/macros/latex/contrib/kvoptions/README.md
@@ -1,7 +1,13 @@
-# kvoptions
+# kvoptions package for LaTeX
-kvoptions package for LaTeX
+Version: 2020-10-07 v3.14
This package is intended for package authors who want to
use options in key value format for their package options.
+## Copyright (C)
+* 2007, 2009-2011 Heiko Oberdiek
+* 2016-2020 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/kvoptions/kvoptions.dtx b/macros/latex/contrib/kvoptions/kvoptions.dtx
index 8dd9701d47..38dfa18586 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.dtx
+++ b/macros/latex/contrib/kvoptions/kvoptions.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: kvoptions.dtx
-% Version: 2019/11/29 v3.13
+% Version: 2020-10-07 v3.14
% Info: Key value format for package options
%
% Copyright (C)
% 2004, 2006, 2007, 2009-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
+% 2016-2020 Oberdiek Package Support Group
% https://github.com/ho-tex/kvoptions/issues
%
% This work may be distributed and/or modified under the
@@ -85,7 +85,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)}
+\Msg{* Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -97,11 +97,11 @@
This is a generated file.
Project: kvoptions
-Version: 2019/11/29 v3.13
+Version: 2020-10-07 v3.14
Copyright (C)
2004, 2006, 2007, 2009-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2020 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -145,10 +145,6 @@ and the derived files
% \file{kvoptions-test3.tex}{\from{kvoptions.dtx}{test3}}%
% \file{kvoptions-test4.tex}{\from{kvoptions.dtx}{test4}}%
% \file{kvoptions-test4.sty}{\from{kvoptions.dtx}{test4pkg}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/kvoptions/catalogue}%
-% \file{kvoptions.xml}{\from{kvoptions.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -175,7 +171,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{kvoptions.drv}%
- [2019/11/29 v3.13 Key value format for package options (HO)]%
+ [2020-10-07 v3.14 Key value format for package options (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -185,26 +181,11 @@ and the derived files
% \fi
%
%
-% \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
-% Lower-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
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvoptions.drv}
%
% \title{The \xpackage{kvoptions} package}
-% \date{2019/11/29 v3.13}
+% \date{2020-10-07 v3.14}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/kvoptions/issues}}}
%
@@ -883,6 +864,11 @@ and the derived files
%
% \subsection{Package \xpackage{kvoptions-patch}}
%
+% \begin{description}
+% \item[Change in version v3.14:] \xpackage{kvoptions-patch} is not compatible with a
+% \LaTeX\ 2020-10-01 or newer and will abort loading if it detects it!
+% \end{description}
+%
% \LaTeX's system of package/class options has some severe limitations
% that especially affects the value part if options are used as
% pair of key and value.
@@ -1075,7 +1061,19 @@ and the derived files
% }
%
% \section{Implementation}
-%
+% \subsection{Disabling the patches for newer LaTeX}
+% \xpackage{kvoptions-patch} is not compatible with \LaTeX{} 2020-10-01 and newer
+% so it is disabled and issues a warning.
+% \begin{macrocode}
+%<*patch>
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{\PackageWarning{kvoptions-patch}%
+ {kvoptions-patch is not compatible with \MessageBreak
+ LaTeX \fmtversion\MessageBreak Loading is aborted}{}}{}
+\IfFormatAtLeastTF{2020/10/01}{\endinput}{}
+%</patch>
+% \end{macrocode}
+
% \subsection{Preamble}
%
% \begin{macrocode}
@@ -1154,7 +1152,7 @@ and the derived files
\fi
\expandafter\x\csname ver@kvoptions.sty\endcsname
\ProvidesPackage{kvoptions}%
- [2019/11/29 v3.13 Key value format for package options (HO)]%
+ [2020-10-07 v3.14 Key value format for package options (HO)]%
% \end{macrocode}
%
% \paragraph{Catcodes}
@@ -2288,7 +2286,7 @@ and the derived files
\TMP@EnsureCode{124}{12}% |
\edef\KVO@AtEnd{\KVO@AtEnd\noexpand\endinput}
\ProvidesPackage{kvoptions-patch}%
- [2019/11/29 v3.13 LaTeX patch for keyval options (HO)]%
+ [2020-10-07 v3.14 LaTeX patch for keyval options (HO)]%
% \end{macrocode}
%
% Check for \eTeX.
@@ -2789,253 +2787,6 @@ and the derived files
\KVO@AtEnd%
%</patch>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Preface for standard catcode check}
-%
-% \begin{macrocode}
-%<*test1>
-\input miniltx.tex\relax
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvoptions.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-\catcode`\@=11 %
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test#1{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- #1\relax
- \RestoreCatcodes
-}
-\Test{\RequirePackage{kvoptions-patch}}%
-\Test{\RequirePackage{kvoptions}}%
-\csname @@end\endcsname
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-\RequirePackage{kvoptions}[2019/11/29]
-\def\msg#{\immediate\write16}
-\define@key{testfamily}{testkey}{%
- \msg{[testfamily/testkey/#1]}%
-}
-\define@key{testfamily}{testdefaultkey}[testdefault]{%
- \msg{[testfamily/testdefaultkey/#1]}%
-}
-\AddToKeyvalOption{testfamily}{testkey}{%
- \msg{[addition/#1]}%
-}
-\AddToKeyvalOption{testfamily}{testdefaultkey}{%
- \msg{[addition/#1]}%
-}
-\setkeys{testfamily}{%
- testkey=testA,%
- testdefaultkey=testB,%
- testdefaultkey,%
-}
-\SetupKeyvalOptions{%
- family=testfamily%
-}
-\AddToKeyvalOption*{testkey}{%
- \msg{[star addition/#1]}%
-}
-\AddToKeyvalOption*{testdefaultkey}{%
- \msg{[star addition/#1]}%
-}
-\setkeys{testfamily}{%
- testkey=testA,%
- testdefaultkey=testB,%
- testdefaultkey,%
-}
-\@@end
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4pkg>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{kvoptions-test4}[2019/11/29 package for testing]
-\RequirePackage{kvoptions}[2019/11/29]
-\SetupKeyvalOptions{%
- family=FOO,%
- prefix=foo,%
- setkeys=\kvsetkeys,%
-}
-\DeclareStringOption{str}
-\define@key{FOO}{set}{%
- \setkeys{BAR}{strbar={#1}}%
-}
-\define@key{BAR}{strbar}{%
- \def\foostr{[BAR:#1]}%
-}
-\ProcessKeyvalOptions*
-%</test4pkg>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{kvoptions-test4.tex}[2019/11/29 test file]
-\RequirePackage[%
- str=A,set=B,str=C,%
-]{kvoptions-test4}[2019/11/29]
-\def\TestExpected{C}
-\ifx\foostr\TestExpected
- \typeout{* Test ok.}%
-\else
- \typeout{* Result: [\foostr]}%
- \typeout{* Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
-\fi
-\csname @@end\endcsname\end
-%</test4>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -3368,6 +3119,11 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2020-10-07 v3.14}
+% \item \xpackage{kvoptions-patch} is not compatible with a
+% \LaTeX\ 2020-10-01 or newer and so it will abort loading if it detects it.
+% This fixes github issue \#5.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/kvoptions/kvoptions.pdf b/macros/latex/contrib/kvoptions/kvoptions.pdf
index d3c53e3096..fd9e72e93a 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.pdf
+++ b/macros/latex/contrib/kvoptions/kvoptions.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/CHANGES b/macros/latex/contrib/tcolorbox/CHANGES
index f78792d54a..0b75eb6406 100644
--- a/macros/latex/contrib/tcolorbox/CHANGES
+++ b/macros/latex/contrib/tcolorbox/CHANGES
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -1184,3 +1184,11 @@ version 4.40 (2020/09/25)
version 4.41 (2020/09/29)
- bug fix (#120): color bleeding for xelatex and breakable boxes (since 4.32)
+
+version 4.42 (2020/10/09)
+- due to several problems with the color algorithm introduced with version 4.32,
+ essentially reversion to the proven pre 4.32 method.
+ * support of luacolor persists (since 4.32)
+ * color stacks (by pdfcol) are not mandatory any more,
+ but are optional now with 'use color stack'. Note that effects of whatsits
+ on the vertical space have to be expected.
diff --git a/macros/latex/contrib/tcolorbox/README b/macros/latex/contrib/tcolorbox/README
index 219c0ae662..55edf61ca4 100644
--- a/macros/latex/contrib/tcolorbox/README
+++ b/macros/latex/contrib/tcolorbox/README
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
index 44669727e6..d77ecad60b 100644
--- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,13 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
+\newif\iftcb@usecolorstack
+
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\let\tcb@parboxrestore@false\tcb@parbox@false@settings
@@ -66,6 +68,7 @@
\def\tcb@@break{\par\xleaders\vbox{\rule{0pt}{2\textheight}}\vskip 2\textheight\par}
+
\def\tcb@vbox#1#2{%
\edef\reserved@a{%
\endgroup%
@@ -76,7 +79,10 @@
\reserved@a%
\@endpefalse%
\let\tcbbreak\tcb@@break%
- \pdfcolSwitchStack{tcb@breakable}%
+ \iftcb@usecolorstack%
+ \pdfcolSwitchStack{tcb@breakable}%
+ \pdfcolSetCurrentColor%
+ \fi%
\color@begingroup%
\textwidth\hsize%
\columnwidth\hsize%
@@ -274,7 +280,7 @@
\tcb@multicolfalse%
\fi}%
\ifx\kvtcb@float\@empty\relax%
- \iftcb@nobreak
+ \iftcb@nobreak%
\let\tcb@nobreak@warning\tcb@do@nobreak@warning%
\iftcb@ignorenobreak%
\kvtcb@beforebox%
@@ -308,14 +314,7 @@
\def\tcb@height@fill@unbroken@normal{\tcb@height@fill@unbroken{none}}
\def\tcb@height@fill@unbroken@compressed{\tcb@height@fill@unbroken{all}}
-\pdfcolIfStackExists{tcb@breakable}{%
- \def\tcb@use@after@lastbox{\bgroup\tcb@after@lastbox\egroup}
-}{%
- \def\tcb@use@after@lastbox{%
- \everypar=\expandafter{\the\everypar\everypar{}\color{.}}%
- \bgroup\tcb@after@lastbox\egroup%
- }%
-}
+\def\tcb@use@after@lastbox{\bgroup\tcb@after@lastbox\egroup}
\def\tcb@drawcolorbox@breakable{%
\tcbdimto\kvtcb@topsep{\kvtcb@topsep}%
@@ -330,6 +329,7 @@
\tcb@parfillskip@check%
\tcb@split@start%
\endgroup%
+ \color{.}% hack for some special cases
\ifx\kvtcb@float\@empty\relax%
\aftergroup\tcb@use@after@lastbox%
\fi%
@@ -916,13 +916,13 @@
\let\tcb@savebox=\tcb@vbox%
\let\endtcb@savebox=\endtcb@vbox%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@breakable%
- \pdfcolIfStackExists{tcb@breakable}{%
- \appto\tcb@upperdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
- \appto\tcb@lowerdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
- }{%
- \appto\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
- \appto\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
- }%
+ \iftcb@usecolorstack%
+ \def\tcb@upperdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
+ \def\tcb@lowerdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
+ \else%
+ \def\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
+ \def\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
+ \fi%
}
\tcbset{%
@@ -1027,12 +1027,19 @@
segmentation at break/true/.code={\let\tcb@split@SL\tcb@split@SL@displayed},
segmentation at break/false/.code={\let\tcb@split@SL\tcb@split@L},
segmentation at break/.default=true,
+ use color stack/.is choice,%
+ use color stack/true/.code={%
+ \pdfcolIfStackExists{tcb@breakable}{\tcb@usecolorstacktrue}{\tcb@usecolorstackfalse}%
+ },%
+ use color stack/false/.code={\tcb@usecolorstackfalse},%
+ use color stack/.default=true,%
}
\tcbset{%
reset@breakable/.style={%
unbreakable,notitle after break,
+ use color stack=false,
shrink break goal=0pt,
lines before break=2,
topsep at break=0pt,
diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
index 0b9e7058b9..569308b3b5 100644
--- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{listings,skins,xparse,external,raster}
diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
index 26664a4ab5..776a5694ec 100644
--- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
index 62b718efe6..31e0b37980 100644
--- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
index 4e82c8ecd1..9e3be34df0 100644
--- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
index 84acc3bc18..f44cbe9a4e 100644
--- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{listings}[2007/02/22]
diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
index 42f48c655b..b070c4e727 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
index b656e6722f..b4fb28f987 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{listings}
diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
index e85f6143da..0e29cfe97d 100644
--- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
index de83f6f154..20b548f0ae 100644
--- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{minted}[2011/09/17]
diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
index ab7704e1ae..591806e8e5 100644
--- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
index 535d393e2c..14e7c8d430 100644
--- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{pdftexcmds}
\RequirePackage{shellesc}
diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
index fe8da9dceb..2cdfbfcd7b 100644
--- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
index 14c70a87c6..0df4c6b0c6 100644
--- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{tikz}[2010/10/13]
diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
index 03a9bf1eda..ca0940971a 100644
--- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
index 897f1a9737..334f51dea9 100644
--- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{amsmath}
diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
index 1d76bf65dd..cd02d69ff3 100644
--- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
index 83713823f4..8fbf7fb8a1 100644
--- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{xparse}[2013/12/31]
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
index 05ef9686bd..8df5f0fb63 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
index 219b331661..7561a6fa3d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
index 3506915b03..8d7e1b9e17 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
index 3849a1c223..0d1cb965bd 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
index 71cfb4f99b..71727a970e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
index b54b5585b2..de4c7d17b9 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
index b8d678d8d2..9720be99f0 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
@@ -110,13 +110,9 @@ parameters. The differences are:
box\footnote{\refKey{/tcb/enforce breakable} acts like \refKey{/tcb/breakable} until |tcolorbox| 3.04.}.
\textbf{But, a breakable box inside a breakable box will usually give a mess.}
\item\tcbdocmarginnote{\tcbdocnew{2020-09-17}}
- Depending on the \LaTeX\ compiler, if your text content contains some text
+ Depending on the \LaTeX\ engine, if your text content contains some text
color changing commands, your color may not survive the break to the next box.
- Since |tcolorbox|~4.32, |pdflatex| and |lualatex| should not have that
- problem. For |xelatex|, with the |fontspec| package,
- you can use
- |\addfontfeatures{Color=mycolor}|
- to add a font color which survives the break.
+ See the documentation for \refKey{/tcb/use color stack} for more information.
\item\tcbdocmarginnote{\tcbdocnew{2014-10-30}}
The |perpage| option of the |footmisc| package is deliberately deactivated
inside a breakable box since all footnotes are placed at the end
@@ -222,7 +218,7 @@ parameters. The differences are:
\item Setting a \meta{length} to a negative value means that
the sum of this negative value and the naturally available space is used
for breaking (boxes will shrink in height).
- That that before version 4.10 negative values were treated like |0pt|.
+ Note that before version 4.10 negative values were treated like |0pt|.
\end{itemize}
\begin{dispExample}
% \usepackage{multicol,lipsum}
@@ -313,6 +309,72 @@ The |break at| option can be used to insert better break points by hand.
\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2020-10-09]{use color stack}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
+ Depending on the \LaTeX\ engine and loaded packages, if your text contains some
+ color changing commands, your color may not survive the break to the next box.
+ For some engines, there is support for additional color stacks which
+ allow colors to survive breaks. Such an color stack can be activated
+ by \refKey{/tcb/use color stack} with help of the |pdfcol| package.
+ This can be done globally or per box.
+ \begin{marker}
+ Note that activating \refKey{/tcb/use color stack} inserts a color command with a \emph{whatsit}
+ at the begin of the upper part and of the lower part of a \refEnv{tcolorbox}.
+ This \emph{may} add additional vertical space, e.g. if your box text starts
+ with a list like \emph{enumerate}!
+ \end{marker}
+ \begin{itemize}
+ \item pdf\TeX: color stacks supported.
+ \item Lua\TeX: color stacks supported, but you should consider loading the
+ |luacolor| package \emph{instead} which avoids the spacing problem.
+ \item Xe\TeX: color stacks not supported (yet?). From hearsay,
+ with the |fontspec| package, you may use |\addfontfeatures{Color=mycolor}|
+ to add a font color which survives the break.
+ \end{itemize}
+ If |pdfcol| cannot initialize an additional color stack for the used engine,
+ \refKey{/tcb/use color stack} is silently ignored.
+
+\clearpage
+\begin{dispExample}
+% \usepackage{multicol,lipsum}
+\begin{multicols}{2}\footnotesize
+Breakable box without color stack.
+\begin{tcolorbox}[enhanced jigsaw,
+ size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
+ enforce breakable,% use only breakable in the real world!
+ vfill before first, pad at break=1mm, break at=3.3cm ]
+ \begin{itemize}\item Some blue text.\end{itemize}
+ {\color{red}\itshape\lipsum[2]}\par
+ More blue text.
+\end{tcolorbox}
+Text after box.
+\end{multicols}
+\end{dispExample}
+
+We do again with \refKey{/tcb/use color stack}. Observe the additional spacing
+at the begin of the box:
+
+\begin{dispExample}
+% \usepackage{multicol,lipsum}
+\begin{multicols}{2}\footnotesize
+Breakable box with color stack.
+\begin{tcolorbox}[enhanced jigsaw, use color stack,
+ size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
+ enforce breakable,% use only breakable in the real world!
+ vfill before first, pad at break=1mm, break at=3.3cm ]
+ \begin{itemize}\item Some blue text.\end{itemize}
+ {\color{red}\itshape\lipsum[2]}\par
+ More blue text.
+\end{tcolorbox}
+Text after box.
+\end{multicols}
+\end{dispExample}
+
+\end{docTcbKey}
+
+
+
+
\clearpage
\subsection{Option Keys for the Break Appearance}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
index 312bc849e1..f4d99c53ae 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty
index 58d6d15e23..a5f9d23397 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2020/09/29 version 4.41 text color boxes]
-\def\tcb@version{4.41}
+\ProvidesPackage{tcolorbox}[2020/10/09 version 4.42 text color boxes]
+\def\tcb@version{4.42}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -711,7 +711,10 @@
\let\tcb@savebox=\tcb@lrbox%
\let\endtcb@savebox=\endtcb@lrbox%
\let\tcb@defToTotalHeight=\tcb@defToTotalHeightStandard%
- \let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone},
+ \let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone%
+ \def\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
+ \def\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
+ },
code/.code={#1},
capture/.store in=\kvtcb@capture,%
hbox/.style={capture=hbox},%
@@ -868,10 +871,10 @@
\let\endtcb@savebox=\endtcb@lrbox
\def\tcb@saveupperbox{%
-\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
+\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
\def\tcb@savelowerbox{%
-\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}\color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
+\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}\tcb@lua@color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
% counter for float
@@ -887,6 +890,11 @@
\tcbset{autoparskip/.style=noparskip}%
\fi%
\tcb@use@autoparskip%
+\ifx\luacolorProcessBox\@undefined%
+ \def\tcb@lua@color#1{}%
+\else%
+ \def\tcb@lua@color#1{\color{#1}}%
+\fi%
}
\long\def\tcb@colorbox{%
@@ -964,12 +972,24 @@
\fi%
}
+\def\tcb@set@color#1{%
+ \edef\current@color{\@nameuse{\string\color@#1}}%
+ \colorlet{.}{#1}%
+}
+
+\def\tcb@reset@color{%
+ \colorlet{.}{tcbcol@origin}%
+ \edef\current@color{\@nameuse{\string\color@tcbcol@origin}}%
+}
+
\def\tcb@set@@upper@and@lower{%
+ \colorlet{tcbcol@origin}{.}%
\let\tcb@insert@after@part=\tcb@insert@after@upper%
% switch for lower box
\def\tcblower{%
\tcb@insert@after@part%
\end{tcb@savebox}%
+ \tcb@set@color{tcbcollower}%
\unless\iftcb@sidebyside%
\tcbdimto\tcb@w@lower{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftlower-\kvtcb@rightlower}%
\fi%
@@ -984,6 +1004,7 @@
\fi%
\tcb@startbox}%
% start of upper box
+ \tcb@set@color{tcbcolupper}%
\ifx\kvtcb@saveupperto\@empty%
\let\tcb@startbox\tcb@saveupperbox%
\let\endtcolorbox\tcb@endboxanddraw%
@@ -1167,6 +1188,7 @@
\def\tcb@endboxanddraw{%
\tcb@insert@after@part%
\end{tcb@savebox}%
+ \tcb@reset@color%
\tcb@draw@color@box%
\tcb@finalize@environment%
}
@@ -1602,7 +1624,7 @@
\pgfsetfillopacity{\kvtcb@opacitytitle}%
\pgftext[x=\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@lefttitle\relax,
y=\the\dimexpr\tcb@height-\kvtcb@top@rule-\kvtcb@boxsep-\kvtcb@toptitle\relax,
- left,top]{\box\tcb@titlebox}%
+ left,top]{\color@begingroup\color{tcbcoltitle}\box\tcb@titlebox\color@endgroup}%
\end{pgfscope}%
\fi\fi%
}
@@ -1661,7 +1683,7 @@
\fi%
\iftcb@hasLower%
\tcb@box@align{\tcb@lowerbox}%
- \iftcb@lowervisible\leavevmode\unhbox\tcb@lowerbox%
+ \iftcb@lowervisible\leavevmode\color{tcbcollower}\unhbox\tcb@lowerbox%
\else%
\iftcb@lowerignored\else\rule[-\dp\tcb@lowerbox]{\z@}{\the\dimexpr\ht\tcb@lowerbox+\dp\tcb@lowerbox\relax}\fi%
\fi%
@@ -1803,10 +1825,13 @@
\long\def\tcbox@inner@hbox#1{%
\tcbset{breakable@false,sidebyside=false}%
\tcb@set@@phantom%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcolupper}%
\sbox\tcb@upperbox{\tcb@embed@tcbox{%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\@parboxrestore%
- \color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
+ \tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
+ \tcb@reset@color%
\tcbdimto\tcb@val@raisebase{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}%
\tcbdimto\kvtcb@width{\wd\tcb@upperbox+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule}%
\tcb@hasLowerfalse%
@@ -1821,7 +1846,10 @@
\tcb@set@@phantom%
\tcb@set@@title%
\tcb@set@@dimensions%
- \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcolupper}%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
+ \tcb@reset@color%
\tcb@hasLowerfalse%
\tcb@draw@color@box%
}
@@ -2199,7 +2227,8 @@
\tcbset{%
initialize@reset/.code={\tcbset{#1}\appto\tcb@reset{\tcbset{#1}}},%
reset/.code={\tcb@reset},%
- reset@core/.style={code={%
+ reset@core/.style={%
+ code={%
\let\tcbtitletext\@empty%
\tcb@attach@title@code@%
\let\tcb@lateoptions@hook\@empty%
@@ -2208,6 +2237,7 @@
\let\tcb@lowerdraw@begin@hook\@empty%
\let\tcb@lowerdraw@end@hook\@empty%
},
+ breakable@false,
width=\linewidth,beforeafter skip balanced=0.5\baselineskip plus 2pt,arc is curved,
natural height,height plus=0pt,space to lower,valign=top,valign lower=top,
size=normal,rounded corners,parfillskip restore,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex
index 95be857149..39dcde9f3b 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -43,8 +43,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{4.41}%
-\def\datum{2020/09/29}%
+\def\version{4.42}%
+\def\datum{2020/10/09}%
\makeindex
\hypersetup{
@@ -62,7 +62,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.intro,tcolorbox.doc.quickref,tcolorbox.doc.coremacros}
+%\includeonly{tcolorbox.doc.breakable}
%\hypersetup{colorlinks=false}
diff --git a/macros/latex/contrib/xmuthesis/LICENSE b/macros/latex/contrib/xmuthesis/LICENSE
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/latex/contrib/xmuthesis/README.md b/macros/latex/contrib/xmuthesis/README.md
new file mode 100644
index 0000000000..444fbc35dd
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/README.md
@@ -0,0 +1,45 @@
+![](https://img.shields.io/badge/Language-TeX-red.svg) ![](https://img.shields.io/github/stars/CamuseCao/XMU-thesis.svg?style=social) ![](https://img.shields.io/github/release/CamuseCao/XMU-thesis.svg?label=version) ![](https://img.shields.io/github/last-commit/CamuseCao/XMU-thesis.svg?style=social&logo=Tinder) ![](https://img.shields.io/github/repo-size/CamuseCao/XMU-thesis.svg) ![](https://img.shields.io/github/languages/code-size/CamuseCao/XMU-thesis.svg) ![](https://img.shields.io/github/followers/CamuseCao.svg?label=Followers) ![](https://img.shields.io/github/downloads/CamuseCao/XMU-thesis/v0.4/total.svg?style=plastic)
+
+---
+
+[TOC]
+
+# xmuthesis 厦门大学毕业论文模板
+
+xmuthesis 是为厦门大学毕业论文设计的模板,由 [CamuseCao](https://camusecao.top) 开发和维护。
+
+Github 项目的地址是 : [XMU-thesis](https://github.com/CamuseCao/XMU-thesis)
+
+Overleaf 项目地址是: [XMU-thesis](https://www.overleaf.com/read/ptthxfctspxh)
+
+邮箱: [camusecao@gmail.com](mailto:camusecao@gmail.com)
+
+---
+
+## 几点申明
+
+本模板为个人开发,非学校官方模板,但是基本按照学校的要求定制的。如果在提交论文或查重遇到问题自行负责。学校每年的要求可能会改变,希望到时候学弟学妹们可以提供最新的要求文档给我。期待 2020 年会有人发给我。目前本项目还处于持续开发维护中。在使用该模板之前,请把原始编译出来的文档读一下,对于你的使用是很有帮助的。
+
+## 致谢
+
+感谢曾经为该模板提出建议和改进的所有人。
+
+## 协议
+
+本模板发布遵循 LaTeX 项目公共许可证 1.3 c 或更高版本。如果是衍生作品,请务必加入协议声明和模板信息(github、CTAN 地址)。
+
+---
+
+# xmuthesis A LaTeX template for XMU
+
+xmuthesis is designed for XMU thesis's writing, created and maintained by CamuseCao.
+
+Github: [XMU-thesis](https://github.com/CamuseCao/XMU-thesis)
+
+Overleaf: [XMU-thesis](https://www.overleaf.com/read/ptthxfctspxh)
+
+Email: [camusecao@gmail.com](mailto:camusecao@gmail.com)
+
+## License
+
+This work is released under the LaTeX Project Public License, v1.3c or later. \ No newline at end of file
diff --git a/macros/latex/contrib/xmuthesis/xmuthesis.dtx b/macros/latex/contrib/xmuthesis/xmuthesis.dtx
new file mode 100644
index 0000000000..b2363ad523
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/xmuthesis.dtx
@@ -0,0 +1,4722 @@
+% \iffalse meta-comment
+% !TEX root = xmuthesis.tex
+% !TEX program = xelatex
+%
+% !TeX encoding = UTF-8
+%
+%% File: xmuthesis.dtx
+%
+% Copyright (C) 2019-2020 CamuseCao
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in the file
+%
+% https://www.latex-project.org/lppl.txt
+%
+%
+%
+%
+%<*driver>
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%<*install>
+% \input l3docstrip.tex
+\input ctxdocstrip %
+\keepsilent
+\askforoverwritefalse
+\preamble
+<!--
+----------------------------------------------------------------
+xmuthesis --- A LaTeX template for XMU thesis writing
+E-mail: camusecao@gmail.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+-->
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+<!--
+Copyright (C) 2019 by CamuseCao <https://camusecao.top>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+CamuseCao.
+
+This work consists of the file xmuthesis.dtx
+and the derived files xmuthesis.cls,
+ xmuthesis.pdf and
+ xmulogo.sty.
+
+-->
+\endpostamble
+
+\generate{
+ \usedir{tex/latex/\jobname}
+ \file{\jobname.cls}{\from{\jobname.dtx}{class}}
+ \file{xmulogo.sty}{\from{\jobname.dtx}{logo}}
+}
+% \generate{\file{l3doc.ist}{\from{l3doc.dtx}{docist}}}
+\Msg{---------------------}
+\Msg{| End of extracting |}
+\Msg{---------------------}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</install>
+%</driver>
+%
+%<*driver|class>
+% !TEX root = ./xmu.tex
+\NeedsTeXFormat{LaTeX2e}
+
+\RequirePackage{ expl3, xparse, xtemplate, l3keys2e, scrlfile }
+
+\RequirePackage[l2tabu, orthodox]{nag}
+%</driver|class>
+%
+%<*driver>
+\ProvidesFile{\jobname.dtx}[2020/10/09 v0.4.1 XMU thesis]
+\documentclass{ctxdoc}% l3doc ctxdoc
+\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \IndexLayout
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+% \changes{v0.4}{2020/10/06}{引入 \LaTeX{3} 添加 overleaf 支持以及使用 lppl 许可证等}
+% \changes{v0.3}{2020/08/09}{较少宏包的依赖以及修复部分问题}
+% \changes{v0.2}{2019/07/02}{增加平台支持以及发布 xmulogo 宏包等}
+% \changes{v0.1.1}{2019/02/19}{添加 a3 封面以及编译脚本等}
+% \changes{v0.1}{2019/01/30}{第一版}
+% \CheckSum{0}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{\jobname.dtx}
+% \DoNotIndex{\xmulineto, \vspace, \par, \draw, \begin, \end, \\, } %
+%
+% \title{\bfseries 厦大论文模板使用说明}
+% \author{\href{https://camusecao.top}{酸奶}}
+% \date{\filedate\quad\fileversion}
+% \maketitle
+% \begin{abstract}
+% xmuthesis 是面向厦大毕业论文写作的 \LaTeX{} 模板,它能够节约你在排版上面所花的时间。但是它不是官方模板,是由我私人维护的,格式基本符合学校的要求。虽然在我之前已经有类似的模板,但是大多数缺乏维护,已经过时,因此有了该模板。现在模板已经支持本科、硕士和博士。
+% \end{abstract}
+% \tableofcontents
+% \begin{documentation}
+% \section{介绍}
+%
+% \subsection{历史}
+% 厦大论文模板是 2018 年开始开发的, 2019 年发布于 Github 上。起初还没有写成 cls 模板,在后来逐渐规范,还额外开发了 xmulogo 宏包,用于生成高质量的校徽和校名图片。在 2020 年又统一用 dtx 来实现。
+%
+% \subsection{发现模板的问题}
+%
+% 如果发现模板用不对的地方或者有建议欢迎在 Github 上反馈或者发邮件给我。
+%
+% 联系方式:
+% 邮箱: \href{mailto:camusecao@gmail.com}{camusecao@gmail.com}
+%
+% Github 项目的地址 : \href{https://github.com/CamuseCao/XMU-thesis}{XMU-thesis}
+% \section{使用示例}
+% \subsection{最小示例}
+% \begin{ctexexam}
+% \documentclass[degree=undergraduate,bibstyle=numerical,font=empty]{xmuthesis}
+% \xmusetup{
+% author = 酸奶 ,
+% title = 你的论文题目 ,
+% date = \today , % 二〇一九年二月二十八日
+% class = 2015级 ,
+% studentnumber = 1972015xxxxxx ,
+% department = 物理科学与技术学院 ,
+% major = 微电子科学与工程 ,
+% advisor = 校内指导老师 \quad 职称 ,
+% otheradvisor = 校外指导老师 \quad 职称 ,
+% team = 物理科学与技术学院~理论物理 ,
+% fundteam = 物理科学与技术学院~理论物理 ,
+% degree = 本\quad 科 ,
+% englishtitle = Your English Title ,
+% majorordouble = 主修 , % 辅修
+% lab = 实验室 ,
+% % 以下几项本科生无需填写,也不用删除
+% classified_code = 1234 , % 分类号
+% security_classification = 公开 , % 内部 秘密 机密 公开 等
+% UDC = 5 , % 国际十进分类法
+% submit_date = 2020 年 8 月 10 日 , % 论文提交日期
+% defense_date = 2020 年 8 月 11 日 , % 论文答辩日期
+% conferred_date = 2020 年 8 月 21 日 , % 学位授予日期
+% chairman = 张三 , % 答辩委员会主席
+% referee = 李四 , % 评阅人
+% }
+% \usepackage{xmulogo}
+% \begin{document}
+% \maketitle
+% \chapter*{致谢}
+% 这里致谢
+% \begin{abstract}*
+% 中文摘要
+% \keywords*{关键词1;关键词2;关键词3}
+% \end{abstract}
+% \begin{abstract}
+% English abstract.
+% \keywords{keyword1; keyword2; keyword3}
+% \end{abstract}
+% \xmutableofcontents % 双语目录
+% \chapter{正文}{main body}
+% 正文内容
+% % \nocite{*}
+% % \bibliography{Reference}
+% \appendix
+% 附录
+% \backmatter
+% 后记
+% \end{document}
+% \end{ctexexam}
+%
+% \subsection{编译}
+%
+% 本模板需要使用 \verb|xelatex| 编译才能得到正确的结果。
+%
+% 对于 \verb|latexmk| 用户,可以用
+% \begin{frameverb}
+% latexmk -xelatex main
+% \end{frameverb}
+% 一步到位编译好。
+%
+% 不用 \verb|latexmk| 的用户可以用
+% \begin{frameverb}
+% xelatex main
+% \end{frameverb}
+% 编译。
+%
+% 如果用了有参考文献需要编译,使用 \verb|latexmk| 编译的方法仍然可行。对于不用 \verb|latexmk| 的情况,则较为复杂,需要四步
+% \begin{frameverb}
+% xelatex main
+% bibtex main
+% xelatex main
+% xelatex main
+% \end{frameverb}
+%
+% \section{文档选项}
+%
+% \begin{function}[]{degree}
+% \begin{syntax}
+% degree = \Arg{学位}
+% \end{syntax}
+% 是 xmuthesis 声明学位的选项,根据学位的不同,文档风格略有不同,这是由于不同学位的毕业论文要求不同导致的。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[undergraduate] 这是该选项的默认值,本科生选用该选项
+% \item[master] 硕士生使用该选项
+% \item[doctor] 博士生使用该选项
+% \end{optdesc}
+% 以硕士生为例,他应该使用
+% \begin{frameverb}
+% \documentclass[degree=master]{xmuthesis}
+% \end{frameverb}
+%
+% \begin{function}[]{bibstyle}
+% \begin{syntax}
+% bibstyle = \Arg{参考文献样式}
+% \end{syntax}
+% 是控制参考文献样式的选项。模板默认加载 \verb|gbt7714| 宏包,需配合 \verb|bibtex| 编译得到最终结果。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[numerical] 这是该选项的默认值,顺序编码制下,参考文献根据引用的顺序排序。引用样式是角标式。
+% \item[numbers] 与 \verb|numerical| 一样是顺序编码制,但是引用使用正文模式,如“文献 [3] 中说明”
+% \item[authoryear] 使用著者-出版年制
+% \end{optdesc}
+% 以著者-出版年制为例,应该使用
+% \begin{frameverb}
+% \documentclass[bibstyle=authoryear]{xmuthesis}
+% \end{frameverb}
+%
+% 对于著者-出版年制,要获得正确的参考文献排序,需要用 \verb|key=| \Arg{拼音} 对 \verb|bib| 文件的中文作者注音,且用 \verb|&| 分隔作者。如
+% \begin{ctexexam}
+% @article{zhangsan,
+% title={高等数学教学改革研究进展},
+% author={张三 and 李四},
+% key={zhang1 san1 & li3 si4},
+% journal={大學數學},
+% volume={23},
+% number={4},
+% pages={20--26},
+% year={2007},
+% publisher={大學數學編輯部}
+% }
+% \end{ctexexam}
+%
+%
+% \begin{function}[]{font}
+% \begin{syntax}
+% bibstyle = \Arg{字体选项}
+% \end{syntax}
+% 是控制模板使用字体的命令。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[empty] 这是该选项的默认值,采用 \CTeX{} 宏集的自动判断功能,自动根据系统配置字体
+% \item[adobe] 采用 \CTeX{} 宏集配置的 adobe 字体,详情用 \verb|texdoc ctex| 查看
+% \item[fandol] 同上
+% \item[founder] 同上
+% \item[mac] 同上
+% \item[macnew] 同上
+% \item[macold] 同上
+% \item[ubuntu] 同上
+% \item[windows] 同上
+% \item[overleaf] 当模板在 overleaf 平台运行时,请使用该选项。这将调用 noto 中文字体
+% \end{optdesc}
+% 以 fandol 为例,应该使用
+% \begin{frameverb}
+% \documentclass[font=fandol]{xmuthesis}
+% \end{frameverb}
+%
+% 由于学校要求英文使用 Times New Roman 和 Arial 字体,对于 Linux 用户,它们常常不是默认安装在系统中的字体,因此需要用户自行安装这两个字体。
+%
+%
+% \begin{function}[]{nottoc, notabs, notbib}
+% 是控制目录中出现的内容。
+% \end{function}
+% \begin{optdesc}
+% \item[nottoc] 目录中不出现“目录”
+% \item[nottabs] 目录中不出现“摘要”
+% \item[notbib] 目录中不出现“参考文献”
+% \end{optdesc}
+% 以目录中不出现“摘要”和“参考文献” 为例,应该使用
+% \begin{frameverb}
+% \documentclass[nottabs,notbib]{xmuthesis}
+% \end{frameverb}
+%
+% \section{信息录入}
+%
+% \begin{function}[]{\xmusetup}
+% \begin{syntax}
+% \tn{xmusetup} \Arg{键值列表}
+% \end{syntax}
+% 是 xmuthesis 的信息录入命令,其参数是一个键值列表,以通用的接口完成信息录入。
+% \end{function}
+% \begin{table}[htbp]
+% \centering
+% \caption{xmusetup 里的健值}
+% \label{tab:xmusetup}
+% \begin{tabular}{*3l}
+% \toprule \\
+% 值 & 解释 & 示例 \\
+% \midrule
+% author & 作者 & 酸奶 \\
+% title & 题目 & 你的论文题目 \\
+% date & 日期 & \verb|\today| 或~二〇一九年二月二十八日 \\
+% class & 年级 & 2015级 \\
+% studentnumber & 学号 & 1972015xxxxxx \\
+% department & 学院 & 物理科学与技术学院 \\
+% major & 专业 & 微电子科学与工程 \\
+% advisor & 校内指导老师 & 张三 \verb|\quad| 职称 \\
+% otheradvisor & 校外指导老师 & 李四 \verb|\quad| 职称 \\
+% team & 所在课题组 & 物理科学与技术学院~理论物理 \\
+% fundteam & 资助课题组 & 物理科学与技术学院~理论物理 \\
+% degree & 学位 & 本\quad 科 \\
+% englishtitle & 英文标题 & Your English Title \\
+% majorordouble & 学位性质 & 主修 或 辅修 \\
+% lab & 所在实验室 & 极端条件实验室 \\
+% \midrule % \\
+% \midrule % \\
+% classified_code $^*$ & 分类号 & 1234 \\
+% security_classification $^*$ & 安全等级 & 公开 内部 秘密 机密 公开 等 \\
+% UDC $^*$ & 国际十进分类法 & 5 \\
+% submit_date $^*$ & 论文提交日期 & 2020 年 8 月 10 日 \\
+% defense_date $^*$ & 论文答辩日期 & 2020 年 8 月 11 日 \\
+% conferred_date $^*$ & 学位授予日期 & 2020 年 8 月 21 日 \\
+% chairman $^*$ & 答辩委员会主席 & 张三 \\
+% refere $^*$ & 评阅人 & 李四 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+% 表~\ref{tab:xmusetup}中是有的值,其中加 \( ^* \) 的值本科生无需填写,也无需删除。对于博士生和硕士生则需要填写。
+%
+% 例如对于毕业论文题目是“我的毕业论文”的张三,他需要在导演区填入的是
+% \begin{frameverb}
+% \xmusetup{
+% author = 张三 ,
+% title = 我的毕业论文 ,
+% }
+% \end{frameverb}
+%
+% \section{模板提供或修改过的命令和环境}
+%
+% \begin{function}{\maketitle}
+% 该命令不仅仅是用于产生标题,还包括了承诺书等。在正确填写好 \verb|\xmusetup| 后,自动得到符合要求的的 title 。另外该命令与普通文档类一样,在 \verb|document| 环境的开头使用。例如
+% \begin{ctexexam}
+% \begin{document}
+% \maketitle
+% 其余内容
+% \end{document}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\chapter, \section, \subsection}
+% 这三个命令都不同于标准类文档,它们需要两个参数。第一个参数是中文的标题,第二个参数是英文的标题。在 \verb|\xmutableofcontents| 使用使用时需要加 * ,而之后的无需添加。如
+% \begin{ctexexam}
+% \chapter*{中文的章}{English Chapter}
+% \xmutableofcontents
+% \section{正文的节}{English section in main part}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{abstract, \keywords}
+% \verb|abstract| 环境和 \verb|keywords| 命令都有带 * 版和不带 * 版,分别对应中英文。一个简单但是完整的摘要应该是如下的样子
+% \begin{ctexexam}
+% \begin{abstract}*
+% 中文摘要
+% \keywords*{关键词1;关键词2;关键词3}
+% \end{abstract}
+% \begin{abstract}
+% English abstract.
+% \keywords{keyword1; keyword2; keyword3}
+% \end{abstract}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\xmutableofcontents}
+% 用于生成中英双语目录,一般在摘要结束后使用。 \verb|\tableofcontents| 不要在 xmuthesis 中使用。
+% \end{function}
+%
+%
+% \begin{function}{\cref}
+% 由 \verb|cleveref| 宏包提供,并且在 xmuthesis 经过设置的智能引用命令,用于图片表格的交叉引用。使用例子
+% \begin{ctexexam}
+% \begin{equation}
+% 1+1=2 \label{eq:1}
+% \end{equation}
+% \begin{equation}
+% 2+2=4 \label{eq:2}
+% \end{equation}
+% \begin{equation}
+% 3+3=6 \label{eq:3}
+% \end{equation}
+% \begin{equation}
+% 4+4=8 \label{eq:4}
+% \end{equation}
+% 单引用:\cref{eq:1}
+% 范围引用:\crefrange{eq:1}{eq:2}
+% 连续多引用:\cref{eq:1,eq:3,eq:2} , 同于 \crefrange{eq:1}{eq:3}
+% 不连续多引用:\cref{eq:1,eq:2,eq:4}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{proof, law, theoty}
+% 由 \verb|amsthm| 宏包提供或定制,分别对应于证明,定律和定理。注意 \verb|proof| 环境是没有编号的,另外两个是有的。简单的使用例子
+% \begin{ctexexam}
+% \begin{theory}[Energy–momentum relation]
+% The relationship of energy, momentum and mass is
+% \[E^2 = m_0^2 c^4 + p^2 c^2\]
+% where $ c $ is the light speed.
+% \end{theory}
+% \begin{law}\label{law:box}
+% Don't hide in the witness box.
+% \end{law}
+% \begin{proof}
+% For simplicity, we use
+% \[
+% E=mc^2
+% \]
+% That's it.
+% \end{proof}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\circled}
+% 用于产生带圈的数字,产生带圈的数字用 \verb|\circled{1}| 。
+% \end{function}
+%
+% \section{xmulogo 宏包}
+%
+% 为了方便输出高质量的校徽和校名图片,特意开发了 xmulogo 宏包。主要提供了两个命令。
+% \begin{function}{\xmulogo, \xmulogon}
+% \verb|\xmulogo| , \verb|\xmulogon| 分别用于产生校徽和校名。两者的用法完全一样。一下以 \verb|\xmulogo| 为例介绍其用法。用法为 \verb|\xmulogo[scale]{r,g,b}| ,其中 \verb|scale| 控制图片的尺寸,填入 $0\sim 1$ 之间的数。花括号的 \verb|{r,g,b}| 是用与控制颜色的,采用 rgb 的颜色控制方法。它是一个可选参数,不填则采用默认的颜色。以下用法均为正确用法。
+% \begin{ctexexam}
+% \xmulogo
+% \xmulogo[0.5]
+% \xmulogo{0.1,0.15,0.9}
+% \xmulogo[0.4]{0.1,0.1,0.9}
+% \end{ctexexam}
+% \end{function}
+%
+% 模板封面页在 \verb|figs/xmu-flag.pdf| 不存在是会调用 \verb|xmulogo| 宏包生成相应的图片。建议像 Github 项目地址一样创建 \verb|figs| 文件,并且放入 \verb|xmu-flag.pdf| 。这样可以节约编译的时间。
+% \section{一些建议}
+%
+%\subsection{致谢}
+%
+%致谢语应以简短的文字对课题研究与论文撰写过程中曾直接给予帮助的人员(例如指导教师、答疑教师及其他人员)表示自己的谢意。
+%
+%作为毕业论文提交时,应注意事项:致谢内容用小四号宋体。根据2016年2月施行的《厦门大学本科毕业论文(设计)规范》,致谢被放在论文起首。致谢结构一般分为三个部分:1,回顾;2,感谢; 3,承担责任以及献辞。第一部分可以简述论文写作的经历,所面对的挑战以及你如何应对。第二部分具体感谢在论文过程中给与你帮助的人。第三部分指出你将为自己的论文承担责任,如果你希望将此论文献给谁,可以在最后指出。致谢内容请亲自撰写,使其具备你个人的特色。抄袭任何模板内容是极其懒惰、没有意义、不负责任和错误的行为。
+%
+%
+%\subsection{摘要}
+% 本科生中文摘要应具有独立性和自含性,语言精炼、明确,高度概括论文内容,以 400 字左右为宜。关键词应体现论文特色,具有语义性,在论文中有明确出处,以 3—5 个为宜。关键词另起一行排在摘要的下方,每个关键词之间用中文分号“;”分开,最后一个关键词不打标点符号。
+%
+% 硕士与博士的中文摘要中文 600 字左右;重点概述本文研究的问题、意义、创新之处和主要观点、结论。关键词数量:不超过3个,能体现论文的主要内容,词组符合学术规范;每个关键词字数:不超过5个字;每个关键词字数:不超过5个字;
+%
+% 英文摘要、关键词内容与中文相同,每个关键词之间用英文
+% 分号“;”加一空格分开,最后一个关键词不打标点符号。中、
+% 英文摘要及其关键词各置一页内。
+%
+%
+
+% \subsection{正文的基本要求}
+%
+% 正文从另右页开始。每一章应另起页,并从奇数页开始。正文一般从引言(绪论)开始,以结论或讨论结束。引言(绪论)应包括论文的研究目的、流程和方法等。研究领域的历史回顾、文献回溯、理论分析等内容应独立成章,用足够的文字叙述。结论应包含论文的核心观点,阐述自己的创造性成果及其在本研究领域中的意义、作用,交代研究工作的局限,提出未来工作的意见和建议。
+%
+% 正文由于涉及的学科、选题、研究方法、结果表达方式等有很大的差异,不作统一的规定,但要求自然科学论文应提供实验数据和图片资料真实,推理正确、结论清晰;人文和社会学科的论文应把握论点正确、论证充分、论据可靠,恰当运用系统分析和比较研究的方法进行模型或方案设计,注重实证研究和案例分析。
+%
+% 正文一般不少于 6000 字(不含图表、程序和计算数字)。用外国语言撰写的,字数参照 4 个英文单词折算 1 个中文字数进行计数。\footnote{以上内容仅供参考,详见《厦门大学本科毕业论文(设计)规范》}
+%
+%
+% \subsection{学术名词}
+%
+% \begin{itemize}
+% \item 科学技术名词术语采用全国自然科学名词审定委员会公布的规范词或国家标准、部标准中规定的名称,尚未统一规定或有争议的名词术语,可采用惯用的名称。
+% \item 特定含义的名词术语或新名词、以及使用外文缩写代替某一名词术语时,首次出现时应在括号内注明其含义,如:OECD(Organization for Economic Co-operation and Development)
+%代替经济合作发展组织。
+% \item 外国人名一般采用英文原名,可不译成中文,英文人名按名前姓后的原则书写。一般很熟知的外国人名(如牛顿、爱因斯坦、达尔文、马克思等)可按通常标准译法写译名。
+% \end{itemize}
+%
+%
+%
+%\subsection{物理量名称、符号与计量}
+%
+%
+%\begin{itemize}
+% \item 论文中某一物理量的名称和符号应统一,一律采用国务院发布的《中华人民共和国法定计量单位》或者国际公认的计量单位。单位名称和符号的书写方式,应采用国际通用符号。
+% \item 在不涉及具体数据表达时允许使用中文计量单位如“千克”。
+% \item 表达时间使用“2014 年 6 月”,不能使用“14 年 6 月”或“2014.6”。不能使用 80 年代,而应为上世纪 80 年代或 20 世纪80 年代。表达时刻应采用中文计量单位,如“下午 3 点 10 分”,不能写成“3h10min”,在表格中可以用“3:10PM”表示。
+% \item 物理量符号、物理量常量、变量符号用斜体,计量单位符号均用正体。
+%\end{itemize}
+%
+% 单位书写推荐用 \verb|siunitx| 宏包。
+%
+% 数学和物理的学生强烈推荐学习使用 \verb|physics| 宏包。
+%
+% \subsection{数字}
+%
+% \begin{enumerate}
+% \item 无特别约定情况下,一般均采用阿拉伯数字表示。
+% \item 小数的表示方法:一般情形下,小于 1 的数,需在小数点之前加 0。但当某些特殊数字不可能大于 1 时(如相关系数、比率、概率值),小数点之前的 0 可去掉,如 $ r=.26,p<.05 $ 。
+% \item 统计符号的格式:一般除 $ \alpha , \beta , \lambda , \epsilon \text{以及} V $ 等符号外,其余统计符号一律以斜体字呈现,如\textit{ANCOVA,ANOVA,MANOVA,N,nl,M,SD,F,p,r } 等。
+% \end{enumerate}
+%
+%
+% \subsection{公式}
+%
+% \begin{enumerate}
+% \item 公式应另起一行缩略书写,居于中央(注意行首无缩进),与周围文字留足够的空间区分开。
+% \item 公式的编号用英文圆括号括起,放在公式右边行末,在公式和编号之间不加虚线。子公式可不编序号,需要引用时可加编 a、b、c……,重复引用的公式不得另编新序号。公式较多时,可分章编号,但应与表格、图的编序方式统一。
+% \item 较长的公式最好在等号处转行,或在运算符号(如“+”、“-”号)处转行,等号或运算符号应在转行后的行首。公式中分数线的横线,其长度应等于或略大于分子和分母中较长的一方。
+% \end{enumerate}
+%
+% \subsection{表格}
+%
+% \begin{enumerate}
+% \item 表格要有:表号,表名,单位。表号和表名居表上方正中(注意行首无缩进);表格只有一个单位时,单位在表右上方。表较多时,可分章编号,但须与插图、公式的编序方式统一。
+% \item 表格应优先采用三线表,三线表头尾两条线宽 1 磅,中间线宽 0.75 磅。也可根据需要使用其他格式。
+% \item 表格如参考其他资料,应标明“作者、来源名称、时间”,置表格左下方。
+% \item 表格允许下页接写,接写时应重复表号,表号后跟表名(可省略)和“(续)”,置于表上方。续表应重复表头。
+% \item 表格应放在离正文首次出现处最近的地方,不应超前和过分拖后。表与上下正文之间各空一行。
+% \end{enumerate}
+%
+% 三段表的示例为
+% \begin{ctexexam}
+% \begin{table}[!ht]
+% \centering
+% \begin{threeparttable}[b]
+% \zihao{5}
+% \caption{表格示例}
+% \begin{tabular}{ccc}
+% \toprule
+% & ABS & CB \\
+% \midrule
+% (Intercept) & 5.482 & 3.4871 \\
+% ABC & 1.1173 & 1.1933 \\
+% DEF & 8.1752* & 2.6836 \\
+% \bottomrule
+% \multicolumn{3}{c}{*p<0.1; **p<0.05; ***p<0.01} \\
+% \bottomrule
+% \end{tabular}%
+% \label{tab:mlogit}%
+% \begin{tablenotes}
+% \zihao{5}\item Note: These are estimates of multinomial logit model.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}%
+% \end{ctexexam}
+%
+%
+% \subsection{插图}
+%
+% \begin{enumerate}
+% \item 图包括曲线图、构造图、示意图、框图、流程图、记录图、地图、照片等。图应与文字内容相符,技术内容正确。所有制图应符合国家标准和专业标准,对无规定符号的图形应采用该行业的常用画法。
+% \item 图要有:图号,图名,单位。图号和图名要居图下方的正中(注意行首无缩进)。图较多时,可分章编号,但须与表格、公式的编序方式统一。
+% \item 图如参考其他资料,要示明“作者、来源名称、时间”,置图左下方。
+% \item 由若干分图组成的插图,分图用 a、b、c……标序。分图的图名以及图中各种代号的意义,以图注形式写在图题下方,先写分图名,另起行写代号的意义。
+% \item 图与图标题、图序号为一个整体,不得拆开排版为两页。当页空白不够排版该图整体时,可将其后文字部分提前,将图移至次页最前面。
+% \end{enumerate}
+%
+%
+%
+% \subsection{注释}
+%
+% 当文中的字、词或短语需要进一步加以说明,而又没有具体的文献来源时,用注释。注释不宜过多。
+% 篇名、作者注置于当页地脚。对文内有关特定内容的注释可夹在文内(加圆括号),也可排在当页地脚,注释序号以带圈的数字形式标示在被注释词条的右上角。注脚的命令如下\verb|\footnote{注脚内容}|。
+%
+%\subsection{参考文献与引用}
+%
+% 本模板默认引用 \verb|gbt7714| 宏包,可以使用它处理参考文献。
+%
+% 以下是一些参考文献的引用。应该能有合适的。不合适可以修改。
+%
+% \begin{ctexexam}
+% \cite{label1}
+% \cite{label,label2}
+% \citet{label3}
+% \citep{label3}
+% \citealt{label3}
+% \citeauthor{label3}
+% \citeyearpar{label3}
+% \end{ctexexam}
+%
+%
+% \section{代码插入}
+%
+% 模板已加载 \verb|listings| 宏包,并且简单设置过。
+% 可以使用 \verb|lstlisting| 环境来展示代码。
+% 下面是一个Matlab的代码的插入示例,还可以插入其它类型的代码。有额外需求可以添加。
+%
+% \begin{frameverb}
+% \lstinputlisting[language=Matlab]{Plot.m}
+% \end{frameverb}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \end{documentation}
+%
+% \StopEventually{}
+%
+%
+%\begin{implementation}
+% \clearpage
+% \section{代码实现}
+%<*class>
+% \begin{macrocode}
+\ExplSyntaxOn
+\def\IfXeTeXTF#1#2{\csname sys_if_engine_xetex:TF\endcsname{#1}{#2}}
+
+\IfXeTeXTF{
+ % \PassOptionsToClass{fontset=none}{ctexbook}
+ \PassOptionsToPackage{no-math}{fontspec}
+ \PassOptionsToPackage{utf8}{inputenc}
+}{}
+
+\sys_if_engine_pdftex:T {
+ \PassOptionsToClass{UTF8}{ctexbook}
+ \msg_new:nnn { engine } { msg } {
+ Don't~use~pdfLaTeX~to~compile~the~final~TeX~files.
+ }
+ \msg_warning:nn { engine } { msg }
+}
+
+
+
+
+\ProvidesClass{ xmuthesis }[2020/10/04 v0.4.1 XMU thesis]
+
+\PassOptionsToPackage{subfigure}{tocloft}
+\PassOptionsToPackage{noend}{algpseudocode}
+\PassOptionsToPackage{para}{threeparttable}
+\PassOptionsToPackage{sort&compress}{natbib}
+
+\bool_set_false:N \l__xmu_advanced_font_bool
+\bool_set_false:N \l__xmu_overleaf_font_bool
+\bool_set_false:N \l__xmu_undergraduate_bool
+\bool_set_false:N \l__xmu_master_bool
+\bool_set_false:N \l__xmu_doctor_bool
+
+\bool_set_true:N \l__xmu_toc_toc_bool
+\bool_set_true:N \l__xmu_toc_abs_bool
+\bool_set_true:N \l__xmu_toc_ref_bool
+
+\keys_define:nn { xmuthesis }{
+ degree .choice: ,
+ degree .default:n = undergraduate ,
+ degree / undergraduate .code:n = \bool_set_true:N \l__xmu_undergraduate_bool ,
+ degree / master .code:n = \bool_set_true:N \l__xmu_master_bool ,
+ degree / doctor .code:n = \bool_set_true:N \l__xmu_doctor_bool ,
+
+ nottoc .code:n = \bool_set_false:N \l__xmu_toc_toc_bool ,
+ notabs .code:n = \bool_set_false:N \l__xmu_toc_abs_bool ,
+ notbib .code:n = \bool_set_false:N \l__xmu_toc_ref_bool ,
+
+ bibstyle .choice: ,
+ bibstyle .default:n = numerical ,
+ bibstyle / numerical .code:n = ,
+ bibstyle / numbers .code:n =
+ \AfterPackage{gbt7714}{\citestyle{numbers}} ,
+ bibstyle / authoryear .code:n =
+ \AfterPackage{gbt7714}{\bibliographystyle{gbt7714-author-year}} ,
+ bibstyle / unknown .code:n =
+ \msg_error:nnxxx { xmuthesis } { unknown-choice } { bibstyle }
+ { numerical, numbers, authoryear }
+ { The~choice~' #1 '~is~invalid~for~bibstyle} ,
+
+ font .choice: ,
+ font .default:n = empty ,
+ font / adobe .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / fandol .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / founder .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / mac .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / macnew .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / macold .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / windows .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / ubuntu .code:n = \PassOptionsToClass{fontset = #1}{ctexbook}
+ \msg_new:nnn { ubuntu font } { msg } {
+ You~are~using~the~default~fonts,~so~you~better~change~it~by~font=adobe,
+ ~or~advance.~If~you~choose~them,
+ ~you~should~download~the~necessary~font~and~put~them~in~the~right~place.
+ }
+ \msg_warning:nn { ubuntu font } { msg } ,
+ font / overleaf .code:n = \PassOptionsToClass{fontset =none}{ctexbook}
+ \bool_set_true:N \l__xmu_overleaf_font_bool ,
+ font / advance .code:n = \PassOptionsToClass{fontset =none}{ctexbook}
+ \bool_set_true:N \l__xmu_advanced_font_bool ,
+ font / empty .code:n = \msg_new:nnn { font } { msg } {
+ You~are~using~the~default~fonts,~you~can~change~it~by~font=adobe,
+ ~windows,~mac,~advance~and~so~on.
+ }
+ \msg_warning:nn { font } { msg },
+ font / unknown .code:n = \msg_error:nnxxx { xmuthesis } { unknown-choice }{ font }{
+ empty, adobe, fandol, founder, mac, macnew, macold, ubuntu, windows, advance
+ }{
+ The~choice~' #1 '~is~invalid~for~font
+ },
+}
+
+\ProcessKeysOptions { xmuthesis }
+
+
+\LoadClass [ zihao=-4 , openright, ] {ctexbook}
+
+\sys_if_engine_pdftex:T {
+ \RequirePackage{microtype,amsfonts}
+}
+
+\NewDocumentCommand\degree{ m m m }{
+ \IfBooleanTF{\l__xmu_undergraduate_bool}{
+ #1
+ }{
+ \IfBooleanTF{\l__xmu_master_bool}{
+ #2
+ }{
+ #3
+ }
+ }
+}
+
+\NewDocumentCommand\undergratuateTF{ m m }{
+ \IfBooleanTF{\l__xmu_undergraduate_bool}{
+ #1
+ }{
+ #2
+ }
+}
+
+\undergratuateTF{
+
+}{
+ \RequirePackage{xeCJKfntef}
+}
+\RequirePackage[UseMSWordMultipleLineSpacing,MSWordLineSpacingMultiple=1.5]
+{zhlineskip}
+
+\RequirePackage{
+ amsthm ,
+ physics ,
+ siunitx ,
+ verbatim ,
+ multirow ,
+ geometry ,
+ fancyhdr ,
+ graphicx ,
+ % longtable ,
+ booktabs ,
+ tabularx ,
+ caption ,
+ threeparttable ,
+ subfig ,
+ tocloft ,
+ % tocbibind ,
+ xcolor ,
+ listings ,
+ gbt7714 ,
+ % float ,
+ hyperref ,
+ algorithm ,
+ algpseudocode ,
+ cleveref ,
+}
+
+\IfXeTeXTF{
+\RequirePackage{unicode-math}
+\setmainfont{Times~New~Roman} % Times~New~Roman Source~Serif~Pro
+\setsansfont{Arial} % Arial Source~Sans~Pro
+
+\unimathsetup{
+ math-style = ISO ,
+ bold-style = ISO ,
+ nabla = upright ,
+ partial = upright ,
+ }
+}{}
+
+\geometry{
+ left = 2cm ,
+ right = 2cm ,
+ top = 4cm ,
+ bottom = 3cm ,
+}
+\bool_if:NTF \l__xmu_undergraduate_bool{
+ \captionsetup{font={small,bf}}
+}{
+ \captionsetup{font={normalsize,bf}}
+}
+
+\hypersetup{
+% bookmarks=true ,
+ bookmarksnumbered = false ,
+ linkcolor = black ,
+ citecolor = blue ,
+ urlcolor = green ,
+ colorlinks ,
+}
+
+
+\bool_if:NT \l__xmu_advanced_font_bool{
+ \setmonofont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-it ,
+ BoldItalicFont = *-boldit] {SourceCodePro}
+ \setCJKmonofont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSansMonoCJKsc}
+ \setCJKmainfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSerifCJKsc}
+ \setCJKsansfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSansCJKsc}
+ \setmathfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ BoldFont = XITSMath-Bold ,
+ StylisticSet = 8] {XITSMath-Regular}
+}
+
+\bool_if:NT \l__xmu_overleaf_font_bool{
+ % \setmainfont{Noto~Serif}
+ % \setsansfont{Noto~Sans}
+ % \setmonofont{Noto~Mono}
+ \setCJKmainfont{Noto~Serif~CJK~SC}
+ \setCJKsansfont{Noto~Sans~CJK~SC}
+ \setCJKmonofont{Noto~Sans~Mono~CJK~SC}
+ % \setmathfont{XITSMath}
+}
+
+
+\RenewDocumentCommand\chaptermark{m}{\markboth{#1}{#1}}
+
+\fancyhf{} % cleans original header&footer
+\fancyhead[CE]{\zihao{-5} \l__xmu_title_tl}
+\fancyhead[CO]{\zihao{-5} \leftmark} %\leftmark \chaptermark
+\fancyfoot[C]{\thepage}
+
+\RenewDocumentCommand\headrulewidth{}{0pt}
+
+
+\ctexset{
+ today = big, % format date
+ chapter = {
+ format = \centering\zihao{-3}\sffamily,
+ beforeskip = -15pt,
+ afterskip = 30pt,
+ pagestyle = fancy,},%
+ section = {
+ format = \zihao{4}\sffamily,
+ beforeskip = 10pt,
+ afterskip = 10pt,
+ },
+ subsection = {
+ format = \zihao{4}\sffamily,
+ },
+}
+
+
+\newlistof{indice}{tce}{Table~of~Contents}
+
+\setlength{\cftbeforetcetitleskip}{-30pt}
+\setlength{\cftbeforechapskip}{8pt}
+\setlength{\cftbeforesecskip}{6pt}
+\setlength{\cftbeforesubsecskip}{4pt}
+\setlength{\cftbeforetoctitleskip}{-30pt}
+\setlength{\cftsecnumwidth}{3.2em}
+\setlength{\cftsubsecindent}{4.5em}
+\RenewDocumentCommand\cftchapleader{}{\cftdotfill{\cftdotsep}} % for chapters
+% Add \thispagestyle{plain} to the font setting
+% to force the pagestyle in toc always be plain,
+% or it maybe influence by my slfe-define \cleanrdoublepage
+\bool_if:NTF \l__xmu_undergraduate_bool{
+ \RenewDocumentCommand\cftchapfont{}{
+ \thispagestyle{plain}\zihao{4}\sffamily
+ }% Chapter font
+ \RenewDocumentCommand\cftsecfont{}{
+ \thispagestyle{plain}\zihao{-3}\sffamily
+ }% Section font
+ \RenewDocumentCommand\cftsubsecfont{}{
+ \thispagestyle{plain}\zihao{-3}\rmfamily
+ }%subsection font
+}{
+ \RenewDocumentCommand\cftchapfont{}{
+ \thispagestyle{plain}\zihao{4}\sffamily\bfseries
+ }% Chapter font
+ \RenewDocumentCommand\cftsecfont{}{
+ \thispagestyle{plain}\zihao{-4}\sffamily\bfseries
+ }% Section font
+ \RenewDocumentCommand\cftsubsecfont{}{
+ \thispagestyle{plain}\zihao{-4}\rmfamily
+ }%subsection font
+}
+
+% \RenewDocumentCommand\cfttoctitlefont{}
+% {\hfill\zihao{-3}\sffamily 目\quad 录\hfill}%\phantom{mmmmmmmmm}
+% \RenewDocumentCommand\cftaftertoctitle{}{\hfill}
+\RenewDocumentCommand\cfttoctitlefont{}{\hspace*{\fill}\zihao{-3}\sffamily}
+\RenewDocumentCommand\cftaftertoctitle{}{\hspace*{\fill}}
+% \RenewDocumentCommand\cfttcetitlefont{}{
+% \hfill\zihao{-3}\rmfamily\bfseries Table~of~Contents\hfill}%\phantom{mmmmmmm}
+% \RenewDocumentCommand\cftaftertcetitle{}{\hfill}
+\RenewDocumentCommand\cfttcetitlefont{}{\hspace*{\fill}\zihao{-3}\rmfamily\bfseries}
+\RenewDocumentCommand\cftaftertcetitle{}{\hspace*{\fill}}
+
+\let\oldappendix\appendix
+\bool_set_false:N \l__xmu_appendix_bool
+\RenewDocumentCommand\appendix{}{
+ \oldappendix
+ \bool_set_true:N \l__xmu_appendix_bool
+}
+
+\makeatletter
+\NewDocumentCommand\captce { m } {
+ \if@mainmatter
+ \bool_if:NTF \l__xmu_appendix_bool{
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries \protect\makebox[5em][l]{Appendix~\thechapter}~\;\;#1}
+ }{
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries \protect\makebox[5em][l]{Chapter~\thechapter}#1}
+ }
+ \else
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries\protect\makebox[0em][l]{}#1}
+\fi
+}
+\makeatother
+
+\NewDocumentCommand\sectce { m } {
+ \addcontentsline{tce}{section}{
+ \rmfamily\bfseries\protect\makebox[2.3em][l]{\thesection}#1
+ }
+}
+
+\NewDocumentCommand\ssectce { m } {
+ \addcontentsline{tce}{subsection}{
+ \protect\makebox[2.3em][l]{\thesubsection}#1
+ }
+}
+
+
+\let\oldchapter\chapter
+\RenewDocumentCommand\chapter{ s m g }{
+ \IfBooleanTF {#1} {
+ \oldchapter*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldchapter{#2}
+ \IfNoValueF {#3} {
+ \captce{#3}
+ }
+ }
+}
+
+\let\oldsection\section
+\RenewDocumentCommand\section{ s m g }{
+ \IfBooleanTF {#1}{
+ \oldsection*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldsection{#2}
+ \IfNoValueF {#3} {
+ \sectce{#3}
+ }
+ }
+}
+
+\let\oldsubsection\subsection
+\RenewDocumentCommand\subsection{ s m g }{
+ \IfBooleanTF {#1}{
+ \oldsubsection*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldsubsection{#2}
+ \IfNoValueF {#3} {
+ \ssectce{#3}
+ }
+ }
+}
+
+\let\oldcleardoublepage\cleardoublepage
+\NewDocumentCommand\clearemptydoublepage{}{
+ \clearpage % don't delete it, even it's follewed by \cleardoublepage
+ % {\pagestyle{empty}\origdoublepage}
+ \thispagestyle{empty}\oldcleardoublepage
+}
+
+\let\cleardoublepage\clearemptydoublepage
+
+
+\NewDocumentCommand\xmutableofcontents{}{
+ \cleardoublepage
+ \bool_if:NTF \l__xmu_toc_toc_bool{
+ \addcontentsline{toc}{chapter}{\protect 目录}\captce{目录}
+ \tableofcontents
+ % \pagestyle{plain}
+ \cleardoublepage
+ \addcontentsline{toc}{chapter}{\protect Table~of~Contents}
+ \captce{Table~of~Contents}
+ \listofindice
+ % \pagestyle{plain}
+ }{
+ \tableofcontents
+ % \pagestyle{plain}
+ \cleardoublepage
+ \listofindice
+ % \pagestyle{plain}
+ }
+ \cleardoublepage
+ \mainmatter
+ \RenewDocumentCommand\headrulewidth{}{1pt}
+}
+
+\makeatother
+
+
+% --------------------------- resources settings ----------------------
+\graphicspath{{figs}{Figures/}{../Figures/}} %设定图片的存放路径
+
+% --------------------------- circled text settings ----------------------
+\NewDocumentCommand\circled { m } {
+ \raisebox{.5pt}{
+ \textcircled{\raisebox{-.9pt}{#1}}
+ }
+} % define a new command for circled text since \textcircled is very sloppy
+
+% --------------------------- endnotes settings ----------------------
+\RenewDocumentCommand\thefootnote{}{\protect\circled{\arabic{footnote}}}
+
+\NewDocumentCommand\somewords{}{
+ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy
+ \par
+ 中文字体
+ \par
+}
+
+\NewDocumentCommand\showfont{}{
+ {
+ \begin{center}
+ \textbf{字体展示}
+ \end{center}
+ \par
+ \( \hbar ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy \)
+ \par
+ % $ \symbf{\hbar ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy} $
+
+ \somewords
+
+ {\bfseries \somewords}
+
+ \itshape \somewords
+
+ \sffamily \somewords
+
+ \bfseries \somewords
+ % \newpage
+
+ \itshape \somewords
+
+ \ttfamily \somewords
+
+ \bfseries \somewords
+
+ \itshape \somewords
+ }
+}
+
+% --------------------------- code inserting settings ----------------------
+% required package(s):
+% - listings
+\def\lstbasicfont{\fontfamily{pcr}\selectfont\footnotesize}
+\lstset{%
+ numbers=left,
+ numberstyle=\tiny,
+ basicstyle=\small,
+ backgroundcolor=\color{white}, % choose the background color
+ basicstyle=\footnotesize\ttfamily, % size of fonts used for the code
+ columns=fullflexible,
+ tabsize=4,
+ breaklines=true, % automatic line breaking only at whitespace
+ captionpos=b, % sets the caption-position to bottom
+ commentstyle=\color{green}, % comment style
+ escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
+ keywordstyle=\color{blue}, % keyword style
+ stringstyle=\color{purple}\ttfamily, % string literal style
+ frame=single,
+ rulesepcolor=\color{red!20!green!20!blue!20},
+}
+\lstloadlanguages{C,C++,Java,Matlab,Mathematica} % supported languages
+
+% --------------------------- algorithm inserting settings ----------------------
+% required packages:
+% - algorithm
+% - algpseudocode[noend]
+\makeatletter
+\def\algbackskip{\hskip-\ALG@thistlm}
+%\def\BState{\State\hskip-\ALG@thistlm}
+% both works fine, but latter one redefines \BState
+\makeatother
+
+\DeclareDocumentCommand\maketitle{}{
+\frontmatter
+\pagestyle{empty}
+ \bool_if:NTF \l__xmu_undergraduate_bool{
+% \input{Settings/Contents/undergraduate-titlepage.tex}
+\begin{center}
+ \IfFileExists{figs/xmu-flag.pdf}{
+ \includegraphics[width=8cm]{xmu-flag}
+ }{\xmulogo[0.32]}
+ \par
+ \vspace{1ex}
+
+ {
+ \rmfamily\zihao{-2}\l__xmu_degree_tl
+ \quad 毕\quad 业\quad 论\quad 文\quad
+ (~设\quad 计~)\par\vspace{1ex}
+ }
+
+ {
+ \rmfamily\zihao{3}(\l__xmu_majorordouble_tl)\par
+ }
+
+ {
+ \sffamily\zihao{2}\l__xmu_title_tl \par\vspace{1ex}
+ }
+
+ {
+ \rmfamily\bfseries\zihao{3} \l__xmu_englishtitle_tl\par\vspace{3ex}
+ }
+
+
+ { \rmfamily \zihao{4}
+ \begin{tabular}{rl}
+ 姓 \qquad 名:& \l__xmu_author_tl \\
+ 学 \qquad 号:& \l__xmu_studentnumber_tl \\
+ 学 \qquad 院:& \l__xmu_department_tl \\
+ 专 \qquad 业:& \l__xmu_major_tl \\
+ 年 \qquad 级:& \l__xmu_class_tl \\
+ 校内指导教师:& \l__xmu_advisor_tl \\
+ 校外指导教师:& \l__xmu_otheradvisor_tl \\
+ \end{tabular}%
+ }
+ \vspace{2ex}
+ \rmfamily\zihao{4}
+ \par\vspace{4ex}
+ \l__xmu_date_tl
+ \vspace{2ex}
+\end{center}
+
+% \input{Settings/Contents/undergraduate-commitment.tex}
+\chapter*{厦门大学本科学位论文诚信承诺书}
+\setcounter{page}{1}
+
+{\fontsize{14pt}{21pt}\selectfont
+
+ 本人呈交的学位论文是在导师指导下独立完成的研究成果。
+ 本人在论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,
+ 并符合相关法律规范及《厦门大学本科毕业论文(设计)规范》。
+ \par
+ 该学位论文为(\l__xmu_team_tl)课题(组)的研究成果,
+ 获得(\l__xmu_fundteam_tl)课题(组)经费或实验室的资助,
+ 在(\l__xmu_lab_tl)实验室完成。
+ (请在以上括号内填写课题或课题组负责人或
+ 实验室名称,未有此项声明内容的,可以不作特别声明。)
+ \par
+ 另外,本人承诺辅修专业毕业论文(设计)
+ (如有)的内容与主修专业不存在相同与相近情况。
+ \par
+ \vspace{30pt}
+
+ \hfill 学生声明(签名):\hspace*{4cm}
+ \par\vspace{2ex}
+ \hfill 年\hspace{26pt}月\hspace{26pt}日\hspace*{2cm}
+}
+
+ }{
+% \input{Settings/Contents/master-or-doctor-titlepage.tex}
+\begin{center}
+ {
+ \vspace*{-5ex}
+ % \raggedright
+ \rmfamily\bfseries\zihao{-4}
+ 学校编码:10384\hfill 分类号\CJKunderline{\l__xmu_classified_code_tl}
+ \quad 密级 \CJKunderline{\l__xmu_security_classification_tl}\par
+ 学号:\l__xmu_studentnumber_tl\hfill UDC\;
+ \CJKunderline{\l__xmu_UDC_tl}\par\vspace{6ex}
+ \centering\IfFileExists{figs/xmu-flag.pdf}{
+ \includegraphics[width=5cm]{xmu-flag}
+ }{\xmulogon[0.65]}\par\vspace{4ex}
+ }
+ {
+ \rmfamily\bfseries\zihao{-2}
+ \bool_if:NTF \l__xmu_master_bool{
+ 硕\quad 士\quad 学\quad 位\quad 论\quad 文
+ }{
+ 博\quad 士\quad 学\quad 位\quad 论\quad 文
+ }
+ \par\vspace{2ex}
+ }
+ {
+ \sffamily\bfseries\zihao{2}\l__xmu_title_tl\par\vspace{2ex}
+ }
+ {
+ \rmfamily\bfseries\zihao{3}\l__xmu_englishtitle_tl\par\vspace{2ex}
+ }
+ {
+ \ttfamily\zihao{-2}\l__xmu_author_tl\par\vspace{2ex}
+ }
+ {
+ \ttfamily\zihao{4}
+ \begin{tabular}{rl}
+ 指导教师姓名:& \l__xmu_advisor_tl \\
+ 专\hspace{0.66\ccwd} 业\hspace{0.66\ccwd} 名\hspace{0.66\ccwd} 称:
+ & \l__xmu_major_tl \\
+ 论文提交日期:& \l__xmu_submit_date_tl \\
+ 论文答辩时间:& \l__xmu_defense_date_tl \\
+ 学位授予日期:& \l__xmu_conferred_date_tl\\
+ \end{tabular}%
+ \par\vspace{1cm}
+ }
+ {
+ \zihao{4}
+ 答辩委员会主席:\l__xmu_chairman_tl\par
+ 评阅人:\l__xmu_referee_tl\par
+ \l__xmu_date_tl\par
+ }
+\end{center}
+
+% \input{Settings/Contents/Certification-statement.tex}
+\chapter*{厦门大学学位论文原创性声明}
+\setcounter{page}{1}
+% \fontsize{14pt}{21pt}\selectfont
+{
+\zihao{4}
+本人呈交的学位论文是本人在导师指导下,独立完成的研究成果。
+本人在论文写作中参考其他个人或集体已经发表的研究成果,
+均在文中以适当方式明确标明,并符合法律规范和《厦门大学研究生学术活动规范(试行)》。
+\par
+
+另外,该学位论文为(\l__xmu_team_tl)课题(组)的研究成果,
+获得(\l__xmu_fundteam_tl)课题(组)经费或实验室的资助,
+在(\l__xmu_lab_tl)实验室完成。
+(请在以上括号内填写课题或课题组负责人或实验室名称,
+未有此项声明内容的,可以不作特别声明。)
+\par
+
+本人声明该学位论文不存在剽窃、抄袭等学术不端行为,
+并愿意承担因学术不端行为所带来的一切后果和法律责任。
+\par
+
+\vspace{5ex}
+{
+ \raggedleft
+ 声明人\quad (签名):\phantom{六个字的空白}\par
+ 指导教师(签名):\phantom{六个字的空白}\par\vspace{5ex}
+
+ 年\qquad 月\qquad 日\phantom{这七个字的空白}\par
+}
+}
+% \input{Settings/Contents/Copyright-declaration.tex}
+\chapter*{厦门大学学位论文著作权使用声明}{}
+%
+{
+\zihao{4}
+% \fontsize{14pt}{21pt}\selectfont
+本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》
+等规定保留和使用此学位论文,
+并向主管部门或其指定机构送交学位论文(包括纸质版和电子版),
+允许学位论文进入厦门大学图书馆及其数据库被查阅、借阅。
+本人同意厦门大学将学位论文加入全国博士、硕士学位论文共建单位数据库进行检索,
+将学位论文的标题和摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。
+\par
+
+本学位论文属于:\par
+
+(\qquad )1.经厦门大学保密委员会审查核定的涉密学位论文,
+于\qquad 年\qquad 月\qquad 日解密,解密后适用上述授权。\par
+
+(\qquad )2.不保密,适用上述授权。\par
+
+(请在以上相应括号内打“√”或填上相应内容。
+涉密学位论文应是已经厦门大学保密委员会审定过的学位论文,
+未经厦门大学保密委员会审定的学位论文均为公开学位论文。
+此声明栏不填写的,默认为公开学位论文,均适用上述授权。)\par
+
+\vspace{12ex}
+{
+ \raggedleft
+ 声明人(签名):\phantom{六个字的空白}\par
+ 年\qquad 月\qquad 日\phantom{这七个字的空白}\par
+}
+}
+ }
+\cleardoublepage
+}
+
+% --------------------------- reference settings ------------------------
+% required packages:
+% - cleveref
+% \crefname params:
+% first: type
+% second: singular cross reference
+% third: plural cross reference
+\RenewDocumentCommand\citep{m}{{\color{blue}\citeauthor{#1}(\citeyearpar{#1})}}
+\crefformat{figure}{#2图~#1#3}
+\crefrangeformat{figure}{图~(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{figure}{图~(#2#1#3)}{和~(#2#1#3)}{,(#2#1#3)}{和~(#2#1#3)}
+
+\crefformat{table}{#2表#1#3}
+\crefrangeformat{table}{表(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{table}{表~(#2#1#3)}{和~(#2#1#3)}{,(#2#1#3)}{和~(#2#1#3)}
+
+\crefformat{equation}{~(#2#1#3)}
+\crefrangeformat{equation}{~(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{equation}{~(#2#1#3)}{ 和~(#2#1#3)}{,(#2#1#3)}{ 和~(#2#1#3)}
+% equation, chapter, section, etc.
+% \creflabelformat{htypei}{hformati}
+
+\bool_if:NT \l__xmu_toc_ref_bool{
+ \AddToHook{env/thebibliography/begin}{
+ \cleardoublepage % with \cleardoublepage will get the right page number
+ \addcontentsline{toc}{chapter}{\protect 参考文献}
+ % \captce{Reference}
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries\protect\makebox[0em][l]{}Reference}
+ }
+}
+
+\AddToHook{env/thebibliography/end}{
+ \cleardoublepage
+}
+% --------------------------- equations&principles settings ------------------------
+% required packages:
+% - amsthm
+\newtheorem{theory}{定理}[section]
+\newtheorem{law}{定律}[section]
+\theoremstyle{definition}
+
+
+\NewDocumentEnvironment {abstract} { s }{
+ \bool_if:NTF \l__xmu_toc_abs_bool{
+ \IfBooleanTF {#1}{
+ \chapter*{摘要}
+ \addcontentsline{toc}{chapter}{\protect 摘要}
+ \captce{\bfseries 摘要}
+ }{
+ \chapter*{\bfseries Abstract}
+ \addcontentsline{toc}{chapter}{\protect Abstract}
+ \captce{\bfseries Abstract}
+ }
+ }{
+ \IfBooleanTF {#1}{
+ \chapter*{摘要}
+ }{
+ \chapter*{\bfseries Abstract}
+ }
+ }
+}{
+}
+
+%%============================关键词===========================%%
+
+%%关键词。
+
+\NewDocumentCommand\keywords { s m } {
+ \par\vspace{2ex}\noindent{\sffamily \bfseries
+ \IfBooleanTF {#1} {
+ 关键词:
+ }{
+ Keywords:~
+ }
+ } #2
+}
+
+
+\tl_new:N \l__xmu_author_tl
+\tl_new:N \l__xmu_title_tl
+\tl_new:N \l__xmu_date_tl
+\tl_new:N \l__xmu_class_tl
+\tl_new:N \l__xmu_studentnumber_tl
+\tl_new:N \l__xmu_department_tl
+\tl_new:N \l__xmu_major_tl
+\tl_new:N \l__xmu_advisor_tl
+\tl_new:N \l__xmu_otheradvisor_tl
+\tl_new:N \l__xmu_team_tl
+\tl_new:N \l__xmu_fundteam_tl
+\tl_new:N \l__xmu_degree_tl
+\tl_new:N \l__xmu_englishtitle_tl
+\tl_new:N \l__xmu_majorordouble_tl
+\tl_new:N \l__xmu_lab_tl
+\tl_new:N \l__xmu_classified_code_tl
+\tl_new:N \l__xmu_security_classification_tl
+\tl_new:N \l__xmu_UDC_tl
+\tl_new:N \l__xmu_submit_date_tl
+\tl_new:N \l__xmu_defense_date_tl
+\tl_new:N \l__xmu_conferred_date_tl
+\tl_new:N \l__xmu_chairman_tl
+\tl_new:N \l__xmu_referee_tl
+
+\keys_define:nn { xmu }{
+ author .tl_set:N = \l__xmu_author_tl ,
+ title .tl_set:N = \l__xmu_title_tl ,
+ date .tl_set:N = \l__xmu_date_tl ,
+ class .tl_set:N = \l__xmu_class_tl ,
+ studentnumber .tl_set:N = \l__xmu_studentnumber_tl ,
+ department .tl_set:N = \l__xmu_department_tl ,
+ major .tl_set:N = \l__xmu_major_tl ,
+ advisor .tl_set:N = \l__xmu_advisor_tl ,
+ otheradvisor .tl_set:N = \l__xmu_otheradvisor_tl ,
+ team .tl_set:N = \l__xmu_team_tl ,
+ fundteam .tl_set:N = \l__xmu_fundteam_tl ,
+ degree .tl_set:N = \l__xmu_degree_tl ,
+ englishtitle .tl_set:N = \l__xmu_englishtitle_tl ,
+ majorordouble .tl_set:N = \l__xmu_majorordouble_tl ,
+ lab .tl_set:N = \l__xmu_lab_tl ,
+ classified_code .tl_set:N = \l__xmu_classified_code_tl ,
+ security_classification .tl_set:N = \l__xmu_security_classification_tl ,
+ UDC .tl_set:N = \l__xmu_UDC_tl ,
+ submit_date .tl_set:N = \l__xmu_submit_date_tl ,
+ defense_date .tl_set:N = \l__xmu_defense_date_tl ,
+ conferred_date .tl_set:N = \l__xmu_conferred_date_tl ,
+ chairman .tl_set:N = \l__xmu_chairman_tl ,
+ referee .tl_set:N = \l__xmu_referee_tl ,
+}
+
+\NewDocumentCommand \xmusetup { m }{
+\keys_set:nn { xmu } { #1 }}
+
+% \end{macrocode}
+%</class>
+%<*logo>
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xmulogo}[2019/06/07 v0.4.1 xmulogo]
+
+\RequirePackage{xparse,tikz,xcolor}
+\usetikzlibrary{shapes,decorations.pathmorphing}%snakes
+
+\NewDocumentCommand\xmulogon{og}{%
+ \IfNoValueTF {#1}{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \begin{tikzpicture}[x=.5pt, y=.5pt]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \begin{tikzpicture}[x=.5pt, y=.5pt]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }
+ }{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=#1]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=#1]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }
+ }
+}
+
+\NewDocumentCommand\xmulogo{og}{%
+ \IfNoValueTF {#1}{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \resizebox{\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \resizebox{\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }
+ }{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \resizebox{#1\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \resizebox{#1\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }
+ }
+}
+
+
+
+\def \xmulineto(#1,#2)
+(#3,#4)(#5,#6){%
+.. controls (#1,#2) and (#3,#4) .. (#5,#6)}
+
+\def\xmuleftpart{\fill[xmucolor]
+(-198.87168726,580.82143114)
+--(-198.87168726,574.47209795)
+(291.27710014,259.09130201)
+--(291.27710014,252.74196881)
+(420.60109729,87.27663913)
+--(420.60109729,87.27663913)
+(420.32509729,8.74074753)
+--cycle
+(420.59576396,87.27663913)
+--(420.59576396,87.27663913)
+--(428.85176377,85.6511725)
+--(420.60109729,87.27663913)
+--cycle
+(420.32509729,8.74074753)
+ \xmulineto(420.32509729,8.74074753)
+(424.27309721,28.74597375)(423.22109723,40.49544016)
+ \xmulineto(422.13843059,52.61517323)
+(420.1490973,64.76570629)(421.77309726,73.11517277)
+ \xmulineto(422.89843057,78.94850598)
+(425.67976384,81.1203726)(428.85176377,85.6511725)
+--(420.60109729,87.27663913)
+--(420.32509729,8.74074753)
+--cycle
+(53.62270538,252.91263548)
+ \xmulineto(56.10657199,256.54196873)
+(58.5492386,260.18863532)(60.94510522,263.8753019)
+ \xmulineto(60.0653719,271.4899684)
+(48.24763883,277.57396827)(34.97163912,277.57396827)
+ \xmulineto(21.16910609,277.57396827)
+(8.92946636,271.00063508)(8.92946636,262.95930192)
+ \xmulineto(8.92946636,259.15130201)
+(11.6851863,255.68330208)(16.04403954,253.06863547)
+ \xmulineto(17.63310617,252.40730215)
+(19.21070614,252.0166355)(20.78937277,251.8806355)
+--(51.27323876,251.8806355)
+ \xmulineto(52.23723874,251.8806355)
+(52.76283873,252.42730215)(53.62270538,252.91263548)
+--cycle
+(20.78937277,213.09930302)
+ \xmulineto(27.47163929,220.41663619)
+(34.55443913,227.48996937)(40.456039,234.97930254)
+ \xmulineto(43.29977227,238.59396913)
+(46.04923888,242.25530238)(48.72110549,245.9593023)
+--(20.78937277,245.9593023)
+--cycle
+(19.82523946,146.78197115)
+ \xmulineto(33.26803916,131.44330482)
+(50.47163878,116.62037181)(52.20083874,95.11517229)
+ \xmulineto(52.24243874,91.41263904)
+(51.20083877,66.39650626)(53.42523872,64.12610631)
+ \xmulineto(54.44510536,63.09383966)
+(56.39870532,62.00583969)(59.51857192,63.67823965)
+ \xmulineto(59.51857192,63.67823965)
+(65.15337179,67.74077289)(71.29977166,70.85530616)
+ \xmulineto(71.14350499,76.00583938)
+(70.76803833,87.85530578)(70.16377168,100.67823883)
+ \xmulineto(69.68523836,110.83397194)
+(65.73723845,123.07410501)(59.46643858,132.21943814)
+ \xmulineto(53.81590538,140.45930462)
+(52.19563874,151.74997104)(53.21590539,161.33930416)
+ \xmulineto(53.21590539,161.33930416)
+(36.62270575,149.64597109)(19.82523946,146.78197115)
+--cycle
+(56.84097198,174.67797053)
+ \xmulineto(56.87737197,177.77663713)
+(57.07057197,193.69263678)(57.4503053,201.95396993)
+ \xmulineto(57.83577195,210.16196975)
+(62.90910517,217.86996958)(66.37217177,225.88596941)
+ \xmulineto(68.89297171,231.73530261)
+(70.00243835,237.78196914)(70.61177167,244.28730233)
+ \xmulineto(71.32523832,252.0366355)
+(71.10137166,260.37530198)(71.10137166,269.43263511)
+ \xmulineto(71.10137166,269.43263511)
+(59.10657193,249.45930222)(41.74763897,227.54196937)
+ \xmulineto(32.8409725,216.29263628)
+(19.12270614,204.34996988)(11.85185297,192.63130347)
+ \xmulineto(7.57061306,185.71397029)
+(2.64821317,172.95397057)(8.60654637,162.05797081)
+ \xmulineto(10.33570633,158.91263755)
+(12.42529295,155.88063762)(14.74763957,152.89663768)
+--(14.59617291,153.19797101)
+ \xmulineto(14.59617291,153.19797101)
+(40.08617234,152.96463768)(56.84097198,174.67797053)
+--cycle
+(120.80497056,8.74074753)
+ \xmulineto(116.66377066,17.00584068)
+(116.86230399,28.74597375)(117.91430396,40.49544016)
+ \xmulineto(118.99710394,52.61517323)
+(120.98150389,64.76570629)(119.36230393,73.11517277)
+ \xmulineto(118.23203729,78.94850598)
+(115.45603735,81.1203726)(112.28363742,85.6511725)
+ \xmulineto(104.60657092,96.64077226)
+(100.10657102,111.1886386)(108.87737083,122.37517169)
+ \xmulineto(114.5861707,129.66730486)
+(122.55443719,135.97930472)(122.60657053,143.38597122)
+ \xmulineto(122.66910386,151.78730437)
+(120.42523724,169.09397066)(101.42523766,173.05263724)
+--(61.01857188,173.24997057)
+ \xmulineto(59.36750525,165.95930406)
+(57.68003862,147.75530446)(61.50243854,141.22463794)
+ \xmulineto(67.60657174,130.7927715)
+(75.3675049,117.82357179)(76.22630488,102.3178388)
+--(76.9664382,73.31783944)
+ \xmulineto(77.36230486,73.4537061)
+(77.75857151,73.5793061)(78.14923817,73.69277276)
+ \xmulineto(78.14923817,73.69277276)
+(89.55443792,78.02983933)(95.27323779,66.21423959)
+ \xmulineto(99.09150438,58.31783977)
+(99.23723771,48.08863999)(102.03417098,39.47930685)
+ \xmulineto(104.47683759,31.94330701)
+(108.49190417,23.7553072)(113.3148374,17.43810733)
+ \xmulineto(114.8877707,15.37517405)
+(119.1533706,9.44334751)(120.80497056,8.74074753)
+--cycle
+(407.39309758,7.93814754)
+ \xmulineto(410.39843085,6.9537609)
+(413.60643078,6.7980409)(414.95576408,11.60481413)
+ \xmulineto(421.16376394,28.91677375)
+(413.78909744,50.59903994)(414.43976409,67.93237289)
+ \xmulineto(414.61709742,72.56317279)
+(415.37176407,76.88610602)(417.11176403,80.71943927)
+ \xmulineto(316.64376625,103.43810544)
+(224.81576827,103.42197211)(124.02377049,80.71943927)
+ \xmulineto(125.75817046,76.88610602)
+(126.51857044,72.56317279)(126.6904371,67.93237289)
+ \xmulineto(127.34670375,50.59903994)
+(119.97163725,28.91677375)(126.18003711,11.60481413)
+ \xmulineto(127.52897042,6.7980409)
+(130.73723701,6.9537609)(133.74243695,7.93814754)
+ \xmulineto(220.88243503,31.76050702)
+(320.28376617,31.75010702)(407.39309758,7.93814754)
+--cycle
+(420.60109729,87.27663913)
+ \xmulineto(428.85176377,85.6511725)
+(420.60109729,87.27663913)(420.60109729,87.27663913)
+--(420.60109729,87.27663913)
+--(420.32509729,8.74074753)
+ \xmulineto(420.32509729,8.74074753)
+(412.60109746,-0.36342161)(408.22643089,0.89126637)
+ \xmulineto(321.15843281,25.75530715)
+(219.94510171,25.74597382)(132.90910363,0.89126637)
+ \xmulineto(128.53417039,-0.36342161)
+(125.10657047,-0.18217094)(122.15857054,0.74595304)
+ \xmulineto(119.20550393,1.66730768)
+(116.72630399,3.33918765)(113.93470405,6.52200091)
+ \xmulineto(110.0237708,10.96470748)
+(105.28937091,17.36464067)(101.16910433,25.81784048)
+ \xmulineto(96.84150443,34.68344029)
+(94.23203782,44.04184008)(92.61177119,53.49543987)
+ \xmulineto(91.53883788,59.7553064)
+(89.57577125,66.0886396)(83.1065714,67.80330622)
+ \xmulineto(75.71590489,69.74597285)
+(65.01337179,58.41263976)(56.98670531,56.74077313)
+ \xmulineto(53.17430539,55.94330649)
+(49.44510547,56.69650647)(47.52377218,60.45943972)
+ \xmulineto(46.5133722,62.43237301)
+(46.55963887,65.86050627)(46.33577221,69.86050618)
+ \xmulineto(45.82523888,78.67250598)
+(46.12270554,90.26050573)(46.02377221,95.27143895)
+ \xmulineto(45.55963889,120.2298384)
+(4.97685312,143.90197121)(0.54404388,167.95397068)
+ \xmulineto(-1.20543475,177.46463714)
+(1.40914653,186.7553036)(6.31018642,194.70330343)
+ \xmulineto(8.59195971,198.40730334)
+(11.23727965,201.95930327)(14.07577292,205.41263652)
+--(14.08097292,205.47396986)
+--(14.08097292,247.66196893)
+ \xmulineto(7.2107064,251.36996884)
+(2.8305065,256.84996872)(2.8305065,262.95930192)
+ \xmulineto(2.8305065,274.07396834)
+(17.26283951,283.14596814)(34.97163912,283.14596814)
+ \xmulineto(48.64350549,283.14596814)
+(60.3721719,277.74063493)(64.99710513,270.1566351)
+ \xmulineto(68.69563838,275.9539683)
+(72.36750497,281.82330151)(76.06537155,287.74596804)
+--(76.34150488,287.74596804)
+--(77.01337153,247.2926356)
+ \xmulineto(77.13830486,239.7139691)
+(75.4919049,232.43796926)(72.66377163,225.62063608)
+ \xmulineto(68.76803838,216.27130295)
+(63.3252385,207.48996981)(63.57057183,197.33397004)
+--(63.73723849,180.44330374)
+--(96.19043777,180.44330374)
+ \xmulineto(109.23723749,180.44330374)
+(123.00763718,171.01130395)(127.34670375,157.02197092)
+ \xmulineto(129.52377037,149.98997108)
+(130.22110369,142.98997123)(128.54923706,138.69797133)
+ \xmulineto(126.34150378,133.04183812)
+(122.56537053,128.17823823)(118.70083728,123.58863833)
+ \xmulineto(115.06537069,119.27143842)
+(111.26283744,115.30330518)(111.32003744,107.93237201)
+ \xmulineto(111.36230411,101.72463881)
+(113.58617072,94.83917229)(120.6279039,87.11517247)
+ \xmulineto(228.1637682,110.40743862)
+(311.89843302,110.50583862)(420.59576396,87.27663913)
+--(420.60109729,87.27663913);}
+
+\def\xmumainpart{\fill[xmucolor]
+(619.15065115,982.09336173)
+ \xmulineto(618.69731782,982.04669506)
+(618.1879845,981.79736174)(617.70798451,981.41602841)
+ \xmulineto(617.18265119,980.96402842)
+(617.17198452,980.06269511)(617.62531785,978.79736181)
+ \xmulineto(618.10931784,975.17202857)
+(618.1039845,971.66669532)(617.62531785,968.29736207)
+ \xmulineto(617.52131785,965.45336214)
+(616.89598453,961.71336223)(615.67731789,957.12536234)
+ \xmulineto(611.49465132,941.1880294)
+(607.5466514,928.94269637)(603.91198482,920.29736325)
+ \xmulineto(600.82798488,911.81203013)
+(596.78665164,903.754697)(591.63598509,896.25469718)
+ \xmulineto(589.91731846,893.87469724)
+(588.96931848,891.5466973)(588.84398515,889.31203069)
+ \xmulineto(588.78665182,885.53069745)
+(589.12531848,882.77069751)(589.85998513,881.10403089)
+ \xmulineto(590.68798511,879.33336427)
+(591.79731842,879.03603094)(593.16131839,880.17203091)
+ \xmulineto(595.01598501,881.19736422)
+(596.68798498,883.19736417)(598.15598494,886.18269743)
+ \xmulineto(601.4893182,892.32269728)
+(604.24531814,898.93203045)(606.45331809,905.82269694)
+ \xmulineto(609.0519847,914.44803006)
+(611.68265131,922.96402985)(614.32265125,931.47336298)
+ \xmulineto(615.02131791,933.86002959)
+(615.69731789,936.22936286)(616.35465121,938.50002947)
+ \xmulineto(616.74531787,938.38536281)
+(617.13065119,938.27602948)(617.62531785,938.24536281)
+ \xmulineto(621.10931777,938.16136281)
+(626.55731765,937.40669616)(633.96398415,935.8746962)
+ \xmulineto(633.95331749,935.48402955)
+(634.20265082,934.72402956)(634.63998414,933.67202959)
+ \xmulineto(635.88531745,930.12002968)
+(637.83865074,929.35469636)(640.48398401,931.39069631)
+ \xmulineto(642.51598397,932.74936295)
+(643.86931727,934.41202957)(644.54665059,936.38002952)
+ \xmulineto(646.27065055,941.25069607)
+(648.13065051,946.33336261)(650.13065046,951.53602915)
+ \xmulineto(651.86931709,956.0826957)
+(654.09331704,959.60936228)(656.90665031,962.20269555)
+ \xmulineto(658.64531694,963.57869552)
+(659.09331693,965.20802881)(658.17198362,967.02669543)
+ \xmulineto(656.78131698,968.96402872)
+(654.83331703,971.13069533)(652.41598375,973.46402861)
+ \xmulineto(651.05198378,974.48936192)
+(649.56265048,974.82802857)(647.93198385,974.56269525)
+ \xmulineto(641.27598399,974.02669526)
+(634.37998414,974.08802859)(627.2759843,974.81736191)
+ \xmulineto(627.19731764,974.92136191)
+(627.06265097,975.13602857)(626.85465098,975.40669523)
+ \xmulineto(625.04131768,978.09869516)
+(622.8599844,980.23469511)(620.41598445,981.75469507)
+ \xmulineto(619.9893178,982.04136173)
+(619.60398447,982.14536173)(619.15065115,982.09336173)
+-- cycle
+(674.59864992,973.54669527)
+ \xmulineto(674.32798326,973.59869527)
+(674.04664994,973.57336194)(673.74931661,973.46402861)
+ \xmulineto(672.98398329,973.26536195)
+(672.7759833,972.43736197)(673.07331663,971.005362)
+ \xmulineto(673.67198328,967.32269543)
+(673.55198328,963.37469552)(672.73464997,959.06802896)
+ \xmulineto(671.33865,952.86936245)
+(669.5933167,946.65069594)(667.48398342,940.44802942)
+ \xmulineto(666.5626501,937.5160295)
+(666.25998344,934.41602957)(666.55731677,931.13602965)
+ \xmulineto(666.8026501,928.78669638)
+(667.29198342,927.22402975)(668.07865007,926.39602977)
+ \xmulineto(669.42665004,925.2920298)
+(670.63998335,926.03069645)(671.80264999,928.67736305)
+ \xmulineto(671.88531665,928.96936304)
+(671.99998332,929.16136304)(672.05731665,929.35469636)
+ \xmulineto(672.7079833,929.0680297)
+(673.59331661,928.83336304)(674.76531659,928.59336305)
+ \xmulineto(679.37464982,928.19336306)
+(686.53064966,926.74536309)(696.09864945,924.19336316)
+ \xmulineto(689.94264959,901.41203039)
+(684.15598305,882.38003086)(678.7453165,867.2186979)
+ \xmulineto(677.90664985,864.66136463)
+(676.96398321,862.91736467)(675.95331656,861.96936469)
+ \xmulineto(675.22931658,861.5733647)
+(673.98398327,861.9213647)(672.31198331,862.90136467)
+ \xmulineto(669.89598336,864.22936464)
+(667.58398341,865.54136461)(665.1973168,866.96403124)
+ \xmulineto(663.39065017,868.20269787)
+(662.32798353,868.36936454)(662.1506502,867.39069789)
+ \xmulineto(666.16131678,860.86936472)
+(669.20265004,855.37469819)(671.20798333,850.88003163)
+ \xmulineto(671.84931665,848.53603169)
+(672.93198329,846.91203173)(674.42664993,846.05736509)
+ \xmulineto(675.27064991,845.41203177)
+(676.18798322,845.40669844)(677.21864987,846.14003175)
+ \xmulineto(678.87998316,847.21869839)
+(681.04131645,849.01069835)(683.65598306,851.55736495)
+ \xmulineto(685.63998301,853.86403156)
+(687.00531632,856.65069816)(687.71864964,859.85469808)
+ \xmulineto(692.44264953,880.89069756)
+(699.56264937,908.13603022)(709.0519825,941.71336273)
+ \xmulineto(710.63064913,947.55202925)
+(712.46398242,951.60402915)(714.55198238,953.90669576)
+ \xmulineto(716.31731567,955.35469572)
+(716.734649,956.89069568)(715.82264902,958.39069565)
+ \xmulineto(714.24531572,960.80669559)
+(711.82798244,963.31736219)(708.45864918,965.92669546)
+ \xmulineto(706.85464921,967.13069543)
+(705.16664925,967.60936209)(703.46398262,967.36402876)
+ \xmulineto(699.08264939,966.46402878)
+(695.63064946,966.03069546)(693.13598285,966.01069546)
+ \xmulineto(690.29198291,966.12002879)
+(686.21864967,966.51602878)(680.94798312,967.1973621)
+ \xmulineto(679.37998315,969.63069537)
+(677.49998319,971.57869532)(675.35998324,973.12536195)
+ \xmulineto(675.10931658,973.35469528)
+(674.86398325,973.49469527)(674.59864992,973.54669527)
+-- cycle
+(629.13998426,970.58402868)
+ \xmulineto(632.92131751,970.41202868)
+(636.15598411,970.20269536)(638.78665071,970.07336202)
+ \xmulineto(642.5733173,969.90669536)
+(644.96931724,969.26002871)(646.06798389,968.13069541)
+ \xmulineto(646.74931721,967.29736209)
+(646.65065054,965.53069547)(645.72931723,962.70802887)
+ \xmulineto(642.99998395,954.72402907)
+(640.39598401,947.37469592)(637.85998407,940.78669608)
+ \xmulineto(637.51065074,939.86002944)
+(637.07865075,939.13069612)(636.50531743,938.58402947)
+ \xmulineto(636.03065078,939.43202945)
+(635.18798413,940.45336276)(633.96398415,941.63069606)
+ \xmulineto(632.73998418,942.6933627)
+(630.68798423,943.21869602)(627.78665096,943.24002935)
+ \xmulineto(624.29198437,943.21869602)
+(620.92131777,943.17202936)(617.79731784,943.15602936)
+ \xmulineto(618.89065115,946.95869593)
+(620.03598446,950.36936251)(621.1826511,953.22936244)
+ \xmulineto(626.11998433,952.83869578)
+(630.4586509,952.3226958)(634.13598415,951.79202914)
+ \xmulineto(636.39065077,951.74936248)
+(637.15065075,952.41202913)(636.50531743,953.74002909)
+ \xmulineto(635.91198411,955.25469572)
+(634.49465081,956.47869569)(632.18798419,957.464029)
+ \xmulineto(630.11465091,958.16669565)
+(627.1199843,958.42136231)(623.13065106,958.22402898)
+ \xmulineto(623.02665106,958.15069565)
+(622.91731773,958.12536232)(622.7919844,958.05202899)
+ \xmulineto(624.91198435,964.04136217)
+(626.52131765,968.16669541)(627.69731763,970.50002868)
+ \xmulineto(628.11998428,970.47869535)
+(628.61998427,970.52136201)(629.13998426,970.58402868)
+-- cycle
+(364.2599901,964.1506955)
+ \xmulineto(362.45332347,963.97869551)
+(360.92132351,963.36002886)(359.6879902,962.36936222)
+ \xmulineto(357.71865691,960.74936226)
+(358.01599024,959.36936229)(360.53599018,958.14002899)
+ \xmulineto(364.82799009,956.06802904)
+(367.57865669,953.31202911)(368.74532333,949.92669586)
+ \xmulineto(372.82265658,938.30669614)
+(375.97865651,927.96402973)(378.14532313,918.94269662)
+ \xmulineto(368.90665666,913.74536342)
+(359.08799021,908.30669688)(348.68265711,902.52136369)
+ \xmulineto(346.54665716,901.38536372)
+(346.65599049,900.22936375)(349.02132377,899.13603044)
+ \xmulineto(350.93199039,898.44803046)
+(352.95865702,898.13603047)(355.03065697,898.20269713)
+ \xmulineto(357.40132358,898.59336379)
+(359.28665688,899.29203044)(360.70265685,900.31736375)
+ \xmulineto(366.29199006,904.55736364)
+(372.63065658,908.63603021)(379.58398976,912.51069678)
+ \xmulineto(379.77598976,911.63603013)
+(379.96398975,910.71869682)(380.08798975,909.71869685)
+ \xmulineto(382.20265637,899.60403043)
+(382.4999897,890.40669733)(381.02132306,882.12003086)
+ \xmulineto(380.26532308,876.10403101)
+(378.34932312,870.03603116)(375.18265653,863.91736465)
+ \xmulineto(372.43732325,857.91203146)
+(367.25999003,850.31203165)(359.6039902,841.06269854)
+ \xmulineto(358.4426569,839.90669857)
+(357.75465691,839.01069859)(357.65599025,838.43736527)
+ \xmulineto(357.30265692,837.5933653)
+(358.0826569,837.3853653)(360.02665686,837.84403196)
+ \xmulineto(361.51599016,838.35469861)
+(364.86399009,840.89069855)(369.93198998,845.38003177)
+ \xmulineto(373.56265656,848.51069836)
+(377.62532314,853.4893649)(382.11998971,860.2760314)
+ \xmulineto(385.46932297,865.54669794)
+(387.79732291,871.0266978)(389.14532288,876.86936433)
+ \xmulineto(390.73998952,883.50003083)
+(391.18798951,891.2706973)(390.41598952,900.15069708)
+ \xmulineto(390.1826562,901.76003038)
+(389.99998953,903.406697)(389.8226562,905.14536363)
+ \xmulineto(393.06798947,902.1453637)
+(399.91198931,896.58403051)(410.47865575,888.46936404)
+ \xmulineto(422.08798883,879.74003092)
+(431.93198861,873.26003108)(439.8546551,868.82803119)
+ \xmulineto(443.56798835,866.55736458)
+(446.71332162,865.80669793)(449.33865489,866.71336458)
+ \xmulineto(456.82798806,869.94269783)
+(463.93732124,872.88003109)(470.58398776,875.59869769)
+ \xmulineto(473.46398769,876.69336433)
+(474.817321,877.65069764)(474.56265434,878.39603096)
+ \xmulineto(474.35998767,879.29736427)
+(472.43198772,879.90136425)(468.80665446,880.33869757)
+ \xmulineto(464.15065456,880.73469756)
+(459.24532134,881.12536422)(454.07865479,881.44269755)
+ \xmulineto(447.92665492,881.63603088)
+(442.8693217,882.43203086)(438.92132179,883.81203082)
+ \xmulineto(433.61998857,885.45336411)
+(425.89065541,889.14536402)(415.7293223,894.90136388)
+
+ \xmulineto(404.32265588,901.16136373)
+(395.34932275,906.64003026)(388.80665623,911.32269681)
+ \xmulineto(388.5573229,913.22936343)
+(388.23465624,915.10936338)(387.87998958,917.08269667)
+ \xmulineto(396.44798939,921.72936322)
+(408.06798913,927.05202975)(422.67198881,932.91202961)
+ \xmulineto(424.91198876,933.68269626)
+(427.06798872,934.4733629)(429.10398867,935.28136288)
+ \xmulineto(431.13998863,936.09336286)
+(432.1879886,936.97869618)(432.32265527,938.07869615)
+ \xmulineto(432.28665527,939.43736278)
+(431.19732196,940.57336275)(429.02132201,941.37469607)
+ \xmulineto(425.20265542,942.38002938)
+(422.00532216,942.80269603)(419.45332222,942.6453627)
+ \xmulineto(417.28132226,942.54669604)
+(415.31198897,941.81736272)(413.44265568,940.53069609)
+ \xmulineto(406.91732249,936.29736286)
+(397.90665603,930.70802966)(386.52665628,923.8546965)
+ \xmulineto(385.4946563,927.69736307)
+(384.46932299,931.53602964)(383.39065635,935.28136288)
+ \xmulineto(382.38532303,938.51602947)
+(381.57865639,941.45869606)(380.93732307,944.17202933)
+ \xmulineto(379.5413231,948.52669589)
+(378.77598978,953.57869577)(378.73465645,959.24002896)
+ \xmulineto(378.86398978,960.65602892)
+(378.31198979,961.6200289)(376.95865649,962.20269555)
+ \xmulineto(374.30265655,963.28136219)
+(370.72932329,963.90669551)(366.20799006,964.1506955)
+ \xmulineto(365.54132341,964.1826955)
+(364.86399009,964.2026955)(364.2599901,964.1506955)
+-- cycle
+(681.45331644,962.12002889)
+ \xmulineto(682.16131642,962.02136222)
+(683.05198307,961.95336223)(684.07864972,961.94802889)
+ \xmulineto(689.3066496,961.46936224)
+(694.50531615,961.18269558)(699.7399827,961.01602892)
+ \xmulineto(701.94798266,960.80269559)
+(703.10398263,960.09336227)(703.29198263,958.9013623)
+ \xmulineto(703.48398262,956.36402903)
+(703.32798262,953.29202911)(702.70264931,949.6720292)
+ \xmulineto(700.90131601,942.34402938)
+(699.00531605,935.24536288)(697.11464943,928.33869639)
+ \xmulineto(696.66664944,928.89602971)
+(696.12531612,929.58402969)(695.50531613,930.36936301)
+ \xmulineto(694.27064949,931.76536297)
+(692.13064954,932.54669628)(688.98931627,932.74536295)
+ \xmulineto(683.3853164,933.01069627)
+(678.23998318,933.46936293)(673.58398328,934.18269624)
+ \xmulineto(673.84931661,935.45336288)
+(674.13064994,936.86002951)(674.34398326,938.32802948)
+ \xmulineto(675.00531658,940.62002942)
+(675.69331657,943.12002936)(676.45864988,945.78136262)
+ \xmulineto(676.55731655,945.74936263)
+(676.81198321,945.66136263)(677.30664987,945.52669596)
+ \xmulineto(683.1973164,944.54136266)
+(688.28664962,943.69336268)(692.5413162,943.07336269)
+ \xmulineto(694.74931615,942.85469603)
+(695.70264946,943.47336268)(695.25064947,944.84936265)
+ \xmulineto(694.66131615,946.36936261)
+(693.28131618,947.60402925)(691.10398289,948.65602922)
+ \xmulineto(689.08264961,949.53069587)
+(686.05198301,949.98936252)(682.04664976,950.01069585)
+ \xmulineto(680.4426498,949.84936252)
+(678.9733165,949.64536253)(677.55731653,949.42136253)
+ \xmulineto(678.91198316,954.09869575)
+(680.17731647,958.36402898)(681.45331644,962.12002889)
+-- cycle
+(870.56797894,836.57336532)
+ \xmulineto(869.73997896,836.63603199)
+(869.0413123,836.16136533)(868.45331232,835.13603202)
+ \xmulineto(867.23464568,831.75469877)
+(864.29197908,828.53069885)(859.56264585,825.48403226)
+ \xmulineto(840.73464626,813.92669921)
+(825.73997993,806.43736606)(814.61464684,803.05203282)
+-- (813.42664686,802.71336616)
+ \xmulineto(802.8066471,799.70269956)
+(789.85998072,797.80669961)(774.65598105,797.0413663)
+ \xmulineto(773.82264774,797.09869963)
+(773.07331442,797.0213663)(772.45331443,796.78669964)
+ \xmulineto(771.42131446,796.36003298)
+(771.33864779,795.71869966)(772.20264777,795.01069968)
+ \xmulineto(774.57864772,792.70803307)
+(782.83331421,792.01603309)(797.00531389,792.80669973)
+ \xmulineto(800.23464715,793.16669973)
+(803.68798041,793.60936638)(807.33331367,794.16136637)
+ \xmulineto(823.24531331,797.47869962)
+(839.56264629,804.10403279)(856.25997925,813.97336588)
+ \xmulineto(861.17197914,816.92669914)
+(866.55197903,819.55736574)(872.3439789,821.92669902)
+ \xmulineto(873.28664554,819.13069908)
+(876.8119788,814.59336586)(882.92664533,808.30269935)
+ \xmulineto(890.10931184,801.32803286)
+(897.42131168,794.08803304)(904.85464485,786.63069989)
+ \xmulineto(909.17197809,782.61469999)
+(911.85997803,780.48936671)(912.97864467,780.19336671)
+ \xmulineto(913.97331131,779.91736672)
+(914.63997797,780.15070005)(915.01064462,780.8693667)
+ \xmulineto(915.56264461,781.95336667)
+(915.39064462,783.59336663)(914.5053113,785.86403324)
+ \xmulineto(913.50531132,788.28136651)
+(909.36397808,792.31203308)(901.97331158,797.88536628)
+ \xmulineto(890.25064517,808.25469935)
+(881.20264537,817.22403247)(874.96931217,824.89069894)
+ \xmulineto(874.75464551,825.18269894)
+(874.48397885,825.4693656)(874.12531219,825.65603226)
+ \xmulineto(874.37997885,831.25069879)
+(873.53597887,834.7866987)(871.49997892,836.32269866)
+ \xmulineto(871.19731226,836.46403199)
+(870.84397893,836.55203199)(870.56797894,836.57336532)
+-- cycle
+(182.42666078,835.30269869)
+ \xmulineto(180.81732748,835.55736535)
+(177.54666088,834.21869871)(172.52132766,831.32803212)
+ \xmulineto(171.14532769,830.39069881)
+(170.21332771,829.36003217)(169.81199439,828.10936553)
+ \xmulineto(168.16666109,823.48403231)
+(166.09866114,818.41603244)(163.63599452,813.0413659)
+ \xmulineto(162.63066121,811.40136594)
+(162.86399454,810.60936596)(164.22399451,810.58403263)
+ \xmulineto(165.61999448,810.90669929)
+(167.03066112,811.59869927)(168.45866108,812.61469925)
+ \xmulineto(170.03066105,813.87469921)
+(170.99999436,815.33869918)(171.33866102,817.0213658)
+ \xmulineto(172.130661,819.10936575)
+(172.90666099,821.32803236)(173.7079943,823.62003231)
+ \xmulineto(173.9319943,824.19736563)
+(174.19332762,824.48403229)(174.46932762,824.55203228)
+ \xmulineto(175.4373276,825.01069894)
+(176.84399423,824.57336562)(178.70266086,823.19736565)
+ \xmulineto(180.29199416,821.77603235)
+(181.94799412,820.15603239)(183.60932742,818.4586991)
+ \xmulineto(182.68266077,818.30669911)
+(181.76532746,817.71869912)(180.81732748,816.76536581)
+ \xmulineto(179.51066084,815.34936584)
+(178.18266087,813.0213659)(176.92132756,809.56803265)
+ \xmulineto(176.43732757,807.64536604)
+(175.98399425,805.70803275)(175.4013276,803.8120328)
+ \xmulineto(174.82266094,802.67203282)
+(175.52666093,802.2866995)(177.59866088,802.79736615)
+ \xmulineto(178.16132754,802.93203282)
+(178.63999419,803.46403281)(179.20799418,804.40669945)
+ \xmulineto(181.81732746,808.89069934)
+(184.10399407,812.80269924)(185.98399403,816.08803249)
+ \xmulineto(187.74532733,814.20803254)
+(189.81199395,812.13069926)(192.07866056,809.90669931)
+ \xmulineto(191.36932725,809.53069932)
+(190.71866059,808.973366)(190.04666061,808.21336602)
+ \xmulineto(188.78666064,806.74003272)
+(187.63599399,804.30669945)(186.57332735,800.8493662)
+ \xmulineto(186.07332736,798.69736626)
+(185.62532737,796.65603297)(185.30266071,794.75469969)
+ \xmulineto(184.89066072,793.48403305)
+(185.57332737,793.26536639)(187.42132733,793.99469971)
+ \xmulineto(187.96399399,794.14003304)
+(188.57866064,794.77603302)(189.11466063,795.85469966)
+ \xmulineto(191.28666058,800.16136622)
+(193.09866054,803.90136613)(194.70266051,807.11469938)
+ \xmulineto(197.08266045,804.49469945)
+(199.77066039,801.74536618)(202.65599366,798.81736625)
+ \xmulineto(201.60399369,796.8853663)
+(200.68799371,794.80269969)(199.86399372,792.72403307)
+ \xmulineto(195.26532716,783.25069997)
+(189.63066062,770.94803361)(182.9319941,755.72936732)
+ \xmulineto(182.72932744,755.39603399)
+(182.60399411,755.07336733)(182.59332744,754.71336734)
+ \xmulineto(178.1719942,756.2453673)
+(174.18799429,757.63603394)(170.5733277,759.03070057)
+ \xmulineto(170.61999437,759.09870057)
+(170.6613277,759.19736723)(170.6613277,759.19736723)
+ \xmulineto(172.46399433,763.48936713)
+(174.02666096,767.33336703)(175.4013276,770.71336695)
+ \xmulineto(176.03066092,772.5413669)
+(175.66132759,773.38003355)(174.30266096,773.25070022)
+ \xmulineto(172.92666099,772.92136689)
+(171.50532768,771.95870025)(170.06799438,770.37470029)
+ \xmulineto(168.99466107,768.81736699)
+(168.09866109,766.28136706)(167.35999444,762.75470048)
+ \xmulineto(167.21332778,761.79203383)
+(167.21866111,760.93736719)(167.27599444,760.30270054)
+ \xmulineto(165.46399448,760.95336719)
+(163.84399452,761.64003384)(162.44799455,762.24536716)
+ \xmulineto(161.17199458,762.66670048)
+(160.12532793,763.09336714)(159.14532796,763.60403379)
+ \xmulineto(160.73466125,768.70803366)
+(162.15599456,773.05736689)(163.46399453,776.72403347)
+ \xmulineto(164.04666118,778.46403342)
+(163.72932785,779.27070007)(162.44799455,779.09336674)
+ \xmulineto(161.10932791,778.86003341)
+(159.84932794,777.89603344)(158.63999463,776.30270014)
+ \xmulineto(157.55199466,774.71870018)
+(156.80666134,772.36003357)(156.35466135,769.10403365)
+ \xmulineto(156.19332802,767.70803369)
+(156.03066136,766.30270039)(155.93199469,764.95870042)
+ \xmulineto(154.25999473,765.8547004)
+(153.12532809,766.45336705)(152.45866144,766.73470038)
+ \xmulineto(151.45866146,767.34936703)
+(150.50532815,767.59870036)(149.74932816,767.49470036)
+ \xmulineto(149.7026615,769.7347003)
+(149.6826615,771.69336692)(149.58399483,773.25070022)
+ \xmulineto(149.4946615,774.82803351)
+(149.44799484,776.41203347)(149.41199484,778.0787001)
+ \xmulineto(148.96932818,779.84936672)
+(148.83866152,781.70803334)(149.07332818,783.66669996)
+ \xmulineto(149.32266151,785.39603325)
+(148.65599485,786.31736656)(147.04132822,786.37469989)
+ \xmulineto(145.43199492,786.18803323)
+(143.65066163,785.44803325)(141.70799501,784.17203328)
+ \xmulineto(139.85999505,783.05736664)
+(138.79199507,782.06803333)(138.57866174,781.12536669)
+
+ \xmulineto(138.14532842,780.21870005)
+(138.45332841,779.71336672)(139.50532839,779.5160334)
+ \xmulineto(140.78132836,779.10403341)
+(141.859995,777.97336677)(142.63999499,776.21336681)
+ \xmulineto(143.65599496,774.78670018)
+(144.46399495,773.28670022)(145.17732826,771.55736693)
+ \xmulineto(145.74532825,770.0467003)
+(146.3639949,768.48403367)(147.04132822,766.90136704)
+ \xmulineto(144.78666161,765.7027004)
+(142.96399498,764.14003378)(141.45332835,762.24536716)
+ \xmulineto(140.5106617,761.29736718)
+(140.18799504,760.32803387)(140.43732837,759.36936723)
+ \xmulineto(140.6666617,758.42136725)
+(141.47866168,757.9587006)(142.97866165,758.09870059)
+ \xmulineto(146.7599949,758.36936725)
+(150.56799481,758.25070059)(154.40666139,757.67736727)
+ \xmulineto(157.91732798,756.91736729)
+(166.53599446,754.23470069)(180.22399416,749.63603413)
+ \xmulineto(178.32266087,745.76003423)
+(176.45332757,742.02670099)(174.63999428,738.45870108)
+ \xmulineto(174.42666095,738.10936775)
+(174.39599429,737.81203443)(174.46932762,737.5267011)
+ \xmulineto(174.32799429,737.4947011)
+(174.13599429,737.54136777)(173.87466096,737.69736776)
+ \xmulineto(171.48399435,737.99470109)
+(169.61466106,737.87470109)(168.29199442,737.27603444)
+ \xmulineto(166.37466113,736.58803446)
+(166.41599446,735.54136782)(168.37466109,734.14003452)
+ \xmulineto(168.93199441,733.92136786)
+(169.55732773,733.54136786)(170.23466104,733.12536787)
+ \xmulineto(171.80266101,732.0573679)
+(172.91199432,730.8280346)(173.53599431,729.40136797)
+ \xmulineto(174.75466095,726.7760347)
+(175.83332759,723.68803477)(176.8386609,720.17203486)
+ \xmulineto(177.22932756,718.88536823)
+(178.40666086,717.82803492)(180.31199416,717.12536827)
+ \xmulineto(182.81732743,716.07870163)
+(184.89066072,715.60403497)(186.66132735,715.60403497)
+ \xmulineto(189.46399395,715.39070165)
+(190.27599394,716.78136828)(189.03066063,719.74936821)
+ \xmulineto(187.93732732,722.18803481)
+(186.19732736,724.69336808)(183.78132741,727.45336802)
+ \xmulineto(180.87999414,730.74936793)
+(178.65599419,733.56803453)(177.17732756,735.74936781)
+ \xmulineto(180.50532748,736.98403445)
+(182.72932744,739.16670106)(183.78132741,742.27070098)
+ \xmulineto(186.03599403,749.99470079)
+(188.7293273,757.6307006)(191.82266057,765.20803375)
+ \xmulineto(195.44266049,773.66136687)
+(200.45332705,784.37469994)(206.72399357,797.38003296)
+ \xmulineto(210.53599349,805.35469943)
+(213.1826601,810.16669931)(214.76532673,811.77069927)
+ \xmulineto(216.35466003,812.66136591)
+(217.44799334,812.89603257)(217.97865999,812.44803258)
+ \xmulineto(218.38532665,812.32269925)
+(218.87999331,811.65069927)(219.58799329,810.50003263)
+ \xmulineto(221.09865992,808.17203269)
+(222.69732655,805.86003275)(224.24532652,803.39069947)
+ \xmulineto(224.99999317,802.12536617)
+(225.63999316,801.64536618)(226.27599314,801.94803284)
+ \xmulineto(226.98399313,802.32803283)
+(227.33865979,803.44269947)(227.37465978,805.42136609)
+ \xmulineto(227.53599311,811.6400326)
+(228.3959931,816.86403247)(229.9173264,821.08269904)
+ \xmulineto(231.01599304,824.60936562)
+(231.25999303,826.58403223)(230.51065972,826.92136556)
+ \xmulineto(229.60399307,827.36003222)
+(224.93199317,826.01069892)(216.54132669,822.94269899)
+ \xmulineto(214.18266008,822.16669901)
+(212.41599345,820.70269905)(211.29199347,818.4586991)
+ \xmulineto(209.43199351,814.67736586)
+(207.63066022,810.63603263)(205.87466026,806.43736606)
+ \xmulineto(194.51599384,817.70269912)
+(187.379994,826.48936557)(184.45866073,832.84936541)
+ \xmulineto(184.20799407,834.16136538)
+(183.51066075,834.96936536)(182.42666078,835.30269869)
+-- cycle
+(865.99464571,812.53069925)
+ \xmulineto(865.66664571,812.36936592)
+(865.44264572,811.83336593)(865.31731239,811.01069929)
+ \xmulineto(865.17197906,807.8600327)
+(866.53597903,805.22403276)(869.37997896,803.05203282)
+ \xmulineto(871.38531225,801.71336618)
+(873.50531221,799.93736623)(875.64531216,797.80269961)
+ \xmulineto(874.06264553,796.29203298)
+(870.46397894,794.80669969)(864.97864573,793.22936639)
+ \xmulineto(863.40131243,795.21869968)
+(861.85997913,797.00003296)(860.23997917,798.73469959)
+ \xmulineto(860.27064583,800.21869955)
+(859.96397917,801.67203285)(859.39597918,803.05203282)
+ \xmulineto(859.08797919,803.61469947)
+(858.60931253,803.92669946)(857.95331255,803.89603279)
+ \xmulineto(857.60931256,803.75469946)
+(857.2186459,803.26536614)(856.85464591,802.54136616)
+ \xmulineto(852.49997934,795.94269966)
+(845.95864615,790.90669978)(837.13064634,787.30669987)
+ \xmulineto(835.42131305,786.71869989)
+(834.12531307,785.89603324)(833.32264643,784.8493666)
+ \xmulineto(831.94797979,783.04669998)
+(831.20264647,781.50536668)(831.03597981,780.36403338)
+ \xmulineto(830.68264648,779.3120334)
+(831.06264648,778.79736675)(832.21864645,778.75470008)
+ \xmulineto(832.72931311,778.67736675)
+(833.39064642,778.80670008)(834.08264641,779.09336674)
+ \xmulineto(834.48931307,777.93203344)
+(835.15597972,776.70803347)(836.19731303,775.45336683)
+ \xmulineto(830.44264649,771.19736694)
+(819.99998005,770.69336695)(804.87464705,773.9267002)
+ \xmulineto(804.63998039,774.09336686)
+(804.3599804,774.19736686)(804.03064707,774.18270019)
+ \xmulineto(799.6359805,775.09870017)
+(792.75464732,777.32803345)(783.37464753,780.8693667)
+ \xmulineto(782.70798087,781.16670002)
+(782.48398088,780.93736669)(782.69731421,780.19336671)
+ \xmulineto(786.14531413,775.53070016)
+(794.88531394,771.46936693)(808.94264696,768.00536701)
+ \xmulineto(809.28664696,768.14536701)
+(809.70798028,768.08803368)(810.1253136,767.83336702)
+ \xmulineto(813.97864685,767.19336703)
+(819.03064674,766.47870038)(825.27597994,765.8027004)
+ \xmulineto(825.08797994,764.53603377)
+(824.52131329,758.70803391)(823.67197997,748.2813675)
+ \xmulineto(812.64531355,749.93203413)
+(802.58798044,754.18803402)(793.44798064,761.06270052)
+ \xmulineto(792.89064732,761.66136717)
+(792.45864733,761.8387005)(792.093314,761.56803384)
+ \xmulineto(791.80264734,761.35470051)
+(791.78131401,760.91736719)(792.01064734,760.30270054)
+ \xmulineto(797.70264721,750.31736745)
+(808.14531365,744.16670094)(823.33331331,741.76003433)
+ \xmulineto(822.29198,724.43203476)
+(822.46398,714.29736834)(823.83864663,711.36936841)
+ \xmulineto(826.40131324,706.83870186)
+(831.54664646,701.58403532)(839.33331296,695.6253688)
+ \xmulineto(840.59331293,694.52670216)
+(841.35464625,694.04136884)(841.70264624,694.18270217)
+ \xmulineto(842.26531289,694.48936883)
+(842.30264623,695.33336881)(841.78664624,696.64003544)
+ \xmulineto(839.82797962,701.72403532)
+(837.76531299,707.11470185)(835.52131304,712.89603504)
+ \xmulineto(832.95864643,719.55736821)
+(831.24531314,725.74936806)(830.35997982,731.51603458)
+ \xmulineto(829.8546465,734.6360345)
+(829.37997985,737.81203443)(829.00531319,740.91203435)
+ \xmulineto(832.53597978,740.70803435)
+(836.60931302,740.51070103)(841.19331292,740.40670103)
+ \xmulineto(843.91197953,740.3853677)
+(846.44797947,739.86403438)(848.81197942,738.79736773)
+ \xmulineto(849.91197939,737.92136776)
+(850.82264604,737.74003443)(851.60397936,738.20270108)
+ \xmulineto(852.530646,738.7760344)
+(852.99464599,740.41203436)(852.95864599,743.19736763)
+ \xmulineto(853.16664599,746.72936754)
+(852.91197933,748.97336748)(852.28131267,749.97336746)
+ \xmulineto(851.74531269,750.70270077)
+(851.03597937,751.38536742)(850.08264606,751.91736741)
+ \xmulineto(849.14531274,752.57870073)
+(844.63064618,756.5213673)(836.45331302,763.77070045)
+ \xmulineto(836.13064636,764.20803377)
+(835.82264637,764.57870043)(835.60397971,764.86936709)
+ \xmulineto(837.08264634,763.93736711)
+(838.25997965,764.89070042)(839.0786463,767.74936702)
+ \xmulineto(839.63597962,770.19336696)
+(839.55197962,771.86936692)(838.9066463,772.7453669)
+ \xmulineto(845.61997949,766.10403373)
+(851.42131269,759.96936721)(856.34397925,754.37470068)
+ \xmulineto(856.32797925,754.25070069)
+(856.28664592,754.00536736)(856.17731259,753.69736737)
+ \xmulineto(854.96931261,751.67736742)
+(854.62531262,750.42670078)(855.07864595,749.97336746)
+ \xmulineto(855.72397926,749.09870081)
+(857.3386459,748.91736749)(859.98397917,749.29736748)
+ \xmulineto(862.06797913,749.36936747)
+(863.72397909,749.86003413)(864.97864573,750.90136744)
+ \xmulineto(873.51064554,758.56270058)
+(879.81197873,762.34936715)(883.94264531,762.24536716)
+ \xmulineto(885.42664528,762.21870049)
+(886.38531192,762.72403381)(886.73464525,763.77070045)
+ \xmulineto(886.98931191,766.77603371)
+(886.68264525,770.35470029)(885.80664527,774.43736686)
+ \xmulineto(885.54131194,775.70803349)
+(884.56797863,776.92670013)(882.92664533,778.0787001)
+ \xmulineto(879.06797875,780.40670004)
+(875.04664551,783.5520333)(870.9066456,787.47336653)
+ \xmulineto(869.97331228,788.58403317)
+(868.97864564,789.51603315)(867.859979,790.26536646)
+ \xmulineto(868.20264566,790.41203313)
+(868.60931231,790.39603313)(869.0413123,790.26536646)
+ \xmulineto(870.25464561,790.1506998)
+(871.67731225,790.09336647)(873.35997888,790.0986998)
+ \xmulineto(874.01597886,790.1306998)
+(874.87464551,790.05203314)(875.81731216,789.84403314)
+ \xmulineto(877.11997879,789.45336648)
+(877.81197878,789.74936648)(878.01597877,790.69336645)
+ \xmulineto(878.4213121,791.66669976)
+(878.72397876,793.04669973)(878.86397875,794.83869968)
+ \xmulineto(882.02131202,793.0053664)
+(888.47331188,785.9946999)(898.25064499,773.84403354)
+ \xmulineto(900.67197827,770.56803362)
+(902.31731157,768.98403366)(903.24531155,769.10403365)
+ \xmulineto(904.1879782,769.35470031)
+(904.70797818,770.25470029)(904.68264485,771.81203359)
+ \xmulineto(904.49997819,777.08803346)
+(902.06797824,781.28136669)(897.48931168,784.42669994)
+
+ \xmulineto(894.35464508,787.2920332)
+(890.34931183,790.84403312)(885.46931194,795.01069968)
+ \xmulineto(879.88531207,800.12003289)
+(873.86397886,805.71869942)(867.34931234,811.93736593)
+ \xmulineto(866.81197902,812.44269925)
+(866.32797903,812.69336591)(865.99464571,812.53069925)
+-- cycle
+(159.48399462,811.01069929)
+ \xmulineto(158.75999463,811.01603262)
+(157.82266132,810.97336595)(156.69332801,810.83869929)
+ \xmulineto(154.80266138,810.22936597)
+(153.45332808,809.47869932)(152.63066143,808.72403268)
+ \xmulineto(151.91732812,807.74936603)
+(152.20266144,807.07336605)(153.55732808,806.60403273)
+ \xmulineto(154.72932805,806.2186994)
+(155.59866137,805.56269942)(156.09866136,804.66136611)
+ \xmulineto(157.65599466,801.86003284)
+(158.94799463,798.94803292)(159.99466127,795.85469966)
+ \xmulineto(159.76532794,795.66669966)
+(159.44799462,795.42136634)(159.06266129,795.17736634)
+ \xmulineto(155.71332803,792.18803308)
+(153.21332809,789.87469981)(151.52666146,788.23469985)
+ \xmulineto(151.1199948,787.76536653)
+(151.14532813,787.35469987)(151.69732812,787.13603321)
+ \xmulineto(152.34399477,786.86403321)
+(153.03599476,786.91736655)(153.72932808,787.30669987)
+ \xmulineto(156.08799469,788.68269984)
+(158.65599463,790.07336647)(161.34932791,791.45336643)
+ \xmulineto(162.07866122,789.15069983)
+(162.68266121,786.60936655)(163.20799453,783.83336662)
+ \xmulineto(163.2026612,783.03069998)
+(163.29732786,782.50536666)(163.54666119,782.14003333)
+ \xmulineto(163.92666118,781.43736668)
+(164.35466117,781.46403335)(164.81732783,782.22403333)
+ \xmulineto(165.17732782,782.81736665)
+(165.41599448,784.10403328)(165.41199448,786.2026999)
+ \xmulineto(165.45866115,788.05736652)
+(165.33332782,790.37469979)(165.07332783,793.22936639)
+ \xmulineto(167.07866111,794.2186997)
+(169.3799944,795.30669967)(171.92666101,796.44803298)
+ \xmulineto(173.05732765,796.92669963)
+(173.9119943,797.48403295)(174.55199428,798.14003294)
+ \xmulineto(174.76532761,798.48403293)
+(174.68799428,799.06803291)(174.30266096,799.74936623)
+ \xmulineto(173.92132763,800.45869955)
+(172.43199433,800.93203287)(169.89599439,801.18803286)
+ \xmulineto(168.56266108,801.31203286)
+(167.32266111,801.03069953)(166.25466113,800.42669955)
+ \xmulineto(165.59332781,800.11469955)
+(164.99999449,799.7600329)(164.47866117,799.24003291)
+ \xmulineto(164.07866118,800.89069954)
+(163.67732786,802.60936616)(163.29732786,804.48936611)
+ \xmulineto(162.69732788,806.34936607)
+(162.45866122,807.8600327)(162.53066121,808.97869934)
+ \xmulineto(162.41199455,809.89603265)
+(161.87466123,810.55203263)(161.01066125,810.83869929)
+ \xmulineto(160.68799459,810.97336595)
+(160.21332793,811.00536595)(159.48399462,811.01069929)
+-- cycle
+(253.9586592,804.91203277)
+ \xmulineto(253.49465921,804.8493661)
+(252.98399255,804.76536611)(252.43199257,804.57336611)
+ \xmulineto(248.99999264,803.16669948)
+(246.25465937,801.68269952)(244.22399275,800.25469955)
+ \xmulineto(242.54132612,798.82803292)
+(241.29732614,797.09869963)(240.49999283,795.01069968)
+ \xmulineto(237.43732623,786.93736655)
+(233.13065966,776.42670014)(227.63065978,763.51603379)
+ \xmulineto(227.22932645,763.64003379)
+(226.78132646,763.74936712)(226.27599314,763.85470045)
+ \xmulineto(224.61465985,764.02670045)
+(223.02132655,763.88536712)(221.45332658,763.43203379)
+ \xmulineto(221.18799325,767.21870037)
+(220.92132659,771.21336693)(220.68799327,775.45336683)
+ \xmulineto(220.31199327,779.99470005)
+(220.5933266,783.5880333)(221.45332658,786.12003323)
+ \xmulineto(221.91199324,788.05736652)
+(221.36932658,789.17203316)(219.84399328,789.50536648)
+ \xmulineto(218.30265998,790.0826998)
+(214.36932674,788.71869984)(207.98932688,785.36003325)
+ \xmulineto(206.20799358,784.35469994)
+(205.02666028,782.76536665)(204.52132696,780.62003337)
+ \xmulineto(202.97866032,774.40136686)
+(200.8119937,766.77070038)(197.99999377,757.59336727)
+ \xmulineto(197.32266045,755.104034)
+(195.31199383,751.52670075)(191.90666057,746.92670087)
+ \xmulineto(190.67732726,745.09336758)
+(191.09332725,744.03070094)(193.09332721,743.62536762)
+ \xmulineto(194.54132718,743.55203428)
+(196.17199381,743.92136761)(197.99999377,744.80670092)
+ \xmulineto(201.11466036,746.42136755)
+(202.71866033,749.09336748)(202.82799366,752.76536739)
+ \xmulineto(203.37999365,755.00536733)
+(205.08266028,762.02670049)(207.98932688,773.9267002)
+ \xmulineto(208.34932687,775.24536684)
+(209.11999352,776.23470014)(210.2759935,776.80670013)
+ \xmulineto(211.4893268,777.47336678)
+(212.53066011,777.16670012)(213.32266009,775.96403348)
+ \xmulineto(215.00532672,771.79736692)
+(216.87999335,767.2600337)(219.08265997,762.41603382)
+ \xmulineto(217.97332666,761.92136716)
+(216.84399335,761.26536718)(215.78132671,760.30270054)
+ \xmulineto(214.08799341,758.84403391)
+(213.33866009,757.53070061)(213.41199343,756.32270064)
+ \xmulineto(213.33866009,754.82803401)
+(214.19332674,754.36003402)(216.03066004,754.880034)
+ \xmulineto(218.53065998,755.93203398)
+(221.28665992,756.30670064)(224.24532652,756.15070064)
+ \xmulineto(217.64532667,742.27070098)
+(210.54666016,727.29736802)(202.91199366,711.11470175)
+ \xmulineto(201.85466035,709.18803513)
+(202.58799366,708.37470182)(205.03066028,708.74536848)
+ \xmulineto(207.09866023,709.2507018)
+(208.87466019,710.14003511)(210.35999349,711.45336841)
+ \xmulineto(212.09332679,712.96936837)
+(213.19332676,714.64536833)(213.66132675,716.36403496)
+ \xmulineto(216.85999335,726.8120347)
+(221.17732659,737.43736777)(226.6146598,748.2813675)
+ \xmulineto(227.49999312,750.31203412)
+(228.49465976,752.48403406)(229.6613264,754.79736734)
+ \xmulineto(233.68799298,753.15603405)
+(237.4479929,751.14536743)(240.92132615,748.78670082)
+ \xmulineto(244.6826594,746.16670089)
+(247.40665934,743.51070095)(248.96399264,740.91736768)
+ \xmulineto(250.42665928,738.49470108)
+(249.99999262,735.92670114)(247.77599267,733.20803454)
+ \xmulineto(245.80665938,730.76536793)
+(243.87999275,728.50003466)(241.85465947,726.35470138)
+ \xmulineto(240.96399282,725.48403473)
+(241.09865948,724.95870141)(242.35999279,724.91736808)
+ \xmulineto(243.15065944,724.88536808)
+(244.56799274,725.4267014)(246.59332603,726.43736804)
+ \xmulineto(251.59332592,728.30270133)
+(255.48932583,729.17203464)(258.35999244,729.06270131)
+ \xmulineto(260.40665906,728.98403464)
+(261.77599236,729.67203463)(262.33865901,731.17736792)
+ \xmulineto(262.926659,732.34936789)
+(262.72932567,734.80270117)(261.74532569,738.54136774)
+ \xmulineto(260.91199238,741.98403432)
+(258.97332575,745.18270091)(255.98932582,748.1933675)
+ \xmulineto(252.48399256,751.82803408)
+(247.73465934,755.26536733)(241.68265947,758.35470059)
+ \xmulineto(238.63065954,759.88003388)
+(235.86399293,761.04670052)(233.38532632,761.9947005)
+ \xmulineto(237.97865955,770.86403361)
+(243.98932609,781.11470002)(251.41599259,792.72403307)
+ \xmulineto(253.06799255,795.22403301)
+(254.56265919,797.62536628)(255.90665916,799.83336623)
+ \xmulineto(257.08265913,801.57336619)
+(257.41599246,802.91203282)(256.9213258,803.8120328)
+ \xmulineto(256.35999248,804.76536611)
+(255.3439925,805.10403276)(253.9586592,804.91203277)
+-- cycle
+(178.19332754,796.10936632)
+ \xmulineto(177.50532755,796.08803299)
+(176.6146609,796.02669966)(175.56799426,795.85469966)
+ \xmulineto(173.8599943,795.36936634)
+(172.67732766,794.63069969)(172.01599434,793.74003305)
+ \xmulineto(171.40666102,792.9373664)
+(171.71866101,792.29736641)(172.94799432,791.79203309)
+ \xmulineto(174.18799429,791.5160331)
+(175.06799427,790.91736645)(175.56799426,790.01603314)
+ \xmulineto(176.42666091,788.32803318)
+(177.31732756,786.52669989)(178.3639942,784.5933666)
+ \xmulineto(175.1453276,782.36403333)
+(172.78666099,780.47870004)(171.16666102,779.01070008)
+ \xmulineto(170.9013277,778.72403342)
+(170.94799436,778.40136676)(171.42132769,777.9947001)
+ \xmulineto(172.01066101,777.63603344)
+(172.67732766,777.65603344)(173.45332764,777.9947001)
+ \xmulineto(175.46399426,778.97870008)
+(177.65066088,779.92136672)(179.9733275,780.8693667)
+ \xmulineto(180.0053275,780.7293667)
+(180.10399416,780.5573667)(180.22399416,780.36403338)
+ \xmulineto(181.3746608,777.08803346)
+(182.36399411,773.41203355)(183.27066076,769.36003365)
+ \xmulineto(183.26532742,768.55203367)
+(183.40132742,767.96403368)(183.69732741,767.66670036)
+ \xmulineto(184.05199407,767.11470037)
+(184.4533274,767.21870037)(184.87999406,767.91736702)
+ \xmulineto(185.23999405,768.51070033)
+(185.39066071,769.7187003)(185.21866071,771.55736693)
+ \xmulineto(185.31199405,773.62536688)
+(185.05199405,776.09336681)(184.5413274,779.09336674)
+ \xmulineto(184.29199407,780.05203338)
+(184.10932741,781.21336669)(183.94799408,782.47869999)
+ \xmulineto(186.22399403,783.30669997)
+(188.68799397,784.26536661)(191.40132724,785.27069992)
+ \xmulineto(192.68266055,785.66136658)
+(193.63599386,786.2546999)(194.19332718,786.96936655)
+ \xmulineto(194.39066051,787.2920332)
+(194.31732718,787.74936653)(194.02666052,788.40669984)
+ \xmulineto(193.71866053,789.27603316)
+(192.32799389,789.84403314)(189.79199395,790.0986998)
+ \xmulineto(188.56799397,790.39603313)
+(187.31732733,790.29203313)(186.06799403,789.76003314)
+ \xmulineto(185.09332738,789.54669982)
+(184.00532741,788.86003317)(182.68266077,787.81203319)
+ \xmulineto(182.35466078,788.45869984)
+(182.13599412,789.16136649)(182.00532745,789.92669981)
+ \xmulineto(181.36399413,791.72936643)
+(181.07866081,793.24536639)(181.07332747,794.41603303)
+ \xmulineto(180.88532748,795.25069967)
+(180.40132749,795.73469966)(179.71866084,795.93736632)
+ \xmulineto(179.39599418,796.07336632)
+(178.87999419,796.13069965)(178.19332754,796.10936632)
+-- cycle
+(858.37997921,794.58403302)
+ \xmulineto(858.70264587,794.1506997)
+(859.11464586,793.68803305)(859.56264585,793.22936639)
+
+ \xmulineto(866.85997902,787.02136654)
+(872.95331222,781.41203335)(877.84931211,776.4693668)
+ \xmulineto(879.73997874,774.82803351)
+(880.36931205,773.37470021)(879.70797874,771.98403358)
+ \xmulineto(878.96931209,769.63070031)
+(872.84931222,764.86003376)(861.42664581,757.76003393)
+ \xmulineto(860.82797915,757.65603394)
+(860.18797917,757.41203394)(859.47864585,757.00003395)
+ \xmulineto(859.47864585,757.45336727)
+(859.39064585,757.94803393)(859.13997919,758.43736725)
+ \xmulineto(858.71331253,759.47336722)
+(851.33864603,766.74003371)(837.04664634,780.28136671)
+ \xmulineto(839.55197962,781.45870002)
+(841.75464624,782.77069998)(843.64531286,784.17203328)
+ \xmulineto(843.69731286,783.19336664)
+(845.08264617,781.14003336)(847.79731277,778.0787001)
+ \xmulineto(852.67731267,773.46403355)
+(856.98931257,769.24536698)(860.74931249,765.38003375)
+ \xmulineto(861.98931246,764.15603378)
+(862.80664578,764.01070045)(863.28664576,765.04136709)
+ \xmulineto(863.67731242,766.34403372)
+(863.44797909,767.86936702)(862.60931245,769.61470031)
+ \xmulineto(861.85997913,771.08270027)
+(856.06264592,776.29203348)(845.0879795,785.18803326)
+ \xmulineto(847.05197946,786.64003322)
+(849.05731275,788.16669985)(851.09864603,789.67736648)
+ \xmulineto(850.98397937,788.9173665)
+(851.91731268,787.07869988)(853.89064597,784.25469995)
+ \xmulineto(859.07864586,779.53070006)
+(863.62531242,775.34936683)(867.603979,771.64536692)
+ \xmulineto(868.84931231,770.42136695)
+(869.71864562,770.37470029)(870.14531228,771.47336693)
+ \xmulineto(870.53064561,772.77603356)
+(870.20797895,774.27070019)(869.2973123,775.96403348)
+ \xmulineto(868.48931232,777.05203346)
+(862.79197911,781.79736667)(852.19731268,790.1826998)
+ \xmulineto(852.14531268,790.2546998)
+(852.07331268,790.2506998)(851.94264601,790.26536646)
+ \xmulineto(855.00531261,792.53069974)
+(857.12531257,793.99469971)(858.37997921,794.58403302)
+-- cycle
+(828.15597987,765.54670041)
+ \xmulineto(829.25997985,765.57870041)
+(830.53064649,765.52136708)(832.05197979,765.29736708)
+ \xmulineto(831.93197979,764.08270044)
+(832.43197978,762.42136715)(833.48931309,760.3853672)
+ \xmulineto(834.92664639,758.29203392)
+(837.73464633,755.81203398)(841.9533129,752.84936739)
+ \xmulineto(843.27064621,751.68270075)
+(843.86397953,750.60403411)(843.7346462,749.7187008)
+ \xmulineto(843.65597953,749.21336748)
+(841.58397958,748.62003416)(837.469313,747.94270084)
+ \xmulineto(834.69331306,747.57870085)
+(831.69731313,747.55203419)(828.49464653,747.77070085)
+ \xmulineto(828.41597987,749.8547008)
+(828.3173132,751.95336741)(828.23997987,754.03603403)
+ \xmulineto(828.3853132,759.32270056)
+(828.37464653,763.1200338)(828.15597987,765.54670041)
+
+(892.79197845,264.8640461)
+-- (832.44264644,308.79204502)
+-- (843.56797953,324.13604464)
+-- (873.16131221,313.3960449)
+ \xmulineto(876.45331214,312.2507116)
+(879.79731207,310.98404496)(883.18264533,309.62537833)
+ \xmulineto(886.58397858,308.26004503)
+(890.14531184,306.76004507)(893.87997842,305.14004511)
+ \xmulineto(890.57331183,306.9213784)
+(887.32264523,308.81737835)(884.15597864,310.8333783)
+ \xmulineto(880.98931204,312.84937825)
+(877.42664545,315.31204486)(873.44264554,318.20804479)
+-- (851.07864603,334.48937772)
+-- (860.70264582,347.76537739)
+-- (921.05197782,303.83871181)
+-- (910.33331139,289.05204551)
+-- (878.68797876,300.09337857)
+ \xmulineto(875.3746455,301.23471187)
+(872.00531224,302.51071184)(868.58797898,303.91737847)
+ \xmulineto(865.19331239,305.31737844)
+(861.6826458,306.89071173)(858.06797921,308.62004502)
+ \xmulineto(862.86931244,305.74004509)
+(867.33864568,302.93204516)(871.49997892,300.22937856)
+ \xmulineto(875.64531216,297.5360453)
+(879.43731208,294.92671203)(882.86397867,292.43204542)
+-- (902.44797823,278.18271244)
+-- cycle
+(945.74531061,433.78137527)
+-- (948.64531055,450.25070819)
+-- (954.60397708,449.19737488)
+ \xmulineto(957.0826437,448.76004156)
+(958.99464365,448.87470823)(960.35997696,449.55737488)
+ \xmulineto(961.72397693,450.21870819)
+(962.57331024,451.47337483)(962.89064357,453.29204145)
+ \xmulineto(963.1879769,454.97870808)
+(962.87464357,456.41204137)(961.95331026,457.61470801)
+ \xmulineto(961.01064361,458.80670798)
+(959.67731031,459.56270796)(957.90131035,459.87470795)
+ \xmulineto(956.35997705,460.15070795)
+(954.72931042,459.94804129)(953.05731045,459.28137464)
+ \xmulineto(951.35997716,458.59870799)
+(949.57864386,457.44804135)(947.7346439,455.79737472)
+ \xmulineto(946.89064392,455.07870807)
+(945.67197728,453.9947081)(944.10931065,452.55204147)
+ \xmulineto(939.00531076,447.89604158)
+(935.20264418,444.72404166)(932.68797757,443.04670837)
+ \xmulineto(930.40664428,441.46937508)
+(927.88531101,440.42670843)(925.1146444,439.90670845)
+ \xmulineto(922.3439778,439.40670846)
+(919.43197786,439.41204179)(916.34397793,439.95870845)
+ \xmulineto(910.1973114,441.04670842)
+(905.7493115,443.78670835)(902.97331156,448.18270824)
+ \xmulineto(900.19731162,452.5733748)
+(899.42131163,458.17204133)(900.61997828,464.98937449)
+ \xmulineto(901.81731158,471.79204099)
+(904.27064486,476.61470754)(907.99997811,479.51070747)
+ \xmulineto(911.72397803,482.4067074)
+(916.70264459,483.29737404)(922.95864445,482.19337407)
+-- (928.99464432,481.1253741)
+-- (926.22397771,465.38004115)
+-- (921.16131116,466.2707078)
+ \xmulineto(918.80664454,466.68804112)
+(917.01597791,466.57870779)(915.74531127,465.93737447)
+ \xmulineto(914.49464464,465.28670782)
+(913.71331132,464.06804118)(913.40131133,462.27604123)
+ \xmulineto(913.139978,460.8173746)
+(913.42131133,459.5360413)(914.25464464,458.46937466)
+ \xmulineto(915.07864462,457.39604135)
+(916.31197793,456.71870803)(917.95331123,456.43204137)
+ \xmulineto(920.69731117,455.94804138)
+(925.70264439,458.82270798)(932.96397756,465.07337449)
+-- (933.44264422,465.44804115)
+-- (934.68797752,466.52137446)
+ \xmulineto(941.16664405,472.01070765)
+(945.68797728,475.17204091)(948.22931056,476.01604089)
+ \xmulineto(949.93731052,476.58804088)
+(951.75464381,476.91204087)(953.70264377,477.02670753)
+ \xmulineto(955.6453104,477.13070753)
+(957.66664368,476.9893742)(959.79197697,476.61470754)
+ \xmulineto(966.12531016,475.49470757)
+(970.7026434,472.67204097)(973.55197667,468.10404108)
+ \xmulineto(976.3959766,463.54137453)
+(977.19730992,457.71337467)(975.94797661,450.62537485)
+ \xmulineto(974.71330997,443.59337502)
+(971.97864337,438.56270848)(967.77597679,435.54670856)
+ \xmulineto(963.56797689,432.51604196)
+(958.05197701,431.60937532)(951.25064383,432.81204196)
+-- cycle
+(959.62531031,389.17737637)
+-- (888.6826452,412.27070913)
+-- (893.89597842,428.34404207)
+-- (964.83864353,405.2507093)
+-- cycle
+(910.1933114,337.56271097)
+-- (916.98397791,352.8387106)
+-- (922.51064446,350.36937732)
+ \xmulineto(924.81197774,349.34404402)
+(926.69731103,348.99471069)(928.18797767,349.32271068)
+ \xmulineto(929.66131097,349.63604401)
+(930.79197761,350.64537732)(931.54131093,352.33337728)
+ \xmulineto(932.23464424,353.90137724)
+(932.27597758,355.36404387)(931.67197759,356.7547105)
+ \xmulineto(931.04664427,358.1400438)
+(929.93731096,359.19737711)(928.297311,359.93204376)
+ \xmulineto(926.8599777,360.56804374)
+(925.2346444,360.7707104)(923.44264444,360.53071041)
+ \xmulineto(921.63597781,360.28137708)
+(919.62531119,359.5933771)(917.4319779,358.43737713)
+ \xmulineto(916.44797793,357.9480438)
+(915.01064462,357.18804382)(913.139978,356.16671052)
+ \xmulineto(907.0626448,352.88537726)
+(902.60931156,350.73471065)(899.75464496,349.71337734)
+ \xmulineto(897.16131168,348.7347107)
+(894.47331174,348.33871071)(891.65597847,348.50537737)
+ \xmulineto(888.84931187,348.68804403)
+(886.02131193,349.40137735)(883.15064533,350.67737732)
+ \xmulineto(877.45331212,353.22404392)
+(873.7973122,356.9587105)(872.16664557,361.89604371)
+ \xmulineto(870.53597894,366.83337692)
+(871.13064559,372.45871011)(873.94264553,378.77604329)
+ \xmulineto(876.74531213,385.08804313)
+(880.29731206,389.17204303)(884.60931196,391.07870965)
+ \xmulineto(888.92131187,392.98404294)
+(893.96931176,392.64004295)(899.77597829,390.05737634)
+-- (905.3693115,387.55737641)
+-- (898.87997831,372.94804343)
+-- (894.18797842,375.04137672)
+ \xmulineto(892.0053118,376.01604336)
+(890.23464517,376.34937668)(888.84931187,376.02671002)
+ \xmulineto(887.47864523,375.6973767)
+(886.42131192,374.70804339)(885.6879786,373.04137677)
+ \xmulineto(885.08264528,371.6933768)
+(885.05197862,370.3800435)(885.60397861,369.14537686)
+ \xmulineto(886.13597859,367.90671023)
+(887.17197857,366.94804358)(888.69331187,366.2760436)
+ \xmulineto(891.24531182,365.13604363)
+(896.79197836,366.71337692)(905.34397817,371.01604348)
+-- (905.90131149,371.26537681)
+-- (907.36931146,372.00537679)
+ \xmulineto(914.97864463,375.76004336)
+(920.13064451,377.73470998)(922.80264445,377.94270998)
+ \xmulineto(924.59864441,378.07870997)
+(926.44264437,377.94804331)(928.35997766,377.59337665)
+ \xmulineto(930.26531095,377.21871)
+(932.19731091,376.59337668)(934.1666442,375.7133767)
+ \xmulineto(940.03597741,373.09337676)
+(943.80264399,369.24004353)(945.46397729,364.12004365)
+ \xmulineto(947.11997725,359.01071044)
+(946.4893106,353.16137726)(943.56797733,346.57871075)
+ \xmulineto(940.67197739,340.05737758)
+(936.80264414,335.83871102)(931.99464425,333.9320444)
+ \xmulineto(927.18264436,332.01071111)
+(921.61464448,332.47337777)(915.30264462,335.2813777)
+-- cycle
+(851.91197935,217.18271395)
+-- (798.2506472,269.09337933)
+-- (824.47864662,296.30671199)
+-- (834.85464639,286.27071224)
+-- (820.34398004,271.21871261)
+-- (831.01597981,260.90671287)
+-- (843.81197953,274.18271254)
+-- (854.0519793,264.27604612)
+-- (841.25064625,250.99471311)
+-- (853.25464599,239.38004673)
+-- (868.20264566,254.88537968)
+-- (878.57864543,244.84937993)
+-- cycle
+(820.25064671,188.55204799)
+-- (770.33864781,244.08804662)
+-- (782.87998087,255.40137967)
+-- (832.79197977,199.86404771)
+-- cycle
+(744.33864839,201.95338099)
+-- (764.56798127,171.91738173)
+ \xmulineto(765.92131458,169.90138178)
+(767.23998122,168.67204848)(768.54131452,168.21871516)
+ \xmulineto(769.83331449,167.7760485)
+(771.20798113,168.05738183)(772.71864776,169.0733818)
+ \xmulineto(774.2133144,170.07871511)
+(774.97864771,171.25471508)(775.05198104,172.62004838)
+ \xmulineto(775.11464771,173.99471501)
+(774.46931439,175.67738164)(773.11464775,177.69338159)
+-- (752.8906482,207.73471418)
+ \xmulineto(751.53598156,209.7453808)
+(750.19731492,210.98404743)(748.89598162,211.43738075)
+ \xmulineto(747.58798165,211.88004741)
+(746.18264835,211.60938075)(744.67731505,210.59338078)
+ \xmulineto(743.21864841,209.60404747)
+(742.46398176,208.42138083)(742.39598176,207.0467142)
+ \xmulineto(742.3333151,205.67204756)
+(742.98398175,203.97338094)(744.33864839,201.95338099)
+-- cycle
+(731.723982,190.13604795)
+ \xmulineto(727.45864876,196.47871446)
+(725.7866488,202.29204765)(726.72398211,207.57871418)
+ \xmulineto(727.67198209,212.86938072)
+(731.19331534,217.57871394)(737.29198188,221.6933805)
+ \xmulineto(743.45331507,225.86404707)
+(749.13064828,227.39071369)(754.31731483,226.28138039)
+ \xmulineto(759.49998139,225.17204708)
+(764.25464795,221.41604718)(768.56264785,215.026714)
+-- (785.70798081,189.5573813)
+ \xmulineto(789.99464738,183.18804812)
+(791.69731401,177.36004826)(790.7919807,172.07338173)
+ \xmulineto(789.87998072,166.78671519)
+(786.35998079,162.08271531)(780.21331426,157.93204874)
+ \xmulineto(774.13998106,153.82804884)
+(768.46398119,152.33338221)(763.19331464,153.45871552)
+ \xmulineto(757.92131475,154.58804883)
+(753.13998153,158.3227154)(748.86931495,164.66671524)
+-- cycle
+(678.05731652,108.21364997)
+-- (649.49998381,177.25071493)
+-- (673.44798328,187.19738135)
+-- (685.66131635,166.61471519)
+ \xmulineto(687.18264965,164.02671526)
+(688.70798295,161.28138199)(690.25064958,158.36404873)
+ \xmulineto(691.77598288,155.4480488)
+(693.37998284,152.26004888)(695.04664947,148.80671563)
+ \xmulineto(693.63998284,152.9733822)
+(692.44798286,156.67204877)(691.43731622,159.88538203)
+ \xmulineto(690.43731624,163.12538195)
+(689.70264959,165.61471522)(689.2706496,167.38538184)
+-- (683.48398306,191.36404792)
+-- (707.31198254,201.26004767)
+-- (735.86931524,132.22924938)
+-- (720.91198224,126.01098286)
+-- (710.46398247,151.27071557)
+ \xmulineto(708.28131585,156.54671544)
+(706.0573159,162.00004864)(703.80664928,167.64538184)
+ \xmulineto(701.557316,173.2813817)
+(699.29198271,179.08804822)(696.98398276,185.03604807)
+ \xmulineto(698.54131606,178.67738156)
+(699.81731604,173.33871503)(700.84398268,169.03071514)
+ \xmulineto(701.87464932,164.72404857)
+(702.53598264,161.95338198)(702.8066493,160.71871534)
+-- (711.79198244,122.22404962)
+-- (702.01064932,118.16151639)
+-- (681.8639831,150.2027156)
+ \xmulineto(679.02131649,154.75471549)
+(676.51064988,158.88538205)(674.31198326,162.55738196)
+ \xmulineto(672.13598331,166.21338187)
+(670.06798336,169.72938178)(668.15065007,173.1093817)
+ \xmulineto(670.52131668,167.9480485)
+(672.84931663,162.69338196)(675.17198325,157.32804876)
+ \xmulineto(677.48398319,151.96938222)
+(679.93198314,146.1827157)(682.50531642,139.96404919)
+-- (693.06264952,114.44271648)
+-- cycle
+(604.6399848,92.43178369)
+-- (606.81731809,168.40138182)
+-- (629.20265093,171.89071506)
+-- (654.08265038,100.13605017)
+-- (636.33331744,97.36938357)
+-- (632.59865085,110.39071658)
+-- (621.0986511,108.59324996)
+-- (621.4946511,95.05738363)
+-- cycle
+(620.95331777,122.26511629)
+-- (628.9693176,123.51618293)
+-- (622.9119844,145.67738238)
+ \xmulineto(622.48931774,147.15604901)
+(622.07331775,148.74004897)(621.63998443,150.43738226)
+ \xmulineto(621.2026511,152.13071555)
+(620.56798445,154.70804882)(619.73465113,158.1507154)
+ \xmulineto(619.85998447,156.14004879)
+(619.95865113,154.04671551)(620.06265113,151.87471556)
+ \xmulineto(620.15065113,149.69738228)
+(620.22398446,147.47871567)(620.31198446,145.17738239)
+-- cycle
+(518.45865337,112.20271654)
+-- (535.12531967,111.32818323)
+-- (534.80665301,105.27605004)
+ \xmulineto(534.67198634,102.75471677)
+(535.026653,100.86405015)(535.85998632,99.59325018)
+ \xmulineto(536.68265297,98.31725021)
+(538.03065294,97.6255169)(539.86931956,97.5307169)
+ \xmulineto(541.57865286,97.4375169)
+(542.95331949,97.92658356)(544.03598614,98.9948502)
+ \xmulineto(545.10931945,100.07871684)
+(545.69331943,101.49485014)(545.78665276,103.29218342)
+ \xmulineto(545.86931943,104.85991672)
+(545.46931944,106.45365001)(544.60398612,108.04124997)
+ \xmulineto(543.72398614,109.64538327)
+(542.36931951,111.28124989)(540.50531955,112.91724985)
+ \xmulineto(539.69331957,113.6615165)
+(538.47331959,114.74018314)(536.84931963,116.11458311)
+ \xmulineto(531.61465308,120.62551633)
+(528.01065316,124.02138291)(526.03598653,126.32298286)
+ \xmulineto(524.19731991,128.39591614)
+(522.86931994,130.77084941)(522.00531996,133.46404935)
+
+ \xmulineto(521.17731997,136.15604928)
+(520.82265332,139.05738254)(520.98931998,142.19338246)
+ \xmulineto(521.31731997,148.43738231)
+(523.48931992,153.19738219)(527.51065317,156.49471544)
+ \xmulineto(531.51598641,159.78671536)
+(536.97331963,161.24538199)(543.86931947,160.88004867)
+ \xmulineto(550.75465266,160.52138201)
+(555.83865254,158.66671539)(559.16131914,155.31204881)
+ \xmulineto(562.4786524,151.95871556)
+(563.97331903,147.11471568)(563.6359857,140.7653825)
+-- (563.31731904,134.63071598)
+-- (547.37998606,135.46938263)
+-- (547.64531939,140.60404917)
+ \xmulineto(547.77065272,143.00004911)
+(547.44798606,144.7813824)(546.65065275,145.95338237)
+ \xmulineto(545.8599861,147.11471568)
+(544.55198613,147.74538233)(542.73998617,147.84404899)
+ \xmulineto(541.26531953,147.92138232)
+(540.03065289,147.484049)(539.07865291,146.52138236)
+ \xmulineto(538.1093196,145.57871571)
+(537.59331961,144.26538241)(537.49998628,142.60404912)
+ \xmulineto(537.35998628,139.80671586)
+(540.81731954,135.1880493)(547.89598605,128.72404946)
+-- (548.32265271,128.29738281)
+-- (549.54131935,127.1880495)
+ \xmulineto(555.76531921,121.41204964)
+(559.45331913,117.30684975)(560.59865244,114.88031647)
+ \xmulineto(561.36931909,113.25471651)
+(561.91198574,111.47871656)(562.26531907,109.56258327)
+ \xmulineto(562.60398573,107.64538332)
+(562.71331906,105.61458337)(562.60398573,103.45365009)
+ \xmulineto(562.26531907,97.02658358)
+(560.02131912,92.12551703)(555.84931921,88.73498378)
+ \xmulineto(551.67198597,85.3495172)
+(545.99998609,83.84431724)(538.81731959,84.21885056)
+ \xmulineto(531.70265308,84.59325055)
+(526.38531986,86.6932505)(522.89065327,90.51098374)
+ \xmulineto(519.37465335,94.32298365)
+(517.80265338,99.70271685)(518.16132004,106.60938334)
+-- cycle
+(450.59332153,91.86405037)
+-- (470.55198776,165.1773819)
+-- (493.11998726,163.27071528)
+-- (500.45332043,87.66151714)
+-- (482.55198749,89.16671711)
+-- (481.9839875,102.70271677)
+-- (470.38532109,103.68285008)
+-- (467.59332116,90.43178374)
+-- cycle
+(473.45865436,116.99484975)
+-- (481.53065418,116.3229831)
+-- (480.8546542,139.28671587)
+ \xmulineto(480.79198753,140.82271583)
+(480.7546542,142.46404912)(480.72932087,144.21338241)
+ \xmulineto(480.70798753,145.96404904)
+(480.69332087,148.62004897)(480.69732087,152.16138222)
+ \xmulineto(480.34398754,150.1827156)
+(479.95332088,148.12538232)(479.54665423,145.98404904)
+ \xmulineto(479.11465423,143.84938242)
+(478.66665424,141.67204914)(478.21332092,139.4160492)
+-- cycle
+(406.96398916,102.82298344)
+-- (419.42132222,161.80271531)
+-- (408.65065579,164.09338192)
+-- (411.63065572,178.21871491)
+-- (449.63998822,170.14538177)
+-- (446.65065495,156.01604879)
+-- (435.87998852,158.3067154)
+-- (423.42132213,99.32818352)
+-- cycle
+(356.08265695,121.12551632)
+-- (384.53065632,190.20804795)
+-- (400.13065598,183.75471477)
+-- (371.6826566,114.67191648)
+-- cycle
+(308.49999133,175.71871497)
+-- (322.65599102,166.86404852)
+-- (319.44799109,161.71871532)
+ \xmulineto(318.11465778,159.57871537)
+(317.5106578,157.76004875)(317.62532446,156.24004878)
+ \xmulineto(317.72399113,154.72404882)
+(318.56799111,153.46938219)(320.13599107,152.48938221)
+ \xmulineto(321.58399104,151.57871557)
+(323.02665768,151.33871557)(324.48399098,151.74538223)
+ \xmulineto(325.93732428,152.17204888)
+(327.13999092,153.12538219)(328.09332423,154.65604882)
+ \xmulineto(328.92665755,155.98404879)
+(329.3493242,157.57871542)(329.35999087,159.38004871)
+ \xmulineto(329.3693242,161.21338199)
+(328.96399088,163.30271528)(328.13065756,165.63604855)
+ \xmulineto(327.78132424,166.68271519)
+(327.23465758,168.21871516)(326.4786576,170.21338177)
+ \xmulineto(324.08265765,176.69738161)
+(322.57865769,181.41604816)(321.96399103,184.39071476)
+ \xmulineto(321.35999105,187.09338136)
+(321.34399105,189.82271462)(321.90132437,192.59338122)
+ \xmulineto(322.46932436,195.35471449)
+(323.567991,198.05738109)(325.23465763,200.72404769)
+ \xmulineto(328.53599089,206.02671422)
+(332.74532413,209.13071415)(337.84932402,210.06271412)
+ \xmulineto(342.94799057,210.9947141)
+(348.43199045,209.62004747)(354.28665699,205.95338089)
+ \xmulineto(360.13065686,202.29738098)
+(363.67732345,198.20271442)(364.96399008,193.65604786)
+ \xmulineto(366.25065672,189.11471464)
+(365.20265675,184.15071476)(361.83865682,178.76004823)
+-- (358.58799023,173.54671502)
+-- (345.05732386,182.02138148)
+-- (347.77599046,186.38538137)
+ \xmulineto(349.04132377,188.41604799)
+(349.61999042,190.13604795)(349.49465709,191.54671458)
+ \xmulineto(349.35999043,192.95338121)
+(348.53065711,194.13604785)(346.98932381,195.09871449)
+ \xmulineto(345.73465718,195.88004781)
+(344.4426572,196.1040478)(343.13999057,195.72404781)
+ \xmulineto(341.84399059,195.36938115)
+(340.75999062,194.47338117)(339.86932397,193.05738121)
+ \xmulineto(338.39599067,190.68804793)
+(339.18265732,184.96938141)(342.24532392,175.87471497)
+-- (342.41199058,175.29204831)
+-- (342.9373239,173.73471502)
+ \xmulineto(345.59332385,165.65604855)
+(346.82799048,160.27604868)(346.66132382,157.59338208)
+ \xmulineto(346.54665716,155.79738213)
+(346.16132383,153.98404884)(345.54132385,152.13071555)
+ \xmulineto(344.90665719,150.29204893)
+(344.02132388,148.45871564)(342.87999057,146.63071569)
+ \xmulineto(339.47332398,141.16671582)
+(335.13599074,137.97338257)(329.84932419,137.03604926)
+ \xmulineto(324.56265764,136.10404928)
+(318.8639911,137.54138258)(312.7706579,141.35471582)
+ \xmulineto(306.7293247,145.14004906)
+(303.09865812,149.56271562)(301.88532481,154.59338216)
+ \xmulineto(300.64532484,159.6400487)
+(301.87999148,165.10404857)(305.54132473,170.97338175)
+-- cycle
+(280.27065862,217.74004727)
+ \xmulineto(283.25465855,215.47338066)
+(285.55732517,214.29204735)(287.1879918,214.18804735)
+ \xmulineto(288.81199176,214.06804736)
+(290.37999173,214.942714)(291.89065836,216.81738062)
+-- (294.54132497,220.10404721)
+ \xmulineto(296.10932494,222.04138049)
+(296.69732492,223.78138045)(296.3279916,225.32271375)
+ \xmulineto(295.94799161,226.85471371)
+(294.41599164,228.71871366)(291.72932503,230.89604694)
+-- (291.23465838,231.3027136)
+-- cycle
+(239.27065952,193.58404786)
+-- (286.21865849,251.66137976)
+-- (304.98932474,236.4320468)
+ \xmulineto(309.83865797,232.49471357)
+(312.6666579,228.500047)(313.43199122,224.45871377)
+ \xmulineto(314.19732454,220.4120472)
+(312.91732457,216.33338063)(309.57332464,212.19738074)
+-- (309.10932465,211.63071408)
+-- (306.42665804,208.30671417)
+ \xmulineto(303.98399143,205.28671424)
+(301.50532482,203.34938095)(298.97332487,202.52138098)
+ \xmulineto(296.45865826,201.70804766)
+(293.53599166,201.82804766)(290.2346584,202.9067143)
+ \xmulineto(292.13599169,200.0880477)
+(292.93732501,197.36004777)(292.68265835,194.74004783)
+ \xmulineto(292.42132502,192.10938123)
+(291.01065838,189.2293813)(288.47865844,186.09871471)
+-- (277.62532534,172.67204838)
+ \xmulineto(276.36399204,171.11471508)
+(275.45332539,169.79204845)(274.91199207,168.69338181)
+ \xmulineto(274.35999208,167.59338184)
+(274.00532542,166.54138186)(273.87999209,165.50004856)
+-- (260.62532572,176.25471496)
+ \xmulineto(260.80265905,177.13604827)
+(261.20265904,178.13071491)(261.85999236,179.21338155)
+ \xmulineto(262.51065901,180.31204819)
+(263.58799232,181.80271482)(265.09332562,183.66138144)
+-- (274.13599209,194.8547145)
+ \xmulineto(276.69732536,198.02138109)
+(277.85465867,200.46938103)(277.61465868,202.19738098)
+ \xmulineto(277.39065868,203.94271427)
+(275.77599205,206.05204755)(272.82799212,208.52671416)
+-- (252.23999257,183.05738146)
+-- cycle
+(194.26532718,238.76538008)
+-- (248.35465932,290.20804548)
+-- (274.35999208,262.77071282)
+-- (263.89599231,252.8280464)
+-- (249.52132596,268.00004603)
+-- (238.7653262,257.77604628)
+-- (251.45332592,244.38537994)
+-- (241.13065948,234.56804685)
+-- (228.44265976,247.95871319)
+-- (216.33866003,236.4480468)
+-- (231.15599303,220.81204719)
+-- (220.6973266,210.86404744)
+-- cycle
+(158.91199463,287.11471222)
+-- (214.11466008,338.75471094)
+-- (224.06799319,323.99471131)
+-- (200.29732705,304.44804513)
+ \xmulineto(199.11466041,303.50004515)
+(196.69332713,301.59871186)(193.02666054,298.75471193)
+ \xmulineto(189.35999396,295.906712)
+(185.10932738,292.65071208)(180.27599416,288.96937884)
+ \xmulineto(185.7346607,292.04137876)
+(192.25066056,295.60404534)(199.79732706,299.66137858)
+ \xmulineto(201.09332703,300.34937856)
+(202.02666034,300.85471188)(202.61466033,301.17737854)
+-- (229.6933264,315.64004485)
+-- (239.43732619,301.17737854)
+-- (170.8493277,269.40671266)
+-- cycle
+(131.52652856,334.63604438)
+-- (198.57866042,367.4013769)
+-- (205.97332692,352.20271061)
+-- (138.92666173,319.44271142)
+-- cycle
+(104.53599583,402.45337604)
+-- (175.04132761,426.8640421)
+-- (181.22399414,408.93737588)
+-- (155.4839947,390.78137633)
+ \xmulineto(152.66666143,388.74004304)
+(149.71332816,386.71337643)(146.66132823,384.71337648)
+ \xmulineto(143.5933283,382.69737653)
+(140.32799504,380.63070991)(136.85999511,378.49470996)
+ \xmulineto(140.21866171,380.19737659)
+(143.63599496,381.77604322)(147.09332822,383.22404318)
+ \xmulineto(150.55199481,384.66670981)
+(154.61466139,386.18804311)(159.25999462,387.7973764)
+-- (185.39599404,396.84404284)
+-- (190.74532726,381.32804323)
+-- (120.24012881,356.92137716)
+-- (114.28119561,374.19737674)
+-- (141.43199501,393.86937625)
+ \xmulineto(144.26532828,395.93204287)
+(147.24532822,397.96404282)(150.34932815,399.96404277)
+ \xmulineto(153.43732808,401.95337605)
+(156.73999468,403.937376)(160.2239946,405.91204262)
+ \xmulineto(155.11999471,403.62004268)
+(150.25466149,401.56270939)(145.66666159,399.68804277)
+ \xmulineto(141.08799502,397.82804282)
+(136.78132845,396.20804286)(132.7811952,394.81737623)
+-- (109.90159571,386.89604309)
+-- cycle
+(165.88532781,465.76537448)
+-- (110.82812902,459.5680413)
+ \xmulineto(108.39066241,459.2920413)
+(106.67186245,458.70270798)(105.69732913,457.80270801)
+ \xmulineto(104.71879582,456.89604136)
+(104.32292916,455.56270806)(104.52132916,453.81737477)
+ \xmulineto(104.71359582,452.04137481)
+(105.41612914,450.80270818)(106.60412911,450.10937486)
+ \xmulineto(107.79212909,449.41204155)
+(109.58386238,449.20270822)(111.95306233,449.47337488)
+-- (167.01599445,455.67204139)
+-- (168.89599441,438.86937514)
+-- (116.59839556,432.97870862)
+ \xmulineto(108.9734624,432.12537531)
+(103.03066253,433.30270861)(98.78119595,436.5213752)
+ \xmulineto(94.53066271,439.74937512)
+(92.0051961,445.00004166)(91.18799612,452.31204147)
+ \xmulineto(90.38026281,459.5360413)
+(91.69732944,465.17737449)(95.15052937,469.27604106)
+ \xmulineto(98.59839596,473.36004095)
+(104.11452917,475.82270756)(111.70786234,476.68270754)
+-- (164.00532785,482.56270739)
+%盾牌
+(415.70265563,791.96403309)
+-- (330.45332418,717.80270159)
+ \xmulineto(354.11999032,715.06803499)
+(369.92665664,689.29736896)(369.98932331,667.01070284)
+-- (370.15598997,615.54137078)
+ \xmulineto(370.27065663,569.55737191)
+(371.91732326,488.10937392)(422.05198883,467.90137442)
+ \xmulineto(431.06798863,464.27070785)
+(477.52132094,453.36004145)(499.93198711,442.33870839)
+ \xmulineto(526.53598652,428.2813754)
+(529.42665313,416.90670902)(533.28131971,414.7400424)
+ \xmulineto(537.13998629,416.90670902)
+(539.94798623,428.2813754)(566.55198564,442.33870839)
+ \xmulineto(588.96398515,453.36004145)
+(635.41198412,464.27070785)(644.43198392,467.90137442)
+ \xmulineto(694.56798282,488.10937392)
+(696.21331611,569.55737191)(696.32264945,615.54137078)
+-- (696.49464944,667.01070284)
+ \xmulineto(696.55198277,689.29736896)
+(712.35998243,715.06803499)(736.02664857,717.80270159)
+-- (650.78131712,791.96403309)
+ \xmulineto(610.29198468,766.80670038)
+(582.98398528,755.21870066)(533.28131971,755.21870066)
+ \xmulineto(483.57865414,755.21870066)
+(456.19332141,766.80670038)(415.70265563,791.96403309)
+-- cycle
+(416.96932227,780.78670003)
+ \xmulineto(454.8959881,757.23470061)
+(486.74932073,747.26536753)(533.28131971,747.26536753)
+ \xmulineto(579.81731868,747.26536753)
+(611.58398465,757.23470061)(649.51065048,780.78670003)
+-- (719.5213156,721.27603483)
+ \xmulineto(717.92131564,721.54136816)
+(700.08264936,712.21870172)(691.66664955,686.3120357)
+ \xmulineto(688.28664962,675.88536929)
+(688.02664963,662.94803627)(688.19731629,649.9120366)
+ \xmulineto(688.35464962,637.66137023)
+(687.9173163,625.3120372)(688.02664963,614.86403746)
+ \xmulineto(687.36931631,572.06803852)
+(687.11998298,496.02670706)(641.13065066,475.6880409)
+ \xmulineto(632.63065085,472.27070765)
+(588.34398516,462.19737456)(567.22931896,451.81737482)
+ \xmulineto(541.73998619,439.28670846)
+(537.9693196,431.96937531)(533.28131971,428.95870872)
+
+ \xmulineto(528.59865314,431.96937531)
+(524.73998656,439.28670846)(499.25465379,451.81737482)
+ \xmulineto(478.13598759,462.19737456)
+(433.85465523,472.27070765)(425.34932209,475.6880409)
+ \xmulineto(379.35998977,496.02670706)
+(379.11465644,572.06803852)(378.45332312,614.86403746)
+ \xmulineto(378.56265645,625.3120372)
+(378.12532313,637.66137023)(378.28665646,649.9120366)
+ \xmulineto(378.45332312,662.94803627)
+(378.19732313,675.88536929)(374.81198987,686.3120357)
+ \xmulineto(366.40132339,712.21870172)
+(348.55732378,721.54136816)(346.96399048,721.27603483)
+%xmu 止于至善
+(434.93732188,370.32271017)
+ \xmulineto(434.01598856,370.24537683)
+(433.66665524,369.74537685)(433.90665523,368.8387102)
+ \xmulineto(433.98398856,367.91204356)
+(433.8853219,367.20804358)(433.61998857,366.71871025)
+ \xmulineto(433.48398857,366.54671026)
+(433.20265525,366.1360436)(432.78665526,365.47871029)
+ \xmulineto(431.36932195,363.95337699)
+(430.37465531,362.86004368)(429.80665532,362.19337703)
+ \xmulineto(429.10398867,361.35471039)
+(428.82798868,360.9427104)(428.98932201,360.9587104)
+ \xmulineto(429.15065534,360.81204373)
+(429.81732199,361.09871039)(430.99998863,361.82271038)
+ \xmulineto(431.43732195,362.1720437)
+(432.70265526,362.90671035)(434.78665521,364.01071032)
+ \xmulineto(436.12532185,364.74937697)
+(437.00532183,365.29737696)(437.44265515,365.64004361)
+ \xmulineto(437.73465515,365.82804361)
+(438.3333218,366.1040436)(439.23998845,366.49471026)
+ \xmulineto(440.43732175,367.06271025)
+(440.85998841,367.56804357)(440.50532175,368.00004356)
+ \xmulineto(438.66132179,369.55204352)
+(436.80665517,370.3280435)(434.93732188,370.32271017)
+-- cycle
+(508.55198692,374.04137674)
+ \xmulineto(508.38532026,374.03071007)
+(508.15598693,373.93737674)(507.84398693,373.75471008)
+ \xmulineto(503.5466537,372.07337679)
+(496.06798719,370.70804349)(485.41598743,369.66137685)
+ \xmulineto(482.52132083,369.34404352)
+(482.2919875,368.8387102)(484.77065411,368.16137689)
+ \xmulineto(487.38532072,367.81204356)
+(489.978654,367.87471023)(492.54665394,368.33337688)
+ \xmulineto(493.42665392,367.07871025)
+(493.18798726,365.19737696)(491.86932062,362.69737702)
+ \xmulineto(489.33332068,358.34937713)
+(486.56265407,355.6093772)(483.53598747,354.47337722)
+ \xmulineto(483.05732081,354.28137723)
+(482.74532082,354.10937723)(482.58798749,353.93737724)
+ \xmulineto(482.14532083,353.10404392)
+(482.04665417,351.95871062)(482.28132083,350.51604399)
+ \xmulineto(482.49465416,349.54671068)
+(482.92132082,349.07871069)(483.57865414,349.12004402)
+ \xmulineto(483.57865414,349.12004402)
+(484.29732079,349.32271068)(485.73465409,349.72404401)
+ \xmulineto(487.81198738,350.31737733)
+(495.24532055,352.41204394)(508.0306536,356.00004385)
+ \xmulineto(508.20798693,355.84937719)
+(508.36932026,355.69737719)(508.54665359,355.53604386)
+ \xmulineto(510.61465354,353.38004392)
+(512.03065351,352.47871061)(512.83332016,352.84404393)
+ \xmulineto(514.51598679,354.54671056)
+(514.32798679,356.7347105)(512.23998684,359.3853771)
+ \xmulineto(510.86398687,360.77604373)
+(508.53065359,361.95337704)(505.24532033,362.91204368)
+ \xmulineto(502.11465373,363.72404366)
+(501.14532042,363.51071033)(502.35998706,362.27071036)
+ \xmulineto(503.55732036,361.03604373)
+(505.02132033,359.41204377)(506.74532029,357.39071048)
+ \xmulineto(498.55198714,355.83337719)
+(492.11998728,354.67737722)(487.45865405,353.95337724)
+ \xmulineto(489.77598733,356.01604385)
+(492.86398726,359.17737711)(496.69732051,363.437377)
+ \xmulineto(496.99998717,363.77604366)
+(497.39065383,364.12004365)(497.85998715,364.46937698)
+ \xmulineto(500.21332044,365.89071027)
+(499.81732044,367.33337691)(496.66132051,368.7867102)
+ \xmulineto(503.58398703,369.80271018)
+(508.48398692,370.63071016)(511.37998686,371.25471014)
+ \xmulineto(512.97332015,371.6773768)
+(513.42665348,372.34404345)(512.72398683,373.28137676)
+ \xmulineto(512.04665351,373.89071008)
+(510.65598687,374.15071007)(508.55198692,374.04137674)
+-- cycle
+(579.06265203,374.78137672)
+ \xmulineto(578.24531872,374.67737672)
+(578.13598538,374.19337674)(578.7493187,373.34937676)
+ \xmulineto(579.51598535,372.48404345)
+(579.41598536,370.63071016)(578.45865204,367.76004356)
+ \xmulineto(575.8066521,357.51071048)
+(572.43198551,350.31737733)(568.32265227,346.14537743)
+ \xmulineto(566.93731897,344.59337747)
+(567.16665229,344.34404414)(569.00531892,345.38004411)
+ \xmulineto(573.89065215,348.86004403)
+(577.77598539,354.74004388)(580.63998533,363.02137701)
+ \xmulineto(581.69731864,361.51604372)
+(583.4733186,358.33337713)(585.98398521,353.50004391)
+ \xmulineto(587.17198519,351.4893773)
+(587.99465183,350.06271067)(588.44265182,349.22937735)
+ \xmulineto(588.95331848,346.77604408)
+(591.66665175,345.82271077)(596.55731831,346.37471076)
+ \xmulineto(597.0413183,346.34937742)
+(597.44265163,346.32804409)(597.77598495,346.30671076)
+ \xmulineto(599.39598492,346.38004409)
+(600.45865156,346.57337742)(600.96398488,346.87471074)
+ \xmulineto(601.4693182,347.16671074)
+(601.24531821,347.51071073)(600.28665156,347.88004405)
+ \xmulineto(592.5733184,352.50004394)
+(587.54131851,356.82804383)(585.1506519,360.84404373)
+ \xmulineto(583.4733186,362.86937702)
+(582.24531863,364.24004365)(581.47331864,364.93204363)
+ \xmulineto(582.0679853,367.16137691)
+(582.82265195,369.0787102)(583.7133186,370.65071016)
+ \xmulineto(583.91198526,371.12537681)
+(583.99998526,371.52671014)(584.01065192,371.84937679)
+ \xmulineto(583.42665193,372.8547101)
+(581.7759853,373.83337675)(579.06265203,374.78137672)
+-- cycle
+(641.53598399,343.54137749)
+ \xmulineto(642.97331729,343.2133775)
+(645.40665057,343.08804417)(648.83865049,343.18271084)
+ \xmulineto(651.11465044,343.08804417)
+(652.57865041,342.98937751)(653.21331706,342.91737751)
+ \xmulineto(655.15065035,342.68804418)
+(656.17198366,343.06271084)(656.281317,344.02671081)
+ \xmulineto(656.27065033,345.33871078)
+(655.38531702,346.1720441)(653.63065039,346.54137742)
+ \xmulineto(652.51065041,346.67204408)
+(650.46398379,346.58404408)(647.47865052,346.27604409)
+ \xmulineto(644.99998391,345.9120441)
+(643.09865062,345.72937744)(641.79198398,345.70804411)
+ \xmulineto(642.42665063,351.18271064)
+(643.13998395,355.17737721)(643.92131727,357.69737714)
+ \xmulineto(644.19331726,358.64537712)
+(644.45865059,359.51604377)(644.70265058,360.30271041)
+ \xmulineto(644.94265058,360.92137706)
+(645.08265058,361.39604372)(645.11998391,361.71337704)
+ \xmulineto(644.50531726,363.42671034)
+(642.19331731,364.66671031)(638.21331739,365.45871029)
+ \xmulineto(637.21331742,365.24004362)
+(637.10931742,364.34937698)(637.90665073,362.80271035)
+ \xmulineto(638.41198406,361.59337705)
+(638.70265072,360.58804374)(638.77598405,359.76004376)
+ \xmulineto(639.16665071,354.65604389)
+(637.9693174,342.96937751)(635.20265079,324.69737796)
+-- (625.942651,325.03604462)
+ \xmulineto(625.958651,326.50004458)
+(626.01598433,328.4587112)(626.12531766,330.89071114)
+ \xmulineto(626.37465099,337.22937765)
+(626.66665098,341.10937755)(626.98931764,342.53071085)
+ \xmulineto(627.06265097,343.1773775)
+(627.2399843,343.97337748)(627.5159843,344.92137746)
+ \xmulineto(627.75465096,345.54137744)
+(627.80665096,346.02671077)(627.68265096,346.36404409)
+ \xmulineto(626.54131765,347.80271072)
+(624.55198436,348.93204403)(621.71331776,349.74937734)
+ \xmulineto(620.58398445,349.88537734)
+(620.48931778,349.07871069)(621.43731776,347.33871073)
+ \xmulineto(622.10931775,346.11471076)
+(622.48931774,345.17204412)(622.57331774,344.51604414)
+ \xmulineto(622.9999844,341.19737755)
+(622.9119844,334.76537771)(622.29731774,325.21337795)
+ \xmulineto(618.51598449,325.00537795)
+(614.78131791,325.10937795)(611.08265133,325.54137794)
+ \xmulineto(609.12531804,325.59871127)
+(608.36931805,325.36937794)(608.80265138,324.82804462)
+ \xmulineto(609.69731802,324.22937797)
+(611.33865132,323.63071132)(613.7239846,323.03071133)
+ \xmulineto(621.41598443,323.28137799)
+(629.47865092,323.161378)(637.9013174,322.67737801)
+ \xmulineto(641.78131732,322.39071135)
+(645.64531723,321.94271136)(649.48931715,321.33337804)
+ \xmulineto(653.1826504,320.90671139)
+(656.70798365,320.32804473)(660.05731691,319.61471142)
+ \xmulineto(662.77598352,319.1453781)
+(663.90665016,319.74537808)(663.44265017,321.42671137)
+ \xmulineto(662.36398353,323.34404466)
+(660.55198357,324.53604463)(657.99465029,324.98937795)
+ \xmulineto(657.18265031,325.08271128)
+(654.81198369,325.03604462)(650.87465045,324.84404462)
+ \xmulineto(645.6559839,324.79204462)
+(641.65065065,324.76537796)(638.87465071,324.76537796)
+-- cycle
+(558.21865249,371.7453768)
+ \xmulineto(560.7973191,368.20804355)
+(563.03598572,366.21871027)(564.96931901,365.79204361)
+ \xmulineto(567.43198562,366.47871026)
+(567.75998561,368.00004356)(565.93198565,370.36937683)
+ \xmulineto(560.39598578,373.0827101)
+(557.82798583,373.55204342)(558.21865249,371.7453768)
+-- cycle
+(567.16131896,361.29737706)
+ \xmulineto(566.8386523,361.31737705)
+(565.69731899,361.12537706)(563.7239857,360.74004374)
+ \xmulineto(556.51065253,359.17737711)
+(549.81731934,358.47337712)(543.65598615,358.63604379)
+ \xmulineto(542.52665284,358.53071046)
+(542.41598617,358.13071047)(543.35998615,357.43737715)
+ \xmulineto(544.59331946,356.22937718)
+(545.93198609,355.43204387)(547.36398606,355.03604388)
+ \xmulineto(547.85465272,355.01071054)
+(550.72398599,355.66671053)(555.98398587,357.01604383)
+ \xmulineto(556.4533192,350.33337733)
+(551.75998597,342.79204418)(541.90131952,334.38537772)
+ \xmulineto(540.55731955,333.48404441)
+(540.53598621,333.16137775)(541.84931952,333.41604441)
+ \xmulineto(543.00531949,333.68271107)
+(544.3386528,334.34404439)(545.8439861,335.40137769)
+ \xmulineto(551.56798597,339.15604427)
+(555.54131922,343.82271082)(557.7706525,349.37471068)
+ \xmulineto(557.93731916,349.36404402)
+(558.25998582,349.27071069)(558.73465248,349.07871069)
+
+ \xmulineto(560.79198577,348.16671071)
+(561.90131908,347.53071073)(562.04131907,347.20804407)
+ \xmulineto(562.31198573,346.05737743)
+(561.77598575,343.73471082)(560.45865244,340.22937758)
+ \xmulineto(559.15065247,336.89071099)
+(558.07865249,335.0053777)(557.24531918,334.56271105)
+ \xmulineto(557.07865252,334.57337771)
+(556.36398586,334.76537771)(555.08798589,335.1613777)
+ \xmulineto(552.70798595,336.09871101)
+(551.8173193,336.22937767)(552.42665262,335.54137769)
+ \xmulineto(553.80265259,333.84937773)
+(554.67731924,332.10404444)(555.07331923,330.29204449)
+
+ \xmulineto(555.05198589,329.97337783)
+(555.12531923,329.80271117)(555.29198589,329.79737783)
+ \xmulineto(556.56265253,329.24004451)
+(558.04131916,329.73471117)(559.74931912,331.2653778)
+ \xmulineto(561.13065243,332.80671109)
+(562.29731907,335.10404437)(563.27065238,338.13604429)
+ \xmulineto(564.44265235,341.96937753)
+(565.56798566,344.74937746)(566.63598564,346.47871075)
+ \xmulineto(566.81198563,346.95871074)
+(566.91731897,347.27071073)(566.92131897,347.4373774)
+ \xmulineto(566.34931898,348.76537736)
+(565.34398567,349.79737734)(563.91731903,350.51604399)
+ \xmulineto(563.59331904,350.53071065)
+(563.19731905,350.63604398)(562.71865239,350.82271065)
+ \xmulineto(561.42665242,350.89071065)
+(560.21865245,351.03071064)(559.09865247,351.25471064)
+ \xmulineto(559.2759858,351.73471062)
+(559.63065246,352.28671061)(560.15065245,352.9067106)
+ \xmulineto(560.6773191,353.68271058)
+(560.87465243,354.24537723)(560.72398577,354.57871055)
+ \xmulineto(560.90665243,354.88537721)
+(559.81198579,355.75471053)(557.45865251,357.17737716)
+ \xmulineto(561.87465241,357.92137714)
+(565.62531899,358.29737713)(568.70798559,358.29737713)
+ \xmulineto(570.32265222,358.21337713)
+(570.99998554,358.65604379)(570.73465221,359.65071043)
+ \xmulineto(570.13065223,360.6507104)
+(568.94265225,361.20271039)(567.16131896,361.29737706)
+-- cycle
+(576.0786521,345.49471078)
+ \xmulineto(576.22398543,345.33337745)
+(576.45331876,344.98937746)(576.74931875,344.48404414)
+ \xmulineto(579.48398536,341.09871089)
+(581.27065198,339.46937759)(582.08265196,339.58404426)
+ \xmulineto(584.41198525,340.60404423)
+(584.81731857,342.20271086)(583.31198527,344.39071081)
+ \xmulineto(578.07331872,346.60404408)
+(575.66131877,346.97871074)(576.0786521,345.49471078)
+-- cycle
+(574.06798547,335.13071103)
+ \xmulineto(577.54131873,330.25071115)
+(580.46398533,327.25471123)(582.84398528,326.15604459)
+ \xmulineto(585.32798523,327.1613779)
+(585.59865189,329.09871118)(583.63998526,331.96404445)
+ \xmulineto(582.22931863,333.00537775)
+(579.86398535,334.18804439)(576.51598542,335.49471103)
+ \xmulineto(574.2813188,336.09871101)
+(573.46931882,335.98404435)(574.06798547,335.13071103)
+-- cycle
+(501.75465374,341.31204422)
+ \xmulineto(504.17198702,341.59871087)
+(506.73998696,342.05737753)(509.47332023,342.68804418)
+ \xmulineto(511.88532018,342.97871084)
+(513.06798682,343.53071083)(513.02665349,344.33871081)
+ \xmulineto(512.80665349,345.30671078)
+(511.57865352,345.71871077)(509.31732024,345.59871078)
+ \xmulineto(508.82798691,345.57337744)
+(508.0986536,345.45871078)(507.13998695,345.24537745)
+ \xmulineto(506.17198697,345.19737745)
+(504.40665368,344.86404413)(501.83865373,344.24537748)
+ \xmulineto(501.77065374,345.53071078)
+(501.9373204,346.84404408)(502.35998706,348.16137738)
+ \xmulineto(502.49998705,348.65604403)
+(502.47865372,349.06271069)(502.29732039,349.36937735)
+ \xmulineto(499.46932045,350.84937731)
+(497.32265383,351.5413773)(495.8599872,351.46404396)
+ \xmulineto(495.20798721,351.43204397)
+(495.24532055,350.79204398)(495.9639872,349.53071068)
+ \xmulineto(497.04665384,347.4733774)
+(497.64532049,345.40137745)(497.75465382,343.28671083)
+ \xmulineto(496.30265386,343.05737751)
+(494.36932057,342.70804418)(491.96398728,342.26004419)
+ \xmulineto(489.22932068,341.7920442)
+(487.78132071,341.55204421)(487.61998738,341.54671088)
+ \xmulineto(485.22398743,340.93204422)
+(485.65065409,340.3907109)(488.92132069,339.90671092)
+ \xmulineto(491.52665396,339.72404425)
+(494.51598723,339.96937758)(497.89598715,340.6307109)
+-- (498.56798714,332.38537777)
+ \xmulineto(491.96398728,331.39071113)
+(485.67732076,330.56804448)(479.71332089,329.93737783)
+ \xmulineto(478.74532091,329.71871117)
+(478.02665426,329.60937784)(477.54132094,329.57871117)
+ \xmulineto(475.28132099,329.30271118)
+(474.40665434,328.93204452)(474.92132099,328.46937787)
+ \xmulineto(475.74532098,328.19337787)
+(477.4639876,327.87471121)(480.07865421,327.52671122)
+ \xmulineto(480.24532088,327.53071122)
+(480.81198753,327.64537789)(481.76532084,327.85471121)
+ \xmulineto(495.25065388,330.66137781)
+(509.14532024,331.79737778)(523.45331992,331.25471113)
+ \xmulineto(526.2026532,331.24004446)
+(527.13998651,332.02137778)(526.2506532,333.58804441)
+ \xmulineto(525.02131989,335.15604437)
+(522.86931994,336.00537768)(519.77598667,336.18271101)
+ \xmulineto(519.30265335,336.15071101)
+(518.4159867,336.02671101)(517.1306534,335.79204435)
+ \xmulineto(512.94798682,334.92671104)
+(507.96932027,334.01071106)(502.18798706,333.06804442)
+-- cycle
+(417.14532227,365.77604361)
+ \xmulineto(416.35998895,365.85471028)
+(416.16665562,365.45337695)(416.55198895,364.55204364)
+ \xmulineto(417.10932227,363.51071033)
+(418.06265558,362.43204369)(419.40132222,361.30271039)
+ \xmulineto(420.25065553,360.43737708)
+(421.04132218,360.19737708)(421.7866555,360.57337707)
+ \xmulineto(422.53598882,360.9427104)
+(422.85465548,361.67737705)(422.76532214,362.75471035)
+ \xmulineto(422.13065549,364.7187103)
+(420.25998887,365.72404361)(417.14532227,365.77604361)
+-- cycle
+(429.84398865,351.00004398)
+ \xmulineto(433.83865523,351.49471063)
+(436.50532184,352.04137728)(437.85998848,352.6307106)
+ \xmulineto(439.16665512,353.66137724)
+(438.27598847,354.1360439)(435.17198854,354.02671057)
+ \xmulineto(434.71332188,353.98937724)
+(433.78665523,353.82804391)(432.4159886,353.55204391)
+ \xmulineto(431.35998862,353.15604392)
+(430.52132197,352.92137726)(429.90665532,352.86404393)
+ \xmulineto(429.88532199,353.18271059)
+(429.99998865,353.65604391)(430.25465531,354.30271056)
+ \xmulineto(430.35998864,354.78137722)
+(430.41198864,355.16671054)(430.38532198,355.47871053)
+ \xmulineto(430.34398864,355.93737719)
+(429.91198865,356.45337717)(429.093322,357.00004383)
+ \xmulineto(434.59332188,358.09337713)
+(438.18265514,358.86937711)(439.8546551,359.32271044)
+ \xmulineto(440.74932175,359.70804376)
+(440.93732174,360.27071041)(440.40665509,361.00537706)
+ \xmulineto(439.74532177,361.41204372)
+(438.72932179,361.55204372)(437.33865516,361.43204372)
+ \xmulineto(437.18798849,361.42137705)
+(436.64532184,361.29204372)(435.73465519,361.06804373)
+ \xmulineto(429.96932198,359.32804377)
+(423.4119888,357.98937714)(416.03065563,357.04137716)
+ \xmulineto(414.65065566,356.77604383)
+(414.52665566,356.37471051)(415.66665563,355.84937719)
+ \xmulineto(416.62532228,355.46404387)
+(418.03598891,355.35471054)(419.89598887,355.51071053)
+ \xmulineto(421.13065551,355.62004386)
+(422.42132215,355.81204386)(423.80265545,356.07871052)
+ \xmulineto(424.6453221,355.3693772)
+(425.30265542,354.0360439)(425.78665541,352.04671062)
+ \xmulineto(423.63998879,351.5573773)
+(421.35465551,351.13071064)(418.90132223,350.76004398)
+ \xmulineto(418.01065558,350.21871066)
+(418.5159889,349.79737734)(420.40665553,349.49471068)
+ \xmulineto(421.8066555,349.45871068)
+(423.73465546,349.70271067)(426.17732207,350.21871066)
+-- (426.51598873,346.28671076)
+ \xmulineto(421.30265551,345.37471078)
+(417.46932226,344.8067108)(414.99998898,344.5987108)
+ \xmulineto(413.79198901,344.18804414)
+(413.83332234,343.72404416)(415.11465565,343.2133775)
+ \xmulineto(416.06265562,342.97337751)
+(417.69332226,342.96937751)(420.01598887,343.16671084)
+ \xmulineto(421.85998883,343.32271083)
+(423.47332213,343.54671083)(424.85465543,343.80671082)
+ \xmulineto(425.60932208,344.03604415)
+(426.22932207,344.16671081)(426.69732206,344.20271081)
+-- (427.18798871,335.61471102)
+ \xmulineto(426.72398872,335.56804436)
+(426.03598874,335.44271103)(425.11998876,335.20271103)
+ \xmulineto(413.45332235,333.57871107)
+(406.4533225,332.74937776)(404.11998922,332.71337776)
+ \xmulineto(403.04132258,332.62004443)
+(402.83865592,332.28137777)(403.50532257,331.72937779)
+ \xmulineto(404.67732254,330.74004448)
+(405.97332251,330.06271116)(407.40665582,329.7240445)
+ \xmulineto(407.56798915,329.7400445)
+(408.17198913,329.8600445)(409.24532244,330.11471116)
+ \xmulineto(413.44265568,331.88004445)
+(423.4639888,333.74537774)(439.30665511,335.72937769)
+ \xmulineto(443.31732169,336.06804434)
+(448.20265492,336.16671101)(453.96932146,336.04671101)
+ \xmulineto(454.43198811,336.08804434)
+(454.66665477,336.10937768)(454.66665477,336.10937768)
+ \xmulineto(456.3493214,336.41204434)
+(456.42665473,337.26004432)(454.9119881,338.69737761)
+ \xmulineto(453.41598813,339.80671092)
+(451.66132151,340.27604424)(449.66132155,340.10404424)
+ \xmulineto(448.8906549,340.04137758)
+(446.82265495,339.63604426)(443.46932169,338.87471094)
+ \xmulineto(440.72932175,338.17204429)
+(438.89065512,337.78671097)(437.96932181,337.7080443)
+ \xmulineto(440.13065509,339.76004425)
+(441.63065506,341.28137755)(442.47865504,342.28671086)
+ \xmulineto(443.03598836,342.96404417)
+(442.83865503,343.48937749)(441.86932172,343.87471082)
+ \xmulineto(440.41598842,344.5267108)
+(439.00532179,344.71337746)(437.63065515,344.43737747)
+ \xmulineto(437.0159885,344.38004414)
+(436.89065517,343.98404415)(437.25998849,343.24004417)
+ \xmulineto(437.64532182,342.33871086)
+(437.78132181,341.65071087)(437.67732181,341.18271088)
+ \xmulineto(437.0359885,339.57337759)
+(436.30665518,338.18804429)(435.46398853,337.02671099)
+-- (430.40665531,336.13071101)
+-- (430.16132198,344.50537747)
+ \xmulineto(431.38532195,344.7547108)
+(433.22398858,345.07871079)(435.67732186,345.43204411)
+ \xmulineto(439.19732178,346.05737743)
+(441.49465506,346.47871075)(442.56265504,346.72937741)
+ \xmulineto(443.77598835,347.14004407)
+(444.03598834,347.63604406)(443.36398836,348.19337738)
+ \xmulineto(442.55732171,348.58804404)
+(441.22932174,348.7187107)(439.37465511,348.55737737)
+ \xmulineto(439.06798845,348.5267107)
+(438.06798847,348.36404404)(436.37998851,348.05737738)
+ \xmulineto(434.08265523,347.71337739)
+(431.93198861,347.37471073)(429.94265532,347.04137741)
+-- cycle
+(422.16132216,339.84937758)
+ \xmulineto(421.31198884,340.70804423)
+(419.80265554,341.19737755)(417.60932226,341.32804421)
+ \xmulineto(416.83332227,341.26004422)
+(416.90132227,340.48937757)(417.80265559,339.00537761)
+
+ \xmulineto(419.05198889,337.09337765)
+(420.07865554,336.09337768)(420.85998885,336.00537768)
+ \xmulineto(422.49998882,336.77604433)
+(422.94265547,338.0520443)(422.16132216,339.84937758)
+-- cycle
+(438.4693218,331.92137778)
+ \xmulineto(438.00532181,331.88537778)
+(436.32798851,331.50004446)(433.43198858,330.78137781)
+ \xmulineto(428.71865535,329.6040445)
+(424.68265543,328.64004453)(421.32798884,327.89071121)
+ \xmulineto(420.16665553,328.72404453)
+(419.05198889,329.01604452)(417.98398892,328.76537786)
+ \xmulineto(417.22932227,328.54137786)
+(417.27598893,328.00537788)(418.11998891,327.14004457)
+ \xmulineto(418.66132223,326.41604458)
+(419.25065555,324.83337796)(419.92665554,322.40671135)
+ \xmulineto(420.3853222,320.73471139)
+(420.81732219,319.28671143)(421.22932218,318.07871146)
+ \xmulineto(421.81198883,316.74004482)
+(422.48932215,316.02137817)(423.28665547,315.92671151)
+ \xmulineto(423.88532212,316.14004484)
+(424.05732212,316.92671148)(423.77598879,318.29737812)
+ \xmulineto(424.23998878,318.33871145)
+(426.0826554,318.57871144)(429.30665533,319.01071143)
+ \xmulineto(436.21865518,320.07337807)
+(440.74932175,320.68271139)(442.91198837,320.86937805)
+ \xmulineto(443.52132169,321.08804471)
+(443.57332168,321.39604471)(443.06798836,321.82271136)
+ \xmulineto(442.55198837,322.39604468)
+(441.80665506,322.80271134)(440.86398841,323.03604467)
+ \xmulineto(441.90132172,325.45337794)
+(443.22932169,327.12004457)(444.86398832,328.03071121)
+ \xmulineto(445.59332164,328.5627112)
+(445.21865498,329.30671118)(443.73465501,330.27604449)
+ \xmulineto(441.78665506,331.35471113)
+(440.0266551,331.89604445)(438.4693218,331.92137778)
+-- cycle
+(421.91198883,326.53071125)
+ \xmulineto(422.21865549,326.56271125)
+(423.21865547,326.72937791)(424.89598876,327.02671123)
+ \xmulineto(429.32265533,328.02671121)
+(433.45332191,328.68804453)(437.31732182,329.02137785)
+ \xmulineto(437.93732181,329.07337785)
+(438.23465514,328.3227112)(438.20798847,326.76537791)
+ \xmulineto(438.05732181,324.89071129)
+(437.63598848,323.45871132)(436.94265516,322.45871135)
+-- (423.42132213,319.67204475)
+;
+%三个圆
+\path [draw=xmucolor,line width=3mm] (540,535) circle (9cm);
+\path [draw=xmucolor,line width=1mm] (540,535) circle (8.5cm);
+\path [draw=xmucolor,line width=1mm] (537,535) circle (5.7cm);
+%两颗八角星
+\node[star,star points=8,star point height=.3cm,minimum size=1.65cm,
+star point ratio=1.7,fill=xmucolor]at (140,595) { } ;
+\node[star,star points=8,star point height=.3cm,minimum size=1.65cm,
+star point ratio=1.7,fill=xmucolor]at (934,595) { } ;
+%%三颗五角星
+\path [draw=xmucolor,line width=1mm] (537,535) circle (5.7cm);
+%三颗五角星
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (533,474) { };
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (418,730) { };
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (648,730) { };
+%横线
+%真正的
+\draw [line width=1mm, xmucolor ](390,510) -- (680,510);
+\draw [line width=1mm, xmucolor ](470,510) -- (500,539);
+\draw [line width=1mm, xmucolor ](600,510) -- (567,539);
+\draw [line width=1mm, xmucolor ](376,568) -- (452,568);
+\draw [line width=1mm, xmucolor ](615,568) -- (694,568);
+\draw [line width=1mm, xmucolor ](502,568) -- (562,568);
+\draw [line width=1mm, xmucolor ](645,623) -- (693,623);
+\draw [line width=1mm, xmucolor ](373,623) -- (422,623);
+\draw [line width=1mm, xmucolor ](373,691) -- (483,691);
+\draw [line width=1mm, xmucolor ](582,691) -- (697,691);
+
+%城堡
+\draw [line width=1mm, xmucolor ](482,713)--(483,679)
+ --(582,679)--(582,710)--(567.8,710)--(567.8,691)
+ --(553.6,691)--(553,710)--(539.4,710)--(539.4,691)
+ --(525.2,691)--(525.2,710)--(511,710)--(511,691)
+ --(496.8,691)--(496.8,710)--(482.6,710);
+
+\draw [line width=1mm, xmucolor ](483,659)--(483,679) ;
+
+% 城堡左顶
+\draw [line width=0.75mm, xmucolor ](422,641)--(422,672)--(434,672)
+ --(434,656)--(446,656)--(446,672)--(458,672)--(458,656)
+ --(470,656)--(470,672)--(482,672);
+
+% 城堡右顶
+\draw [line width=0.75mm, xmucolor ](645,641)--(645,672)
+ --(633,672)--(633,656)--(621,656)--
+(621,672)--(609,672)--(609,656)--(597,656)--(597,672)--(585,672);
+
+\draw [line width=1mm, draw=xmucolor] (582,679) rectangle (483,659);
+\draw [line width=1mm, draw=xmucolor] (508,679)--(508,659);
+\draw [line width=1mm, draw=xmucolor] (533,679)--(533,659);
+\draw [line width=1mm, draw=xmucolor] (558,679)--(558,659);
+
+\draw [line width=1mm, draw=xmucolor] (575,641) rectangle (490,659);
+\draw [line width=1mm, draw=xmucolor] (518,641) rectangle (546,659);
+
+\draw [line width=1mm, draw=xmucolor] (422,641) rectangle (645,625);
+\draw [line width=0.75mm, draw=xmucolor] (438,641) rectangle (460,625);
+\draw [line width=0.75mm, draw=xmucolor] (607,641) rectangle (629,625);
+\draw [line width=0.75mm, draw=xmucolor] (485.6,641) rectangle (511.3,625);
+\draw [line width=0.75mm, draw=xmucolor] (562.7,641) rectangle (588.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (534,641) -- (534,625);
+
+\draw [line width=0.75mm, draw=xmucolor] (422,606) rectangle (492.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (442,606) rectangle (467,625);
+\draw [line width=0.75mm, draw=xmucolor] (575,606) rectangle (645.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (600,606) rectangle (625.4,625);
+
+\draw [line width=0.75mm, draw=xmucolor]
+ (450,606) --(450,539)--(615.4,539)--(615.4,606);
+
+\draw [line width=0.75mm, draw=xmucolor] (450,539) rectangle (490,595);
+\draw [line width=0.75mm, draw=xmucolor] (450,578) rectangle (465,595);
+\draw [line width=0.75mm, draw=xmucolor] (490,578) rectangle (475,558);
+\draw [line width=0.75mm, draw=xmucolor] (450,578) rectangle (475,558);
+\draw [line width=0.75mm, draw=xmucolor] (475,605) --(475,595);
+\draw [line width=0.75mm, draw=xmucolor] (465,539) --(465,558);
+
+\draw [line width=0.75mm, draw=xmucolor] (575.4,539) rectangle (615.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (603,578) rectangle (615.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (575.4,578) rectangle (595,558);
+\draw [line width=0.75mm, draw=xmucolor] (575.4,578) rectangle (615.4,558);
+\draw [line width=0.75mm, draw=xmucolor] (590,605) --(590,595);
+\draw [line width=0.75mm, draw=xmucolor] (603,539) --(603,558);
+
+\draw [line width=0.75mm, draw=xmucolor] (504,539) rectangle (490,595);
+\draw [line width=0.75mm, draw=xmucolor] (504,553) --(490,553);
+\draw [line width=0.75mm, draw=xmucolor] (504,567) --(490,567);
+\draw [line width=0.75mm, draw=xmucolor] (504,581) --(490,581);
+
+
+\draw [line width=0.75mm, draw=xmucolor] (561.4,539) rectangle (575.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,553) --(575.4,553);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,567) --(575.4,567);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,581) --(575.4,581);
+
+\draw [xmucolor,line width=0.75mm] (562,595)
+ arc [start angle=25, end angle=155, radius=0.55cm];
+\draw [xmucolor,line width=0.75mm] (575,592)
+ arc [start angle=13, end angle=165, radius=0.75cm];
+
+\draw [line width=0.5mm, draw=xmucolor] (534.5,611) --(534.5,622);
+\draw [line width=0.5mm, draw=xmucolor] (525,609) --(519,621);
+\draw [line width=0.5mm, draw=xmucolor] (517,605.5) --(506,615);
+\draw [line width=0.5mm, draw=xmucolor] (509,598) --(495,607);
+
+%\draw [line width=0.5mm, draw=xmucolor] (534.5,606) --(534.5,620);
+\draw [line width=0.5mm, draw=xmucolor] (542,610) --(550,620);
+\draw [line width=0.5mm, draw=xmucolor] (552,605) --(562,615);
+\draw [line width=0.5mm, draw=xmucolor] (558.5,596) --(573,607);
+}
+
+\def\xmuxiamendaxue{
+\fill[xmucolor]
+(2.54164114,5.90998736)
+ \xmulineto(6.23538773,12.32717387)
+(9.70830765,19.47877369)(13.08852091,25.31730688)
+ \xmulineto(18.02757413,34.29130666)
+(22.33957404,43.55690643)(26.02237396,51.98397289)
+ \xmulineto(31.85570716,66.47357253)
+(36.52757372,79.23970555)(40.24117364,92.63917188)
+ \xmulineto(40.99064029,95.35423848)
+(41.02237363,97.1913051)(40.88117363,97.44743843)
+ \xmulineto(40.09370698,98.84277173)
+(40.39170697,103.63557161)(41.49584028,108.17090483)
+ -- (42.44837359,112.09223807)
+ -- (43.91304023,112.09223807)
+ \xmulineto(45.60984019,112.09223807)
+(45.84477352,111.89023808)(48.67810679,107.92037151)
+ \xmulineto(51.58490673,103.84903827)
+(52.36450671,103.50943828)(57.59943993,104.04130494)
+ \xmulineto(67.79317304,104.98917158)
+(76.68383951,108.26463816)(86.53637262,111.0730381)
+ \xmulineto(91.63170584,112.46357139)
+(95.91303908,116.07303797)(101.46503896,116.16050464)
+ \xmulineto(106.13170552,116.11930464)
+(107.52757216,115.71317131)(109.48437212,113.83237136)
+ \xmulineto(111.75517207,111.64957141)
+(112.13690539,110.33237145)(111.03637208,108.45263816)
+ \xmulineto(109.50103878,105.81623823)
+(107.47397216,105.18757157)(100.36090565,105.12503824)
+ \xmulineto(92.58490582,105.05690491)
+(91.90783917,104.77557158)(89.38637256,100.52463836)
+ \xmulineto(86.90783928,96.85797178)
+(87.08850594,96.86837178)(89.2817059,93.04650521)
+ -- (94.36450578,93.04650521)
+ \xmulineto(99.27130567,93.04130521)
+(99.55837234,92.98290521)(102.5885056,91.47250525)
+ \xmulineto(106.27650552,89.63557196)
+(106.55303885,89.04650531)(104.85050555,84.91517207)
+ \xmulineto(103.48437225,81.59797216)
+(103.72503891,72.13917239)(104.52757223,68.62463914)
+ \xmulineto(105.13690555,65.95263921)
+(104.57970556,63.15583928)(102.97023893,60.869306)
+ \xmulineto(101.88117228,59.32250604)
+(101.15103897,58.85370605)(98.2145057,57.82250608)
+ \xmulineto(93.48437247,56.16570612)
+(88.24637258,53.23917286)(88.24637258,52.25943955)
+ \xmulineto(88.24637258,51.07250624)
+(92.15730583,49.71837294)(96.59943907,49.36930629)
+ \xmulineto(100.14063899,49.09277296)
+(100.56877231,48.95797296)(101.62650562,47.75423966)
+ \xmulineto(103.05303892,46.11930637)
+(105.50103887,41.63503981)(105.50103887,40.64543983)
+ \xmulineto(105.50103887,39.62463986)
+(103.90783891,36.48917327)(102.29317227,34.07250666)
+ \xmulineto(101.35570563,32.68704003)
+(100.45410565,31.2339734)(98.91303902,29.7646401)
+ \xmulineto(96.35570574,27.24904016)
+(98.83437235,26.72877351)(103.24637225,24.26464024)
+ \xmulineto(105.17810554,23.12464027)
+(107.0417055,22.17610696)(112.38117205,20.24384034)
+ \xmulineto(116.18903864,18.86410704)
+(120.01717188,17.79650706)(122.12077184,17.09797375)
+ \xmulineto(126.50623841,15.65584045)
+(130.94837164,15.39024046)(134.61997156,12.96312052)
+ -- (135.59330487,12.05686721)
+ -- (134.55863823,10.95842723)
+ \xmulineto(129.42183834,7.10374733)
+(124.20303846,6.07665402)(119.00103857,4.00998741)
+ \xmulineto(116.22503863,3.06780076)
+(114.03637202,3.00998743)(111.08850541,2.7704141)
+ -- (107.0745055,6.16102735)
+ \xmulineto(101.39170563,10.55165391)
+(96.31770574,14.05690716)(92.3035725,17.04650708)
+ \xmulineto(90.25517254,18.35744038)
+(87.89690593,20.96317365)(85.49583931,21.01464032)
+ \xmulineto(83.51143936,21.01464032)
+(77.73023948,17.31210708)(74.68903955,15.2079738)
+ \xmulineto(72.71450626,13.84277383)
+(71.68903962,13.37464051)(69.536373,12.41572053)
+ \xmulineto(65.91303974,10.96208057)
+(62.56357315,9.54645394)(58.19783991,9.09280061)
+ \xmulineto(55.90210663,9.28082728)
+(55.53637331,10.67665391)(57.40783993,12.11416054)
+ \xmulineto(58.09943992,12.64541386)
+(59.77650655,13.94744049)(61.13170652,15.00424047)
+ \xmulineto(62.48437315,16.06210711)
+(65.26610642,18.06730706)(67.30357305,19.46317369)
+ \xmulineto(72.47397293,22.9891736)
+(75.15103954,25.03077355)(74.70303955,27.26464016)
+ \xmulineto(74.40210622,28.74904013)
+(74.40210622,28.84277346)(73.14063958,30.71317341)
+ \xmulineto(71.33957296,33.39544001)
+(70.59943964,33.89024)(68.98437301,33.48397334)
+ \xmulineto(67.76037304,33.17610669)
+(67.30730638,32.77557336)(63.47397313,28.63504013)
+ \xmulineto(61.21450651,26.18704019)
+(55.9431733,23.0203736)(53.47024002,22.62464028)
+ \xmulineto(51.84477339,22.36410695)
+(51.71970672,22.42090695)(51.71970672,23.42090693)
+ \xmulineto(51.71970672,24.00944024)
+(52.47397337,25.43704021)(53.40210669,26.59277351)
+ \xmulineto(54.32397333,27.74384015)
+(56.29317329,30.34797342)(57.77130659,32.37984004)
+ \xmulineto(59.25157322,34.40583999)
+(61.30357318,37.06730659)(62.33957316,38.28597323)
+ \xmulineto(65.37503976,41.86410647)
+(65.37503976,43.95263975)(62.34477316,43.96837309)
+ \xmulineto(60.65103986,43.97877309)
+(56.40210662,47.15063967)(56.01143996,48.69077297)
+ \xmulineto(55.48437331,50.78597292)
+(56.10463996,51.5203729)(60.00103987,53.40583952)
+ \xmulineto(62.05837316,54.40063949)
+(63.88117312,55.56210613)(64.05303978,55.97877279)
+ \xmulineto(64.22503978,56.40063945)
+(64.42703978,63.36410594)(64.50623977,71.44743907)
+ \xmulineto(64.66250644,87.99903867)
+(64.57450644,87.56730534)(68.06357303,89.34903863)
+ \xmulineto(70.56357297,90.6250386)
+(75.5849062,95.46357181)(76.57970618,97.5621051)
+ \xmulineto(77.35570616,99.01570506)
+(76.9130395,101.26463834)(75.06357288,101.33757167)
+ \xmulineto(71.99583961,101.05690501)
+(57.85050659,95.05170516)(57.63170659,94.13557185)
+ \xmulineto(54.57450666,87.36837201)
+(49.89690676,73.44743902)(46.64064017,61.91570598)
+ \xmulineto(43.39170691,50.38503959)
+(41.09370696,41.50943981)(34.01717378,29.68130677)
+ \xmulineto(30.45410719,23.77037358)
+(28.7603739,20.69744033)(24.50624066,14.18130715)
+ \xmulineto(21.93797405,10.25426725)
+(15.25157419,3.97821407)(12.76664092,2.7704141)
+ \xmulineto(10.28226764,1.5678008)
+(7.18904104,0.37978216)(4.3176811,0.1141575)
+ \xmulineto(-1.8630521,-0.46969648)
+(-0.42033746,1.14488614)(2.54164114,5.90998736)
+ -- cycle
+(87.35570594,33.95264)
+ \xmulineto(90.21970587,35.85370662)
+(91.21450585,36.90063993)(92.10983917,38.96837321)
+ \xmulineto(94.16770579,43.71837309)
+(92.32917249,46.62983969)(86.79317262,47.36410633)
+ \xmulineto(85.01143932,47.597973)
+(84.23023934,47.483973)(83.13690603,46.84277301)
+ \xmulineto(81.3750394,45.50423971)
+(80.31250609,43.44223977)(79.05837279,42.06730647)
+ \xmulineto(77.57970615,40.45263984)
+(76.36970618,38.84797321)(76.36970618,38.49903989)
+ \xmulineto(76.36970618,37.41570658)
+(83.07450603,32.79130669)(84.667706,32.77557336)
+ \xmulineto(85.16770599,32.77037336)
+(86.37503929,33.30170668)(87.35570594,33.95264)
+ -- cycle
+(83.98437268,60.17610602)
+ \xmulineto(92.31250583,62.42610596)
+(92.42183916,62.28597263)(92.59370582,64.11930592)
+ \xmulineto(92.89690582,67.25943918)
+(91.95983917,67.46317251)(88.38637258,66.80690585)
+ \xmulineto(86.78743928,66.5094392)
+(84.631706,65.76463921)(83.04170603,65.29130589)
+ \xmulineto(81.94837272,64.96837257)
+(80.39170609,64.14543925)(79.74997277,64.01463926)
+ \xmulineto(77.02757283,63.45263927)
+(74.82917288,61.33757266)(77.36450616,59.28597271)
+ \xmulineto(78.03637281,58.74383939)
+(78.88637279,58.79650605)(83.98437268,60.17610602)
+ -- cycle
+(89.35570589,71.80583906)
+ \xmulineto(92.74997249,71.59223907)
+(93.31250581,72.08183906)(93.5937058,72.36837238)
+ \xmulineto(94.56877245,73.33757236)
+(94.07450579,75.69650564)(94.07970579,78.41517224)
+ \xmulineto(94.08330579,79.60890554)
+(93.53117247,81.0209055)(93.38117247,81.92037215)
+ \xmulineto(93.22503914,82.81623879)
+(92.75517249,84.62503875)(92.39690583,84.92037207)
+ \xmulineto(91.41303918,85.73970539)
+(80.76610608,86.19650538)(77.62077282,86.06210538)
+ \xmulineto(74.73023955,85.99903871)
+(74.93277288,85.57823872)(74.92703954,84.00423876)
+ \xmulineto(74.91823955,82.12503881)
+(74.62650622,81.80583882)(77.46503949,81.71317215)
+ -- (82.17290605,81.68237215)
+ \xmulineto(89.46503922,81.63023882)
+(91.15730585,81.58703882)(91.15730585,79.66050554)
+ \xmulineto(91.15730585,77.59223892)
+(88.81250591,76.73970561)(82.09370605,75.67090564)
+ \xmulineto(77.01717283,74.86317232)
+(76.08330619,75.05690565)(76.20837285,72.52983905)
+ \xmulineto(76.28743951,70.90637242)
+(77.32397283,70.42090577)(81.62650606,70.94223909)
+ \xmulineto(84.317706,71.17090575)
+(86.62077262,71.66050574)(89.35570589,71.80583906)
+ -- cycle
+(464.61063095,7.22353399)
+ \xmulineto(461.22929769,10.93708057)
+(459.74529773,12.17665387)(457.44396444,14.69077381)
+ \xmulineto(455.71463115,16.57717376)
+(453.44396453,20.59277366)(451.23996458,24.34797357)
+ \xmulineto(455.40663116,21.97877363)
+(462.23463101,18.89544037)(467.92796421,18.11410706)
+ \xmulineto(473.84929742,17.80690706)
+(475.51063071,25.9938402)(475.9386307,31.30170673)
+ \xmulineto(476.76129735,41.10370649)
+(476.47463069,41.8574398)(474.93329739,43.10370644)
+ \xmulineto(472.01063079,45.82717304)
+(470.33463083,46.20797303)(463.65729764,43.84797309)
+ \xmulineto(458.99063108,42.2026398)
+(453.90663119,40.75423983)(449.47996462,38.47357322)
+ \xmulineto(447.93863132,37.68130657)
+(443.64129808,37.75943991)(442.54796477,38.81730655)
+ \xmulineto(438.1412982,43.05170644)
+(434.01596496,46.0146397)(434.01596496,46.50423969)
+ \xmulineto(434.01596496,47.468373)
+(435.96929825,48.44743964)(437.84929821,48.43130631)
+ \xmulineto(443.22529809,48.37983964)
+(458.87596441,49.39543962)(461.50663102,49.96837294)
+ \xmulineto(466.55329758,50.69077292)
+(471.71996413,50.80170625)(476.45863069,52.52410621)
+ \xmulineto(478.03196399,53.11930619)
+(478.9332973,55.32717281)(478.57329731,57.72877275)
+
+ \xmulineto(478.70929731,60.10370602)
+(477.90129733,60.920906)(476.02129737,61.50423932)
+ \xmulineto(475.39596405,61.89023931)
+(475.35463072,62.64023929)(475.69863071,65.91050588)
+ \xmulineto(475.9746307,68.51463915)
+(475.94929737,69.88503911)(475.61996404,70.28077244)
+ \xmulineto(472.41196411,73.0517057)
+(468.13596421,67.89023916)(466.96396423,66.59277253)
+ \xmulineto(465.5012976,64.96317257)
+(465.38663094,64.34277258)(463.43329765,64.63503924)
+ \xmulineto(460.66796437,65.72877255)
+(455.35463116,69.1193058)(454.77729784,72.39023905)
+ \xmulineto(454.90663117,72.73397238)
+(456.23996447,73.1965057)(457.84396444,73.45837236)
+ \xmulineto(465.57863093,75.47250564)
+(470.23463083,76.73970561)(477.72529733,78.23397224)
+ \xmulineto(479.61596396,78.5870389)
+(479.67729729,78.89543889)(481.78263057,78.22877224)
+ \xmulineto(484.77196384,77.28597226)
+(485.85463049,76.92557227)(487.45863045,75.43130564)
+ \xmulineto(489.23996374,73.77037235)
+(489.05863041,72.51570571)(486.81863046,71.00423908)
+ \xmulineto(483.43863054,68.72877247)
+(479.1052973,64.34277258)(479.42263063,63.51463927)
+ \xmulineto(479.58396396,63.10370595)
+(481.05863059,62.16050597)(482.70396389,61.42090599)
+ \xmulineto(485.99596382,59.94743936)
+(487.18263046,59.29130604)(487.11063046,57.08757276)
+ \xmulineto(487.01063046,53.94223951)
+(487.74529711,54.65063949)(492.46929701,55.14023948)
+ \xmulineto(498.7506302,55.96837279)
+(504.19329675,58.22357273)(510.63062994,56.75423944)
+ \xmulineto(513.58929654,54.34797283)
+(514.09462986,50.85743958)(516.16262982,47.94743965)
+ \xmulineto(517.33462979,46.32717303)
+(516.84929647,44.96837306)(514.99596318,44.6657064)
+ \xmulineto(508.07863,43.65063976)
+(502.40129679,45.12463972)(495.7719636,45.86410637)
+ \xmulineto(493.60529698,46.09797303)
+(492.26129701,46.0146397)(490.18796372,44.49383974)
+ \xmulineto(488.76129709,43.44743976)
+(487.96929711,42.42090646)(487.67729711,41.49903981)
+ \xmulineto(486.94929713,39.15063987)
+(486.15729715,33.39024001)(485.96396382,28.47357347)
+ \xmulineto(485.81863049,25.05690689)
+(485.44396383,22.58237361)(485.06796384,20.09277367)
+ \xmulineto(484.46929718,16.08757377)
+(481.83463057,10.9730139)(478.67729731,7.69697398)
+ \xmulineto(476.62529736,5.80113403)
+(473.19863076,3.25946742)(470.82396415,3.18602743)
+ \xmulineto(468.7199642,3.18602743)
+(468.59463087,3.27041409)(464.61063095,7.22353399)
+ -- cycle
+(237.41330263,16.66570709)
+ \xmulineto(235.39596934,16.85744042)
+(233.02263606,17.32717374)(232.40130274,17.6558404)
+ \xmulineto(231.78263609,17.97877373)
+(230.07996946,19.56730702)(228.35063616,21.22877365)
+ \xmulineto(226.7026362,22.92090694)
+(224.82930291,23.88504025)(223.46530294,25.14544022)
+ \xmulineto(219.70930302,27.75944015)
+(215.89596977,30.70264008)(213.0626365,33.73397334)
+ \xmulineto(210.33996989,37.12463992)
+(212.44930318,36.6089066)(215.21996979,35.75423995)
+ \xmulineto(216.13196977,35.13503997)
+(217.7826364,34.40583999)(218.8919697,34.12464)
+ \xmulineto(220.00130301,33.84797334)
+(222.31730296,33.12464002)(224.04263626,32.52037337)
+ \xmulineto(225.75996955,32.17610671)
+(230.63196945,31.50424006)(232.86130273,31.2183734)
+ \xmulineto(233.22530272,31.58237339)
+(233.16796939,34.87983998)(233.16796939,34.87983998)
+ \xmulineto(233.43863605,39.67090652)
+(233.83463604,44.24383975)(233.86130271,48.19077298)
+ \xmulineto(233.88130271,53.11930619)
+(233.77196938,59.15063938)(233.86130271,61.00423933)
+ \xmulineto(234.29863603,70.62983909)
+(233.81730271,75.33237231)(227.62530285,74.14957234)
+ \xmulineto(221.66263631,73.00943904)
+(219.65063635,71.29170574)(215.16796979,72.83757237)
+ \xmulineto(213.29863649,73.44743902)
+(211.28663654,74.25890567)(210.70263655,74.64437233)
+ \xmulineto(209.13730325,75.67090564)
+(207.34396996,79.6495722)(207.31730329,82.25370547)
+ \xmulineto(207.27730329,87.14437202)
+(207.62530329,91.13023859)(207.04796997,96.1875718)
+ \xmulineto(206.73463664,98.92557173)
+(206.46530331,101.11410501)(205.66797,103.57823828)
+ \xmulineto(205.31197,104.19650493)
+(205.02263668,105.72357156)(205.01063668,106.97250486)
+ \xmulineto(205.00130334,108.78597149)
+(205.20930334,109.44743814)(206.03196999,110.22357145)
+ \xmulineto(207.58530329,111.68237141)
+(210.64530322,111.56730475)(212.74663651,109.96890479)
+ \xmulineto(214.68930313,108.48917149)
+(215.30396978,106.97250486)(215.30796978,103.62503828)
+ \xmulineto(215.31196978,102.24490498)
+(215.49063645,100.84277168)(215.70263644,100.50943836)
+ \xmulineto(216.88130308,98.64957174)
+(223.72530293,99.60890505)(226.5746362,99.97770504)
+ \xmulineto(229.8693028,100.40637169)
+(229.5853028,101.84903832)(229.50663614,107.89543817)
+ \xmulineto(229.4653028,111.22357142)
+(229.15730281,114.60890467)(228.91330282,114.874638)
+ \xmulineto(228.67730282,115.125038)
+(226.28663621,115.19130466)(223.40130294,114.77557134)
+ \xmulineto(218.10530305,114.00943802)
+(217.4386364,114.31103802)(217.4386364,115.14437133)
+ \xmulineto(217.4386364,115.82717131)
+(221.66796964,117.5465046)(223.13730294,118.09797126)
+ \xmulineto(227.62530285,120.3579712)
+(228.00130284,122.49903781)(233.91330271,124.23970444)
+ \xmulineto(234.30396936,124.2859711)
+(236.54263598,123.0870378)(238.56796927,121.73397117)
+ \xmulineto(240.59330256,120.37463787)
+(243.2413025,118.83757124)(244.45330247,118.31623792)
+ \xmulineto(246.36930243,117.49383794)
+(246.81196909,117.04130461)(247.85596907,114.849038)
+ \xmulineto(247.85596907,114.849038)
+(248.47863572,113.12503804)(248.48396905,111.98290474)
+ \xmulineto(248.49063572,110.84277143)
+(247.6773024,108.15583817)(247.6773024,108.15583817)
+ \xmulineto(246.71996909,100.74850502)
+(246.67330243,95.01570516)(246.68930242,89.63917196)
+ \xmulineto(246.72530242,78.56730556)
+(246.98396908,68.48397248)(247.32396908,65.25943923)
+ \xmulineto(247.69463574,53.64543951)
+(247.79196907,42.07717313)(247.35596908,30.53077342)
+ \xmulineto(247.5853024,26.85744017)
+(246.86130242,23.37984026)(245.52263578,20.45797367)
+ \xmulineto(244.04796915,17.27557374)
+(243.58930249,16.97877375)(241.96530253,16.50424043)
+ \xmulineto(241.64130254,16.5413071)
+(239.42663592,16.46837376)(237.41330263,16.66570709)
+ -- cycle
+(225.76663622,81.60890549)
+ \xmulineto(229.76663613,81.77557215)
+(232.16796941,79.9115722)(232.09996941,82.45837214)
+ \xmulineto(232.00663608,84.82250541)
+(231.91863608,87.85423867)(231.72930275,90.35797194)
+ \xmulineto(231.47063609,93.87983852)
+(229.99596946,92.48917189)(228.66796949,92.63557188)
+ \xmulineto(227.59996951,92.74850521)
+(225.21996956,92.28077189)(223.36930294,92.16050523)
+ \xmulineto(218.22530305,91.8271719)
+(216.31196976,91.45263858)(215.61063644,90.64957193)
+ \xmulineto(213.96530315,88.77037198)
+(214.14530314,83.06730545)(215.88663644,81.84277215)
+ \xmulineto(216.80796975,81.1965055)
+(219.91330302,80.91517217)(225.76663622,81.60890549)
+ -- cycle
+(375.75063291,18.20264039)
+ \xmulineto(365.9532998,26.08757353)
+(357.56796665,36.83757326)(350.08396681,46.38503969)
+ \xmulineto(346.44930023,51.02037291)
+(340.32396703,59.84797269)(336.94930043,62.97357262)
+ \xmulineto(334.96930048,63.7287726)
+(331.49063389,62.27557263)(329.45863393,59.84277269)
+ \xmulineto(326.266634,55.36930614)
+(323.31863407,50.47357292)(320.18263414,46.29130636)
+ \xmulineto(317.78663419,43.04130644)
+(308.56796773,33.47877334)(304.85463448,30.55690675)
+ \xmulineto(302.91196785,29.03077345)
+(297.5533013,26.58237351)(294.18263471,25.68130687)
+ \xmulineto(289.09996816,24.47877357)
+(279.85996836,24.24384024)(276.70396843,27.31730683)
+ \xmulineto(280.94396834,30.75424008)
+(287.38130153,32.71837336)(291.81330143,37.00423992)
+ \xmulineto(297.61996797,42.47357312)
+(304.00663449,47.98917299)(308.54796773,54.05690617)
+ \xmulineto(310.57863435,57.12983943)
+(315.96396756,61.75943931)(316.14130089,64.42610591)
+ \xmulineto(316.32930089,67.20263918)
+(311.53730099,68.48397248)(306.38663444,68.47877248)
+ \xmulineto(304.18796782,68.49383915)
+(301.26130122,68.45263915)(300.32930124,68.68703914)
+ \xmulineto(297.59463464,69.37463912)
+(294.74530137,71.65583907)(293.91863472,73.81623902)
+ \xmulineto(289.61596814,81.91157215)
+(290.07330147,82.5870388)(298.99596794,81.79690548)
+ \xmulineto(305.56263446,82.42037214)
+(319.62530082,84.50943875)(325.1253007,87.23397202)
+ \xmulineto(325.84930068,87.68237201)
+(326.75596733,89.75370529)(327.49063398,92.62503855)
+ \xmulineto(328.01063397,98.41157174)
+(327.53730064,102.95837163)(327.42796731,108.29170483)
+ \xmulineto(327.67330064,116.2859713)
+(322.25596743,120.4635712)(319.0479675,120.88503785)
+ \xmulineto(319.05330083,121.10370451)
+(322.22530076,122.63917114)(322.85996741,124.68757109)
+ \xmulineto(324.13063405,128.73970433)
+(324.44396738,130.69130428)(328.55863395,130.30223762)
+ \xmulineto(336.7919671,129.08183765)
+(337.58530042,128.97770432)(340.05330037,128.31103767)
+ \xmulineto(343.60530029,127.35797103)
+(344.85463359,118.13917125)(344.67730026,114.811038)
+ \xmulineto(344.28263361,107.45837152)
+(343.90130028,102.51570497)(343.68263362,101.86317166)
+ \xmulineto(343.34930029,100.86317168)
+(344.12530028,94.74850517)(344.76130026,94.22357184)
+ \xmulineto(350.30796681,94.24850518)
+(355.61063336,96.98290511)(361.52129989,97.31103844)
+ \xmulineto(365.02129982,98.11930508)
+(370.57329969,94.64437183)(373.33463297,93.18757187)
+ \xmulineto(376.89596622,91.46357191)
+(376.58929956,91.8427719)(376.54796623,88.10370533)
+ \xmulineto(376.51596623,84.89543874)
+(376.45329956,84.71317208)(374.9012996,83.15583878)
+
+ \xmulineto(372.20929966,80.45263885)
+(370.49063303,80.21837219)(367.1626331,80.79690551)
+ \xmulineto(361.84929989,81.59223882)
+(357.12529999,82.30223881)(351.54263345,80.17610552)
+ \xmulineto(348.78663351,79.10370555)
+(347.20930021,78.15583891)(346.76663355,77.2917056)
+ \xmulineto(343.18796696,73.47770569)
+(345.14130025,71.7859724)(347.13063354,69.20263913)
+ \xmulineto(351.77196677,63.35370594)
+(354.58930005,60.77037267)(359.60529994,56.32250611)
+ \xmulineto(367.64129976,49.19077296)
+(371.19329968,46.1350397)(379.18263284,41.06730649)
+ \xmulineto(385.10529937,37.30690658)
+(391.77729923,33.39544001)(398.38129908,28.98397346)
+ \xmulineto(399.46929906,28.14024014)
+(400.3079657,27.2859735)(400.46929903,26.75944018)
+ \xmulineto(396.64129912,23.53597359)
+(391.20396591,22.95264027)(388.58396596,21.73397363)
+ \xmulineto(384.35996606,19.77557368)
+(381.18796613,18.92610704)(377.28663288,17.7542404)
+ \xmulineto(376.69329956,17.57250707)
+(376.14129957,17.73397373)(375.75063291,18.20264039)
+ -- cycle
+(157.67330439,23.58237359)
+ \xmulineto(153.74663781,25.7594402)
+(154.06797113,30.93704007)(154.13197113,35.65063996)
+ \xmulineto(154.29330446,37.39543991)
+(154.46530446,44.16570641)(154.51063779,50.69743959)
+ \xmulineto(154.58930446,62.07250597)
+(156.08397109,75.55690564)(156.13730442,77.13917227)
+ \xmulineto(156.36130442,83.61410544)
+(156.63197108,88.79170531)(156.99063774,95.06730516)
+ \xmulineto(157.75597105,101.42037167)
+(155.7719711,104.51570492)(152.25597117,109.26463814)
+ \xmulineto(151.05330453,110.79170477)
+(151.42663786,112.16570474)(152.75597116,113.41517137)
+ \xmulineto(156.50663775,114.86837134)
+(160.115971,117.4689046)(163.44397093,115.18237133)
+ \xmulineto(165.54797088,113.6761047)
+(165.60530421,113.63557137)(167.38130417,112.45837139)
+ \xmulineto(168.28663749,111.85423808)
+(169.54797079,110.43130478)(170.18397078,110.43130478)
+ \xmulineto(173.19463738,110.7646381)
+(175.69863732,112.66570472)(178.15730394,113.92557136)
+ \xmulineto(179.36530391,114.56730468)
+(180.77730388,115.35423799)(181.65730386,116.02463797)
+ \xmulineto(184.29863713,118.04650459)
+(186.18397043,119.26463789)(186.67730375,119.26463789)
+ \xmulineto(186.93330374,119.26463789)
+(188.18397038,118.58183791)(189.45863702,117.7537046)
+ \xmulineto(190.72930366,116.92037128)
+(191.97463696,116.16050464)(192.22530363,116.06730464)
+ \xmulineto(193.97463692,115.38503799)
+(196.06797021,113.59223803)(196.71463686,112.2287714)
+ \xmulineto(197.35597018,110.8798381)
+(197.39597018,110.34277145)(196.96530352,108.99903815)
+ \xmulineto(196.67730353,108.11410484)
+(195.94930354,104.46357159)(195.34397022,100.89023835)
+ \xmulineto(194.74130357,97.31623844)
+(194.01730359,93.38503853)(193.72930359,92.1495719)
+ \xmulineto(193.4333036,90.84277193)
+(193.2293036,86.27557204)(193.25197027,81.1965055)
+ \xmulineto(193.28663694,71.6823724)
+(192.92663694,69.77037245)(191.01730365,69.29130579)
+ \xmulineto(190.40797033,69.13503913)
+(189.10530369,69.41050579)(187.90797039,69.93703911)
+ \xmulineto(185.54797044,70.98290575)
+(182.50663717,71.19650575)(180.61997055,70.45797243)
+ \xmulineto(178.2199706,69.80690578)
+(175.99597065,69.02037247)(173.7599707,67.97357249)
+ \xmulineto(170.00130412,66.22357254)
+(170.07463745,67.67090583)(170.19463744,62.22877263)
+ \xmulineto(169.99597078,58.64543939)
+(169.83463745,53.29130619)(170.08397078,50.2490396)
+ \xmulineto(171.16263742,37.56730658)
+(171.01063743,34.87983998)(170.8653041,33.97877333)
+ \xmulineto(170.11997078,29.52410678)
+(167.5746375,21.59277364)(163.2466376,21.81730697)
+ \xmulineto(160.75597099,21.9422403)
+(159.40797102,22.61930695)(157.67330439,23.58237359)
+ -- cycle
+(177.06797063,75.82250563)
+ \xmulineto(179.44397057,76.72877228)
+(182.93863716,79.35797221)(183.88130381,80.96357217)
+ \xmulineto(184.5013038,82.00943881)
+(184.82930379,83.33237211)(184.82930379,84.77037208)
+ \xmulineto(184.82930379,86.63557203)
+(184.65063713,87.09223869)(183.69863715,87.71837201)
+ \xmulineto(182.64530384,88.40637199)
+(181.87597052,88.66050532)(179.99063723,87.94223867)
+ \xmulineto(178.87597059,87.51570534)
+(176.7026373,87.37463868)(174.77730401,87.05170536)
+ \xmulineto(170.06263745,86.24850537)
+(169.58930412,85.32717206)(169.58930412,82.23397214)
+ \xmulineto(169.58930412,80.13557219)
+(171.36130409,76.81103894)(172.87597072,76.06730563)
+ \xmulineto(174.56797068,75.23397231)
+(175.38663733,75.18757231)(177.06797063,75.82250563)
+ -- cycle
+(180.74663721,94.99383849)
+ \xmulineto(181.80397052,95.46890515)
+(183.28663716,96.71317178)(184.21463714,97.90637175)
+ \xmulineto(185.67730377,99.78077171)
+(185.81730377,100.19650503)(185.6106371,102.03503832)
+ \xmulineto(185.03197045,103.94743827)
+(184.16263714,107.0042382)(183.30797049,107.96357151)
+ \xmulineto(182.14130385,109.27037147)
+(182.27730384,109.91157146)(175.89597065,108.54130482)
+ \xmulineto(174.14130402,108.16570483)
+(172.75997072,107.97250484)(170.85597076,107.73397151)
+ \xmulineto(169.56263746,107.57823818)
+(169.75597079,107.18757152)(169.75063745,104.78077158)
+ \xmulineto(169.75063745,103.37463829)
+(169.57997079,101.20170501)(169.59330412,99.81623837)
+ \xmulineto(169.61997079,97.34903843)
+(170.10530411,96.85797178)(173.06797071,95.31623848)
+ \xmulineto(175.63197066,93.97770518)
+(178.24130393,93.86837185)(180.74663721,94.99383849)
+ -- cycle
+(427.64129844,64.04130592)
+ \xmulineto(426.07329847,65.33757256)
+(424.40663184,68.09277249)(423.55863186,69.41050579)
+ \xmulineto(421.93329856,71.94223906)
+(421.11596525,79.31103888)(421.21996524,80.97770551)
+ \xmulineto(421.34929857,83.09223879)
+(422.12529856,85.55170539)(423.77729852,86.5094387)
+ \xmulineto(424.9012985,87.15583869)
+(425.27729849,87.31103868)(426.56796513,85.45263873)
+ \xmulineto(429.1052984,81.81103882)
+(432.37063166,78.91157222)(434.62529828,76.83757227)
+ \xmulineto(437.82396488,73.98290568)
+(437.75063155,72.16050572)(436.21463158,69.15063913)
+ \xmulineto(435.3186316,67.10890585)
+(435.92263159,65.0517059)(434.22929829,64.33237258)
+ \xmulineto(431.71463168,63.28077261)
+(429.0372984,63.16570594)(427.64129844,64.04130592)
+ -- cycle
+(521.57329636,76.27557229)
+ \xmulineto(520.43329639,77.18237227)
+(517.87062978,77.23397226)(515.35996317,77.00943894)
+ \xmulineto(511.94396324,76.70170561)
+(510.25062995,76.20797229)(512.74529656,78.43130557)
+ \xmulineto(513.31862988,78.94743889)
+(514.64662985,80.39023885)(514.90662984,81.33757216)
+ \xmulineto(515.3652965,82.99903879)
+(514.71996318,83.20797212)(513.22529655,84.51570542)
+ \xmulineto(509.94929662,87.37983868)
+(507.03196335,88.79170531)(504.37596341,88.79170531)
+ \xmulineto(493.80263031,88.86317198)
+(484.17329719,88.68757198)(473.99063075,86.69650536)
+ \xmulineto(467.43863089,85.86317205)
+(461.30796436,84.14957209)(458.68796442,83.40063878)
+ \xmulineto(454.85463117,82.31103881)
+(452.59996455,79.54130554)(449.46929795,79.13557222)
+ \xmulineto(445.49596471,78.63917223)
+(443.22929809,79.08183889)(440.49596482,80.90063884)
+ \xmulineto(437.83996488,82.66050546)
+(437.41729822,83.64957211)(439.05863152,84.17090543)
+ \xmulineto(442.28263145,85.1913054)
+(442.03196478,85.1089054)(444.58929806,86.10890538)
+ \xmulineto(448.8186313,88.097972)
+(447.68263133,91.68757191)(447.53196466,93.85423852)
+ \xmulineto(446.85996468,99.03503839)
+(446.76663135,104.13023827)(446.19329803,109.00423815)
+ \xmulineto(445.60529804,114.00423802)
+(445.6879647,118.8490379)(444.13596474,122.22877115)
+ \xmulineto(443.59463142,123.27037113)
+(442.97996476,124.49903776)(442.97996476,124.91157109)
+ \xmulineto(442.97996476,126.10370439)
+(444.83996472,128.05170434)(445.6679647,129.12503765)
+ \xmulineto(447.51063133,131.52090426)
+(448.17729798,132.55170423)(450.3079646,135.27557083)
+ \xmulineto(451.14129792,136.3435708)
+(452.89596455,138.11957076)(454.20396452,139.92623738)
+ \xmulineto(455.72529782,142.024904)
+(456.65196446,140.33823737)(461.29729769,140.6355707)
+ \xmulineto(462.03729768,140.79690403)
+(463.93863097,141.07823735)(464.62529762,140.81157069)
+ \xmulineto(465.77729759,140.37423737)
+(465.85463093,140.20223738)(465.58396427,138.65023741)
+ \xmulineto(465.20396427,136.52090413)
+(465.6412976,136.4475708)(462.01596434,135.03557084)
+ \xmulineto(460.01596439,134.25957086)
+(457.34396445,132.58703756)(456.18796447,131.71317092)
+ \xmulineto(454.33463118,130.30223762)
+(450.76129793,127.99903768)(451.15196458,125.40637107)
+ \xmulineto(452.40129789,121.90637116)
+(454.50663118,121.64957117)(459.36529774,121.45263784)
+ \xmulineto(465.30796427,121.21317118)
+(466.50663091,120.06210454)(465.23996427,117.62503793)
+ \xmulineto(464.72929762,116.63917129)
+(463.46929765,116.49383796)(461.71463102,116.07823797)
+ \xmulineto(459.01063108,115.36317132)
+(457.09463112,114.23397135)(454.59463117,113.02463805)
+ -- (454.58929784,110.06730479)
+ \xmulineto(454.57863117,107.04130486)
+(455.38129782,106.13557155)(456.51596447,105.07823824)
+ \xmulineto(457.66796444,104.00943827)
+(459.85463106,104.20170493)(462.458631,105.09223824)
+ \xmulineto(467.73463088,106.8902382)
+(467.66796422,106.8798382)(468.62529753,105.92037156)
+ \xmulineto(469.42796418,105.11930491)
+(469.15196419,104.77557158)(468.60529753,103.63557161)
+ \xmulineto(466.70929757,101.93130499)
+(463.64129764,100.42037169)(461.73463102,99.40637172)
+ \xmulineto(460.40663105,98.73397173)
+(459.26663107,97.96890509)(457.64129777,97.01570511)
+ \xmulineto(456.25063114,96.87983845)
+(456.64663113,96.58183845)(456.5212978,94.11930518)
+ \xmulineto(456.4532978,92.73397188)
+(456.61063113,91.05170526)(456.86529779,90.37983861)
+ \xmulineto(457.31863111,89.18757197)
+(457.04796445,88.90637198)(459.78263106,89.1605053)
+
+ \xmulineto(463.46396431,89.48917196)
+(473.1159641,90.91517193)(478.43863065,91.73397191)
+ \xmulineto(486.04796381,92.90637188)
+(489.27196374,93.2449052)(498.10529688,93.71837186)
+ \xmulineto(503.75596342,93.39543853)
+(504.37596341,93.78077186)(504.81863007,98.11930508)
+ \xmulineto(505.60529672,103.42557162)
+(503.78263009,103.15583829)(501.20929681,104.02463827)
+ \xmulineto(500.31329683,104.2755716)
+(498.8346302,104.80583825)(498.50663021,105.20170491)
+ \xmulineto(497.99596355,105.81623823)
+(498.05863022,106.04650489)(498.95329686,106.77037153)
+ \xmulineto(501.57329681,108.43130483)
+(503.96396342,106.73970487)(506.90129669,107.73397151)
+ \xmulineto(507.56796334,107.94223817)
+(507.78663,109.13557148)(508.05329666,110.49903811)
+ \xmulineto(508.53196332,112.99903805)
+(508.71996331,113.52983803)(508.17329666,114.67610467)
+ \xmulineto(507.66796334,115.73397131)
+(507.51063001,116.43703796)(504.46929674,117.63557127)
+ \xmulineto(501.15196348,118.9474379)
+(500.72529682,119.45837122)(501.11063015,120.46890453)
+ \xmulineto(501.29196348,120.94223785)
+(502.14129679,121.01570452)(505.0159634,120.80583786)
+ \xmulineto(509.35462997,120.48290453)
+(509.43329663,120.54130453)(510.40662994,124.67090443)
+ \xmulineto(511.81862991,130.64957095)
+(510.9852966,133.55157087)(507.83463,133.65557087)
+ \xmulineto(506.33463003,133.9369042)
+(501.24529681,133.06730422)(500.88663015,134.59823751)
+ \xmulineto(500.78263016,135.1302375)
+(501.12529682,135.46357083)(501.99596346,135.67157082)
+ \xmulineto(504.72529674,136.83823746)
+(507.83996333,137.82757077)(510.13596328,139.43157073)
+ \xmulineto(512.78262989,141.35423735)
+(514.99596318,141.26490402)(519.23462975,139.0782374)
+ \xmulineto(525.22929628,135.98357081)
+(525.46396295,135.61957082)(523.42796299,132.61410423)
+ \xmulineto(517.90662978,122.25370449)
+(513.8239632,107.79170484)(512.44929657,95.96890513)
+ \xmulineto(511.53196325,90.86317193)
+(517.55862979,90.21317194)(520.1572964,89.52983863)
+ \xmulineto(522.69329634,88.87463864)
+(525.68796294,87.88503867)(526.87062958,88.31623866)
+ \xmulineto(530.7346295,89.78077195)
+(529.40129619,84.60370542)(532.40129613,80.85797217)
+ \xmulineto(534.8706294,77.77557225)
+(531.8759628,76.31103895)(529.90662951,75.70170564)
+ \xmulineto(526.73462958,75.17090565)
+(524.33462964,74.56730566)(521.57329636,76.27557229)
+ -- cycle
+(471.69329746,96.55170512)
+ \xmulineto(471.77729746,97.4689051)
+(472.18796412,98.86837173)(472.90129744,99.9063717)
+ \xmulineto(473.50129742,100.77037168)
+(474.08929741,102.39023831)(474.57863073,103.29690495)
+ \xmulineto(475.89196404,105.71317156)
+(474.99063072,106.37463821)(474.04263075,108.32250483)
+ \xmulineto(471.93863079,112.63023806)
+(469.84396417,109.04130481)(467.99596421,113.6657047)
+ \xmulineto(467.48529756,115.61930465)
+(467.90129755,116.43703796)(470.0532975,117.6965046)
+ \xmulineto(472.71463077,119.25890456)
+(474.15196408,118.9422379)(475.35996405,116.57823796)
+ \xmulineto(476.57863069,114.18757135)
+(481.53196391,111.0782381)(483.4852972,110.74850477)
+ \xmulineto(484.31329719,110.74850477)
+(486.90129713,113.84277136)(486.90129713,114.83237134)
+ \xmulineto(486.90129713,116.07823797)
+(487.99596377,116.57823796)(490.42263038,116.4255713)
+ \xmulineto(493.06263033,116.26463797)
+(493.50663032,115.96890464)(493.84929698,114.09797135)
+ \xmulineto(494.13596364,112.54130473)
+(493.87063031,112.11410474)(492.05329702,111.18237143)
+ \xmulineto(490.83463038,110.56210477)
+(490.02663039,110.14437145)(489.9066304,107.85797151)
+ \xmulineto(489.77196373,105.36317157)
+(490.46929705,105.42557157)(493.15196366,102.22357165)
+ \xmulineto(495.72529693,99.15583839)
+(495.7919636,97.61930509)(495.7919636,97.61930509)
+ \xmulineto(493.15196366,97.69130509)
+(490.55863038,97.79170509)(488.31863043,98.8058384)
+ \xmulineto(479.25063063,103.74850494)
+(478.03196399,97.05170511)(471.69329746,96.55170512)
+ -- cycle
+(44.21450689,119.26463789)
+ \xmulineto(41.44317362,120.19650454)
+(42.0583736,121.91157116)(41.18904029,124.04130444)
+ \xmulineto(40.26037364,126.25890439)
+(40.33437364,128.80223766)(41.36090695,130.07303763)
+ \xmulineto(42.13170693,131.02090427)
+(42.66770692,131.13917093)(47.29837349,131.37463759)
+ \xmulineto(51.81250672,131.89023758)
+(57.1573066,132.83810422)(61.13170652,133.8329042)
+ \xmulineto(65.89690641,134.20757086)
+(69.76610633,136.63023746)(74.12650623,137.18223745)
+ \xmulineto(79.10463945,138.59290408)
+(84.27130601,138.65023741)(88.91823924,140.27557071)
+ \xmulineto(93.83957246,141.23423735)
+(97.92703904,141.70757067)(103.03637226,139.84890405)
+ \xmulineto(104.26610556,139.37957073)
+(106.11503886,138.79157074)(107.14063883,138.54090408)
+ \xmulineto(110.31250543,137.71823744)
+(111.7661054,135.13957083)(111.7765054,132.96357089)
+ \xmulineto(111.33437208,125.98917106)
+(109.97917211,127.29690436)(104.82917222,125.98917106)
+ \xmulineto(101.07970563,125.03503775)
+(98.47397236,124.64437109)(95.88117242,124.64437109)
+ \xmulineto(91.91823917,124.68757109)
+(87.91823926,123.41517112)(84.21450601,123.11930446)
+ \xmulineto(79.21970612,122.73970447)
+(73.51143958,121.28597118)(70.56357297,119.64437122)
+ \xmulineto(60.99583985,116.05690464)
+(52.97024003,115.48863799)(44.21450689,119.26463789)
+ -- cycle
+(479.39196396,120.90637119)
+ \xmulineto(478.49063065,121.27037118)
+(478.97996397,122.67610448)(480.60529727,125.26463775)
+ \xmulineto(482.96929722,129.03503765)
+(481.86529724,129.72357097)(479.37063063,130.85423761)
+ \xmulineto(476.69863069,132.06730424)
+(475.11596406,132.89023756)(474.92263073,133.46357088)
+ \xmulineto(474.69863073,134.13023753)
+(476.03196403,135.40090416)(476.94929735,135.40090416)
+ \xmulineto(477.35996401,135.40090416)
+(478.61063064,134.66623751)(479.88129728,134.13557086)
+ \xmulineto(482.55863056,133.02983755)
+(484.43863052,133.55690421)(484.91729717,135.05690417)
+ \xmulineto(486.28663048,140.09290405)
+(484.46929718,140.19157071)(486.02663048,142.10357066)
+ \xmulineto(488.93863042,146.32757056)
+(489.40663041,146.36890389)(491.94396368,144.37957061)
+ \xmulineto(493.61063031,143.07290397)
+(493.90663031,141.20757068)(494.23996363,139.66623739)
+ \xmulineto(494.73996362,137.33823745)
+(493.65196365,135.78090415)(492.34396368,133.42090421)
+ \xmulineto(490.83463038,130.69130428)
+(490.52663038,130.72357094)(492.40663034,129.14957098)
+ \xmulineto(493.69863031,127.84277101)
+(494.0786303,127.36837103)(494.44929696,125.49903774)
+ \xmulineto(494.44929696,125.49903774)
+(492.19863035,125.32717108)(491.65196369,125.49903774)
+ \xmulineto(489.7506304,126.10370439)
+(489.79729706,126.69130438)(488.53729709,125.80583773)
+ \xmulineto(487.21996379,124.87463775)
+(485.81863049,123.86317111)(482.83996388,122.07303782)
+ \xmulineto(481.31329725,121.15530451)
+(480.29729727,120.54130453)(479.39196396,120.90637119)
+ -- cycle
+;
+}
+% \end{macrocode}
+
+%</logo>
+% \end{implementation}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/xmuthesis/xmuthesis.pdf b/macros/latex/contrib/xmuthesis/xmuthesis.pdf
new file mode 100644
index 0000000000..0ccb3a1e9e
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/xmuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref/README.md b/macros/latex/contrib/zref/README.md
index cc622b0ae3..f2d0325508 100644
--- a/macros/latex/contrib/zref/README.md
+++ b/macros/latex/contrib/zref/README.md
@@ -1,6 +1,6 @@
-# zref
+# zref packages for LaTeX
-zref packages for LaTeX
+Version: 2020-07-03 v2.32
Package zref tries to get rid of the restriction
@@ -10,3 +10,10 @@ system, where properties are handled in a more flexible way.
It offers an interface for macro programmers for the access
to the system and some applications that uses the new
reference scheme.
+
+## Copyright (C)
+* 2007, 2009-2011 Heiko Oberdiek
+* 2016-2020 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/zref/zref.dtx b/macros/latex/contrib/zref/zref.dtx
index ea33ef2e88..a74626aa7d 100644
--- a/macros/latex/contrib/zref/zref.dtx
+++ b/macros/latex/contrib/zref/zref.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: zref.dtx
-% Version: 2020-05-28 v2.31
+% Version: 2020-07-03 v2.32
% Info: A new reference scheme for LaTeX
%
% Copyright (C)
@@ -112,7 +112,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: zref 2020-05-28 v2.31 A new reference scheme for LaTeX (HO)}
+\Msg{* Package: zref 2020-07-03 v2.32 A new reference scheme for LaTeX (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -124,7 +124,7 @@
This is a generated file.
Project: zref
-Version: 2020-05-28 v2.31
+Version: 2020-07-03 v2.32
Copyright (C)
2006-2012 Heiko Oberdiek
@@ -230,7 +230,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{zref.drv}%
- [2020-05-28 v2.31 A new reference scheme for LaTeX (HO)]%
+ [2020-07-03 v2.32 A new reference scheme for LaTeX (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\setlength{\emergencystretch}{1em}
@@ -245,7 +245,7 @@ and the derived files
% \GetFileInfo{zref.drv}
%
% \title{The \xpackage{zref} package}
-% \date{2020-05-28 v2.31}
+% \date{2020-07-03 v2.32}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/zref/issues}}}
%
@@ -1663,7 +1663,7 @@ the height difference of the two baselines is
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref}
- [2020-05-28 v2.31 A new reference scheme for LaTeX (HO)]%
+ [2020-07-03 v2.32 A new reference scheme for LaTeX (HO)]%
% \end{macrocode}
%
% \subsubsection{Load basic module}
@@ -1750,12 +1750,13 @@ the height difference of the two baselines is
%<*base>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-base}%
- [2020-05-28 v2.31 Module base for zref (HO)]%
+ [2020-07-03 v2.32 Module base for zref (HO)]%
% \end{macrocode}
%
% \subsubsection{Utilities}
%
% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\RequirePackage{ltxcmds}[2010/12/02]
\RequirePackage{infwarerr}[2010/04/08]
\RequirePackage{kvsetkeys}[2010/03/01]
@@ -3057,7 +3058,7 @@ the height difference of the two baselines is
%<*user>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-user}%
- [2020-05-28 v2.31 Module user for zref (HO)]%
+ [2020-07-03 v2.32 Module user for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3148,7 +3149,7 @@ the height difference of the two baselines is
%<*abspage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-abspage}%
- [2020-05-28 v2.31 Module abspage for zref (HO)]%
+ [2020-07-03 v2.32 Module abspage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3196,7 +3197,7 @@ the height difference of the two baselines is
%<*counter>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-counter}%
- [2020-05-28 v2.31 Module counter for zref (HO)]%
+ [2020-07-03 v2.32 Module counter for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3241,7 +3242,7 @@ the height difference of the two baselines is
%<*lastpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-lastpage}%
- [2020-05-28 v2.31 Module lastpage for zref (HO)]%
+ [2020-07-03 v2.32 Module lastpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\RequirePackage{zref-abspage}[2019/11/29]
\RequirePackage{atveryend}[2009/12/07]
@@ -3313,7 +3314,7 @@ the height difference of the two baselines is
%<*thepage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-thepage}%
- [2020-05-28 v2.31 Module thepage for zref (HO)]%
+ [2020-07-03 v2.32 Module thepage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3388,7 +3389,7 @@ the height difference of the two baselines is
%<*nextpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-nextpage}%
- [2020-05-28 v2.31 Module nextpage for zref (HO)]%
+ [2020-07-03 v2.32 Module nextpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3492,7 +3493,7 @@ the height difference of the two baselines is
%<*totpages>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-totpages}%
- [2020-05-28 v2.31 Module totpages for zref (HO)]%
+ [2020-07-03 v2.32 Module totpages for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3534,7 +3535,7 @@ the height difference of the two baselines is
%<*pagelayout>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-pagelayout}%
- [2020-05-28 v2.31 Module pagelayout for zref (HO)]%
+ [2020-07-03 v2.32 Module pagelayout for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3619,13 +3620,17 @@ the height difference of the two baselines is
% \end{macrocode}
%
% \begin{macrocode}
-\zref@newprop*{outputboxwd}[0pt]{\AtBeginShipoutBoxWidth}
-% \end{macrocode}
-% \begin{macrocode}
-\zref@newprop*{outputboxht}[0pt]{\AtBeginShipoutBoxHeight}
-% \end{macrocode}
-% \begin{macrocode}
-\zref@newprop*{outputboxdp}[0pt]{\AtBeginShipoutBoxDepth}
+\IfFormatAtLeastTF{2020/10/01}
+ {
+ \zref@newprop*{outputboxwd}[0pt]{\ShipoutBoxWidth}
+ \zref@newprop*{outputboxht}[0pt]{\ShipoutBoxHeight}
+ \zref@newprop*{outputboxdp}[0pt]{\ShipoutBoxDepth}
+ }
+ {
+ \zref@newprop*{outputboxwd}[0pt]{\AtBeginShipoutBoxWidth}
+ \zref@newprop*{outputboxht}[0pt]{\AtBeginShipoutBoxHeight}
+ \zref@newprop*{outputboxdp}[0pt]{\AtBeginShipoutBoxDepth}
+ }
% \end{macrocode}
% \begin{macrocode}
\zref@addprops{thepage}{outputboxwd,outputboxht,outputboxdp}
@@ -3762,7 +3767,7 @@ the height difference of the two baselines is
%<*pageattr>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-pageattr}%
- [2020-05-28 v2.31 Module pageattr for zref (HO)]%
+ [2020-07-03 v2.32 Module pageattr for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3994,7 +3999,7 @@ the height difference of the two baselines is
%<*marks>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-marks}%
- [2020-05-28 v2.31 Module marks for zref (HO)]%
+ [2020-07-03 v2.32 Module marks for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4100,7 +4105,7 @@ the height difference of the two baselines is
%<*runs>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-runs}%
- [2020-05-28 v2.31 Module runs for zref (HO)]%
+ [2020-07-03 v2.32 Module runs for zref (HO)]%
% \end{macrocode}
%
% \begin{macro}{\zruns}
@@ -4132,7 +4137,7 @@ the height difference of the two baselines is
%<*perpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-perpage}%
- [2020-05-28 v2.31 Module perpage for zref (HO)]%
+ [2020-07-03 v2.32 Module perpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4314,7 +4319,7 @@ the height difference of the two baselines is
%<*titleref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-titleref}%
- [2020-05-28 v2.31 Module titleref for zref (HO)]%
+ [2020-07-03 v2.32 Module titleref for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4727,7 +4732,7 @@ the height difference of the two baselines is
%<*xr>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-xr}%
- [2020-05-28 v2.31 Module xr for zref (HO)]%
+ [2020-07-03 v2.32 Module xr for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5263,7 +5268,7 @@ the height difference of the two baselines is
%<*hyperref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-hyperref}%
- [2020-05-28 v2.31 Module hyperref for zref (HO)]%
+ [2020-07-03 v2.32 Module hyperref for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5293,7 +5298,7 @@ the height difference of the two baselines is
%<*savepos>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-savepos}%
- [2020-05-28 v2.31 Module savepos for zref (HO)]%
+ [2020-07-03 v2.32 Module savepos for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5466,7 +5471,7 @@ the height difference of the two baselines is
%<*abspos>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-abspos}%
- [2020-05-28 v2.31 Module abspos for zref (HO)]%
+ [2020-07-03 v2.32 Module abspos for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6120,7 +6125,7 @@ the height difference of the two baselines is
%<*dotfill>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-dotfill}%
- [2020-05-28 v2.31 Module dotfill for zref (HO)]%
+ [2020-07-03 v2.32 Module dotfill for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6220,7 +6225,7 @@ the height difference of the two baselines is
%<*env>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-env}%
- [2020-05-28 v2.31 Module env for zref (HO)]%
+ [2020-07-03 v2.32 Module env for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6749,6 +6754,10 @@ the height difference of the two baselines is
% \item Adapted module zref-counter to use \cs{@currentcounter} in the next
% \LaTeX version (issue 5)
% \end{Version}
+% \begin{Version}{2020-07-03 v2.32}
+% \item Changed in zref-pagelayout the names of the shipout box dimensions
+% to adapt to the new hook management.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/zref/zref.pdf b/macros/latex/contrib/zref/zref.pdf
index 1a7415cc28..cd49923f05 100644
--- a/macros/latex/contrib/zref/zref.pdf
+++ b/macros/latex/contrib/zref/zref.pdf
Binary files differ
diff --git a/macros/latex/required/firstaid/changes.txt b/macros/latex/required/firstaid/changes.txt
index 1b3472c88f..ef734a335a 100644
--- a/macros/latex/required/firstaid/changes.txt
+++ b/macros/latex/required/firstaid/changes.txt
@@ -1,3 +1,8 @@
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Fix for gh400 taken out and moved into the kernel instead for PL1.
+
2020-10-03 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
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 03f962904e..78f52ca78a 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
@@ -99,8 +99,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2020/10/03}
-\def\LaTeXFirstAidVersion{v1.0d}
+\def\LaTeXFirstAidDate{2020/10/04}
+\def\LaTeXFirstAidVersion{v1.0e}
% \end{macrocode}
%
% \begin{macrocode}
@@ -342,56 +342,6 @@
%
%
%
-% \subsection{Fixing a problem with \BibTeX{}}
-%
-% This will become a patch release for the kernel but for the moment
-% we put it here in case some other issues show up. \BibTeX{}
-% expects \texttt{.aux} files to contain lines
-% \verb=\@input{filename.aux}= but the new new \LaTeX{}
-% unnecessarily writes \verb=\@input{"filename.aux"}= and this
-% upsets \BibTeX{} greatly. As it isn't necessary we take it out.
-%
-% \begin{macrocode}
-\def\@include#1 {%
- \clearpage
- \if@filesw
- \immediate\write\@mainaux{\string\@input{#1.aux}}%
- \fi
- \@tempswatrue
- \if@partsw
- \@tempswafalse
- \edef\reserved@b{#1}%
- \@for\reserved@a:=\@partlist\do
- {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
- \fi
- \if@tempswa
- \let\@auxout\@partaux
- \if@filesw
- \immediate\openout\@partaux "#1.aux"
- \immediate\write\@partaux{\relax}%
- \fi
- \@filehook@set@CurrentFile
- \UseHook{include/before}%
- \UseHook{include/before/#1}%
- \@input@{#1.tex}%
- \UseHook{include/end/#1}%
- \UseHook{include/end}%
- \clearpage
- \UseHook{include/after/#1}%
- \UseHook{include/after}%
- \clearpage
- \@writeckpt{#1}%
- \if@filesw
- \immediate\closeout\@partaux
- \fi
- \else
- \deadcycles\z@
- \@nameuse{cp@#1}%
- \fi
- \let\@auxout\@mainaux}
-% \end{macrocode}
-%
-%
%
% \begin{macrocode}
%</kernel>
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 ece887663a..7e9157f792 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ