summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-15 03:01:01 +0000
committerNorbert Preining <norbert@preining.info>2021-07-15 03:01:01 +0000
commit55ae461252a599d6bc951065a37c16a8971fc560 (patch)
tree1b73269f29ae053c3fa9f00a365b009569df721a /macros/latex
parent3303a89b11161d66ec78811056b85306f696cc09 (diff)
CTAN sync 202107150300
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.dtx67
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.pdfbin539759 -> 544676 bytes
-rw-r--r--macros/latex/contrib/easybook/README.md4
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx306
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin568439 -> 571934 bytes
-rw-r--r--macros/latex/contrib/hvfloat/Changes1
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin5722381 -> 5722430 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex2
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty25
-rw-r--r--macros/latex/contrib/kdpbook/DEPENDS.txt2
-rw-r--r--macros/latex/contrib/kdpbook/README.md9
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover-signature.pdf (renamed from macros/latex/contrib/kdpbook/images/signature.pdf)bin7256 -> 7256 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover-vol-1.pdf (renamed from macros/latex/contrib/kdpbook/images/volume-1.pdf)bin8540 -> 8540 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover-vol-2.pdf (renamed from macros/latex/contrib/kdpbook/images/volume-2.pdf)bin6504 -> 6504 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover-vol-3.pdf (renamed from macros/latex/contrib/kdpbook/images/volume-3.pdf)bin7156 -> 7156 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover-vol-4.pdf (renamed from macros/latex/contrib/kdpbook/images/volume-4.pdf)bin6723 -> 6723 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover.cls32
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover.pdfbin104845 -> 103975 bytes
-rw-r--r--macros/latex/contrib/kdpbook/kdpcover.tex4
19 files changed, 271 insertions, 181 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.dtx b/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.dtx
index 7b5470b99e..06cf351b3c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.dtx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.dtx
@@ -84,7 +84,7 @@ This work has the LPPL maintenance status "author-maintained".
%<spanish-lbx>\ProvidesFile{spanish-philosophy.lbx}
%<french-lbx>\ProvidesFile{french-philosophy.lbx}
%<*standard-bbx|classic-bbx|modern-bbx|verbose-bbx|classic-cbx|modern-cbx|verbose-cbx|italian-lbx|english-lbx|spanish-lbx|french-lbx>
-[2021/04/20 v1.9.8d A set of styles for biblatex]
+[2021/07/16 v1.9.8e A set of styles for biblatex]
%</standard-bbx|classic-bbx|modern-bbx|verbose-bbx|classic-cbx|modern-cbx|verbose-cbx|italian-lbx|english-lbx|spanish-lbx|french-lbx>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -253,7 +253,7 @@ This work has the LPPL maintenance status "author-maintained".
%</driver>
% \fi
%
-% \CheckSum{4370}
+% \CheckSum{4377}
%
% \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
@@ -271,6 +271,7 @@ This work has the LPPL maintenance status "author-maintained".
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+% \changes{v1.9.8e}{2021/07/16}{New option \opt{iviemph}. Updated documentation.}
% \changes{v1.9.8d}{2021/04/20}{Changed \texttt{crossrefdata} macro. Updated \file{italian-philosophy.lbx}.}
% \changes{v1.9.8c}{2020/09/30}{Maintenance release. Corrected a bug in the related entries. Added \cmd{mkrelatedparens} and \cmd{mkrelatedbrackets}.}
% \changes{v1.9.8b}{2020/05/19}{Maintenance release. Corrected a bug in \bibtype{incollection} and \bibtype{inproceeding} without editor.}
@@ -364,7 +365,7 @@ This work has the LPPL maintenance status "author-maintained".
% on the basis of Sebastian Kosch's Crimson.
% The \texttt{typewriter} font is Inconsolata,
% designed by Raph Levien and the \textsf{sans serif} text
-% is typeset in Linux Biolinum, created by Philipp H.~Pol.
+% is typeset in Linux Biolinum, created by Philipp H.~Poll.
%\end{minipage}
%
% \vfill
@@ -413,7 +414,7 @@ This work has the LPPL maintenance status "author-maintained".
%
%\begin{abstract}
%\noindent This bundle provides a small collection of bibliography and citation styles for use with Philipp Lehman's \sty{biblatex} package. The styles try to be language-indipendent but their prime aim is to match the needs of the Italian writers, particularly those concerned in the humanities. They offer useful features to compose detailed bibliographic entries including the translation data of foreign texts, annotations etc. Many options allow you to change the style defaults. Only the Italian, English, Spanish and French localizations are available for now but you can use the styles with all the languages supported by \sty{babel} or \sty{polyglossia} adding simple redefinitions.
-% \end{abstract}
+%\end{abstract}
%
% ^^A ----------------------------------------------------------------
% ^^A
@@ -489,7 +490,7 @@ This work has the LPPL maintenance status "author-maintained".
%(1986c) \emph{Computers \& Typesetting}, vol. D: \emph{\hologo{METAFONT}: The Program}, Addison-Wesley.
% \item ---
%(1986d) \emph{Computers \& Typesetting}, vol. E: \emph{Computer Modern Typefaces}, Addison-Wesley.
-% \end{bibexamplelist}
+%\end{bibexamplelist}
%
% ^^A ----------------------------------------------------------------
% ^^A
@@ -572,7 +573,7 @@ This work has the LPPL maintenance status "author-maintained".
%\textsuperscript{6} Heidegger, op. cit., p. 35.
%\end{bibexample}
%
-% All the scholarly abbreviations (\emph{latinitates}) but ``cit.'' are printed by default in normal font. With the \opt{latinemph} option you can get them in italic shape (section \ref{sec:options-verbose}).
+% All the scholarly abbreviations but ``cit.'' are printed by default in normal font. With the \opt{latinemph} option you can get them in italic shape (section \ref{sec:options-verbose}).
%
% A \sty{verbose} bibliography is similar to a \sty{classic} bibliography but with the year placed at the end of the entry:
%\begin{bibexamplelist}[frametitle=The \sty{philosophy-verbose} bibliography]
@@ -688,15 +689,16 @@ This work has the LPPL maintenance status "author-maintained".
%
%@incollection{westfahl:flying,
% author = {Daniele Chatelain and George Slusser},
-% title = {Flying to the Moon in French and American Science Fiction},
+% title = {Flying to the Moon in French and American
+% Science Fiction},
% pages = {25-33},
% crossref = {westfahl:frontier}}
%
%@incollection{westfahl:space,
% author = {Westfahl, Gary},
% title = {The True Frontier},
-% subtitle = {Confronting and Avoiding the Realities of Space in {American}
-% Science Fiction Films},
+% subtitle = {Confronting and Avoiding the Realities of Space in
+% {American} Science Fiction Films},
% pages = {55-65},
% crossref = {westfahl:frontier}}
%\end{verbatim}\end{latexcode}
@@ -718,8 +720,8 @@ This work has the LPPL maintenance status "author-maintained".
% title = {Vite matematiche},
% booktitle = {Vite matematiche},
% booksubtitle = {Protagonisti del '900 da Hilbert a Wiles},
-% editor = {Claudio Bartocci and Renato Betti and Angelo Guerraggio and
-% Roberto Lucchetti},
+% editor = {Claudio Bartocci and Renato Betti and Angelo Guerraggio
+% and Roberto Lucchetti},
% publisher = {Springer-Verlag Italia},
% location = {Milano},
% date = {2007}}
@@ -732,8 +734,8 @@ This work has the LPPL maintenance status "author-maintained".
%@incollection{hyman,
% author = {Arthur Hyman},
% editor = {O'Meara, Dominic J.},
-% title = {Aristotle's Theory of the Intellect and its Interpretation by
-% {Averroes}},
+% title = {Aristotle's Theory of the Intellect and its Interpretation
+% by {Averroes}},
% date = {1981},
% booktitle = {Studies in {Aristotle}},
% series = {Studies in Philosophy and the History of Philosophy},
@@ -846,9 +848,9 @@ This work has the LPPL maintenance status "author-maintained".
% publisher = {Max Niemeyer Verlag},
% location = {Tübingen},
% date = {2001},
-% library = {Originally published in 1927 in the \emph{Jahrbuch
-% für Philosophie und phänomenologische Forschung (vol. VIII)},
-% directed by H. Husserl}}
+% library = {Originally published in 1927 in the \emph{Jahrbuch für
+% Philosophie und phänomenologische Forschung (vol. VIII)},
+% directed by H. Husserl}}
%\end{verbatim}\end{latexcode}
%
%\fielditem{annotation}{literal}
@@ -861,8 +863,7 @@ This work has the LPPL maintenance status "author-maintained".
% reimplementation of the bibliographic facilities provided
% by \hologo{LaTeX}. The \sty{biblatex} package works with the “backend”
% (program) \sty{biber}, which is used to process \hologo{BibTeX}
-% format data files and them performs all sorting, label
-% generation (and a great deal more).}
+% format data files and them performs all sorting, label generation.}
%\end{bibexamplelist}
%\begin{latexcode}\begin{verbatim}
%@online{lehman:biblatex,
@@ -872,12 +873,12 @@ This work has the LPPL maintenance status "author-maintained".
% version = {3.7},
% date = {2016-11-16},
% annotation = {This package provides advanced bibliographic facilities
-% for use with \LaTeX. The package is a complete reimplementation
-% of the bibliographic facilities provided by \LaTeX. The
-% \texttt{biblatex} package works with the “backend” (program)
-% \texttt{biber}, which is used to process \textsc{Bib}\TeX{} format data
-% files and them performs all sorting, label generation (and
-% a great deal more).}}
+% for use with \LaTeX. The package is a complete
+% reimplementation of the bibliographic facilities provided
+% by \LaTeX. The \texttt{biblatex} package works with the
+% “backend” (program) \texttt{biber}, which is used to
+% process \textsc{Bib}\TeX{} format data files and them
+% performs all sorting, label generation.}}
%\end{verbatim}\end{latexcode}
%\end{fieldlist}
%
@@ -1083,7 +1084,7 @@ This work has the LPPL maintenance status "author-maintained".
% \begin{optionlist*}
%
%\boolitem[false]{latinemph}
-% Prints the \emph{latinitas} ``et al.'' (\emph{et alii}) in italic shape.
+% Prints ``et al.'' (\emph{et alii}) in italic shape.
%
%\boolitem[false]{square}
%
@@ -1124,7 +1125,10 @@ This work has the LPPL maintenance status "author-maintained".
% \begin{optionlist*}
%
%\boolitem[false]{latinemph}
-% Prints the \emph{latinitates} ``{ivi}'', ``{ibidem}'' and ``et al.'' in italic shape.
+% Prints the scholarly abbreviations ``ibidem'', ``et al.'', ``op. cit.'', ``idem'' in italic shape.
+%
+%\boolitem[false]{iviemph}
+% Prints the scholarly abbreviation ``ivi'' in italic shape.
%
%\boolitem[false]{commacit}
% Adds a comma at the end of the \bibfield{shorttitle} field when this is followed by the string ``cit.'':
@@ -1494,6 +1498,7 @@ This work has the LPPL maintenance status "author-maintained".
\newtoggle{bbx:scauthorsbib}
\newtoggle{cbx:scauthorscitefn}
\newtoggle{cbx:latinemph}
+\newtoggle{cbx:iviemph}
\DeclareBibliographyOption{annotation}[true]{%
\settoggle{bbx:annotation}{#1}}
@@ -1509,6 +1514,8 @@ This work has the LPPL maintenance status "author-maintained".
\settoggle{cbx:shorthandintro}{#1}}
\DeclareBibliographyOption{latinemph}[true]{%
\settoggle{cbx:latinemph}{#1}}
+\DeclareBibliographyOption{iviemph}[true]{%
+ \settoggle{cbx:iviemph}{#1}}
% \end{macrocode}
% Also the multi-value options have a default value, which is declared
% in the optional bracketed argument of the \cmd{DeclareBibliographyOption} commands below.
@@ -1572,6 +1579,7 @@ This work has the LPPL maintenance status "author-maintained".
library = true,
annotation = false,
latinemph = false,
+ iviemph = false,
classical = false,
inbeforejournal = false,
lowscauthors = false,
@@ -1644,11 +1652,12 @@ This work has the LPPL maintenance status "author-maintained".
%
% \subsubsection{New commands}
%
-% The \cmd{mkibid} command is provided for formatting the \emph{latinitates} ``et al.'', ``ivi'', ``ibidem''.
+% The \cmd{mkibid} command is provided for formatting ``et al.'', ``ibidem'' and other abbreviations.
% Actually the command is introduce for formatting ``et al.'' considering that it is already defined by \sty{verbose-trad2.cbx}
-% which uses it for ``ivi'' and ``ibidem''.
+% which uses it for ``ivi'' and ``ibidem''. A new command \cmd{mkivi} is use to format only the string ``ivi''.
% \begin{macrocode}
\providecommand*{\mkibid}[1]{\iftoggle{cbx:latinemph}{\mkbibemph{#1}}{#1}}
+\providecommand*{\mkivi}[1]{\iftoggle{cbx:iviemph}{\mkbibemph{#1}}{#1}}
% \end{macrocode}
% We (re)define some internal commands for the punctuation. The new \cmd{volnumpunct} command is provided
% to separate volume and number in \bibtype{article} entries.
@@ -4467,7 +4476,7 @@ This work has the LPPL maintenance status "author-maintained".
{\usebibmacro{cite:loccit}}{%
\printtext{%
\bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
- \bibstring[\mkibid]{ibidem}}}}}%
+ \bibstring[\mkivi]{ibidem}}}}}%
\renewbibmacro*{cite:title}{%
\ifsingletitle{\usebibmacro{cite:opcit}}{%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.pdf
index 6e7969f276..d989cda6df 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-philosophy/biblatex-philosophy.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index 7c769767e1..33c2e966c2 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,6 +1,6 @@
# Easybook document class
-Easybook is based on the ctexbook book document class to create a minimalist style template, which can be seen as a further packaging and enhancement of ctexbook. Although the ctex document class provides better Chinese support, it is generally necessary to load more macro packages for customization if you want to achieve personalized functions. Easybook has considered some details and has loaded some commonly used macro packages to achieve general typesetting requirements. It also has the function of article file type, so that users can easily set it up. It is suitable for typesetting Chinese and English dissertations, academic books or notes.
+Easybook is a minimalist style template based on the ctexbook book document class, and it also has the functions of the book and article document classes, its basic macro package easybase can also be used with CTeX and standard document classes. Easybook considers some details and loads some almost necessary macro packages for packaging and improvement, and provides multiple commands and interfaces to make settings easy for users. It is suitable for typesetting Chinese and English dissertations, academic books or notes.
## License
@@ -12,7 +12,7 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4
# easybook 文档类
-easybook 是基于 ctexbook 书籍文档类创建以极简为风格的模板,可以看作对 ctexbook 的进一步包装与增强。虽然 ctex 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。easybook 考虑了一些细节并已载入一些常用宏包用于实现一般的排版需求,同时也具有 article 档类的功能,使用户可以简便地进行设置。它适用于排版中英文学位论文、学术书籍或者是笔记。
+easybook 是基于 ctexbook 书籍文档类创建以极简为风格的模板,同时兼具 book 与 article 文档类的用途,它的基础宏包 easybase 还可以搭配 CTeX 和标准文档类使用。easybook 考虑了一些细节并载入一些几乎必备的宏包进行包装和改进,提供多个命令和接口可以使用户简便地进行设置。它适用于排版中英文学位论文、学术书籍或者是笔记。
## 协议
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 2070d0dfd9..f7c4e25dfe 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -28,11 +28,11 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/07/13\hskip\ccwd\relax v1.27d\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/07/14\hskip\ccwd\relax v1.27e\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
-% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装与增强。虽然 \CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并已载入一些常用宏包用于实现一般的排版需求,同时也具有 \cls{article} 文档类的功能,使用户可以简便地进行设置。它适用于排版中英文学位论文、学术书籍或者是笔记。
+% \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,同时兼具 \cls{book} 与 \cls{article} 文档类的用途,它的基础宏包 \pkg{easybase} 还可以搭配 \CTeX 和标准文档类使用。\cls{easybook} 考虑了一些细节并载入一些几乎必备的宏包进行包装和改进,提供多个命令和接口可以使用户简便地进行设置。它适用于排版中英文学位论文、学术书籍或者是笔记。
% \end{abstract}
% \tableofcontents
%
@@ -148,7 +148,7 @@
% cjkfont = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none>
% \end{syntax}
% 中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \opt{fontset} 选项是等效的,如果没有指定 \opt{cjkfont} 的值,将会自动检测用户的操作系统并选择相应的字体。
-% \changes{v1.27d}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
+% \changes{v1.27e}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
% \end{function}
%
% 如果需要使用其它中文字体,可以在启用选项 \opt{cjkfont = none} 后,再使用 \pkg{xeCJK} 宏包的相关命令设置字体以及声明字体族:
@@ -666,30 +666,37 @@
% \end{ctexexam}
%
% \subsubsection{脚注格式}
-% \begin{function}[EXP,added = 2021-05-12]{fnmargin,fnparskip,fnparindent,fnhang,fnmark-pos,fnmark-num,fnmark-num,fnmark-form,afterfnmark}
+% \begin{function}[EXP,added = 2021-05-12,updated = 2021-07-14]{fnmargin,fnparskip,fnparindent,footnotetype,fnmark-pos,fnmark-num,fnmark-num,fnmark-form,fntext-form,afterfnmark}
% \begin{syntax}
% fnmargin = <刚性长度|(0.75\tn{ccwd})>
% fnparskip = <弹性长度|(0ex)>
% fnparindent = <刚性长度|(2\tn{ccwd})>
-% fnhang = <(true)|false>
+% footnotetype = <(hang)|default|bottom>
% fnmark-pos = <normal|(super)>
% fnmark-num = <(plain)|pifont|pifont*|pifont-sans|pifont-sans*>
% fnmark-form = <格式代码>
+% fntext-form = <格式代码>
% afterfnmark = <格式代码>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
% \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。}
+% \changes{v1.27e}{2021/07/14}{增加脚注内容格式选项 \opt{fntext-form} 和脚注类型选项 \opt{footnotetype}。}
% \end{function}
%
% \begin{optdesc}
-% \item[fnmargin] 脚注首段缩进距离,等于长度 \tn{footnotemargin} 的值。
-% \item[fnparskip] 脚注段落间距,仅在脚注为悬挂缩进时有效。
-% \item[fnparindent] 脚注段落缩进,仅在脚注为悬挂缩进时有效。
-% \item[fnhang] 脚注是否为悬挂缩进的格式,默认开启。
-% \item[fnmark-pos] 设置脚注编号的位置,正常文本或是上标形式。
-% \item[fnmark-num] 脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括 1-10。
-% \item[fnmark-form] 脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。
-% \item[afterfnmark] 脚注标记后的代码,由于脚注标记处于水平盒子中,它一般用于设置标记与文本间的距离。
+% \item[fnmargin] 脚注首段缩进距离,等于长度 \tn{footnotemargin} 的值。
+% \item[fnparskip] 脚注段落间距,等于长度 \tn{footparskip} 的值。
+% \item[fnparindent] 脚注段落缩进,等于长度 \tn{footparindent} 的值。
+% \item[footnotetype] 脚注的类型,悬挂缩进 \opt{hang} 是默认值,\opt{default} 是原始的类型,在一些浮动体排版的情况下,脚注可能位于页面中间,\opt{bottom} 使脚注始终位于页面底端。这是个复合选项,\opt{bottom} 可以与前两种类型重复或复合使用:
+% \begin{ctexexam}
+% \hdrset{footnotetype = default,footnotetype = bottom}
+% \hdrset{footnotetype = {hang,bottom}}
+% \end{ctexexam}
+% \item[fnmark-pos] 设置脚注编号的位置,正常文本或是上标形式。
+% \item[fnmark-num] 脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括 1-10。
+% \item[fnmark-form] 脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注标记,一般配合 \opt{fnmark-num = plain} 使用。
+% \item[fntext-form] 脚注内容的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注内容。
+% \item[afterfnmark] 脚注标记后的代码,由于脚注标记处于水平盒子中,它一般用于设置标记与文本间的距离。
% \end{optdesc}
%
% \subsection{目录样式}
@@ -844,7 +851,7 @@
% \tn{end}\{hangparas\}
% \end{syntax}
% \tn{hangpara} 命令使其后的一个段落保持悬挂缩进,\env{hangparas} 环境使其中的段落均保持悬挂缩进。缩进将以 \meta{缩进长度} 从每个段落的 \meta{缩进开始行数} 开始。
-% \changes{v1.27d}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
+% \changes{v1.27e}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
% \end{function}
%
% \subsection{代码}
@@ -1094,7 +1101,6 @@
% \begin{description}[font = \normalfont\sffamily]
% \item[ctex] 提供中文排版的通用框架。
% \item[xcolor] 提供任意颜色的设定与混合,已载入了 \opt{svgnames} 颜色库。
-% \item[footmisc] 更改脚注排版的方法的集合。
% \item[amsmath] 提供 \LaTeX 中的数学功能。
% \item[thmtools] 用于通常需要的排版定理支持。
% \item[marginnote] 增强了边注输出的功能。
@@ -1174,7 +1180,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/07/13}{1.27d}
+\ProvidesExplClass{easybook}{2021/07/14}{1.27e}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1469,18 +1475,20 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/13}{1.27d}
+\ProvidesExplPackage{easybase}{2021/07/14}{1.27e}
{Typeset Chinese theses or books}
-\cs_generate_variant:Nn \ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
\cs_generate_variant:Nn \int_to_alph:n { v }
\cs_generate_variant:Nn \dim_add:Nn { NV,Nv }
-\cs_generate_variant:Nn \eb_put_hyperref:n { x }
-\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
-\cs_generate_variant:Nn \int_compare:nNnT { oNnT }
+\cs_generate_variant:Nn \dim_set:Nn { NV }
\cs_generate_variant:Nn \prop_set_from_keyval:Nn { NV }
+\cs_generate_variant:Nn \skip_set:Nn { NV }
+\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
+\cs_generate_variant:Nn \ctex_define:nn { nx }
+\cs_generate_variant:Nn \eb_put_hyperref:n { x }
\cs_generate_variant:Nn \eb_at_begin_environment:nn { on }
+
\cs_new_protected:Npn \ctex_define:nn #1
{ \keys_define:nn { ctex/#1 } }
\cs_new_protected:Npn \eb_clist_map_inline:nn #1#2
@@ -1535,8 +1543,7 @@
\NewDocumentCommand{\LoadPackage}{O{}m}
{
\seq_set_split:Nnn \l_tmpb_seq { + } {#2}
- \int_compare:oNnT
- { \seq_count:N \l_tmpb_seq } = { 1 }
+ \int_compare:nNnT { \seq_count:N \l_tmpb_seq } = { 1 }
{ \PassOptionsToPackage{#1}{#2} }
\seq_map_function:NN
\l_tmpb_seq \eb_match_load_package:n
@@ -1656,7 +1663,6 @@
\LoadPackage
{
- footmisc[stable,bottom]+
spbmark[ctex]+
ulem[normalem]+
enumitem[shortlabels,inline]+
@@ -1758,8 +1764,6 @@
{ \use:c { eb@mark@#1@label@layout }{##1} }
}
}
-
-\tl_new:N \l__eb_fnmark_number_choice_tl
\cs_gset_eq:NN \easyhead \fancyhead
\cs_gset_eq:NN \easyfoot \fancyfoot
\NewDocumentCommand{\markrule}
@@ -1773,26 +1777,6 @@
\tl_if_novalue:nF {#5} { \vspace*{#5} }
\group_end:
}
-\cs_new:Npn \eb_fnmark_counter_pifont:N #1
- { \ding{\int_eval:n { 171 + #1 }} }
-\cs_new:Npn \eb_fnmark_counter_pifont_neg:N #1
- { \ding{\int_eval:n { 181 + #1 }} }
-\cs_new:Npn \eb_fnmark_counter_pifont_sans:N #1
- { \ding{\int_eval:n { 191 + #1 }} }
-\cs_new:Npn \eb_fnmark_counter_pifont_sans_neg:N #1
- { \ding{\int_eval:n { 201 + #1 }} }
-\cs_new:Npn \eb_footnote_counter:N #1
- {
- \str_case:VnF \l__eb_fnmark_number_choice_tl
- {
- { plain } { \int_use:N #1 }
- { pifont } { \eb_fnmark_counter_pifont:N #1 }
- { pifont* } { \eb_fnmark_counter_pifont_neg:N #1 }
- { pifont-sans } { \eb_fnmark_counter_pifont_sans:N #1 }
- { pifont-sans* } { \eb_fnmark_counter_pifont_sans_neg:N #1 }
- }
- { \int_use:N #1 }
- }
\ctex_define:nn { hdrset }
{
head-foot .tl_set:N = \l__eb_fancyhf_content_tl,
@@ -1832,32 +1816,7 @@
footrule .initial:n = { },
footnoterule .tl_gset:N = \footnoterule,
footnoterule .initial:n =
- { \markrule[0.35\textwidth]{\l__eb_rule_width_dim}[+2.6pt] },
-
- fnmargin .dim_set:N = \footnotemargin,
- fnmargin .initial:n = 0.75\ccwd,
- fnparskip .tl_set:N = \hangfootparskip,
- fnparskip .initial:n = 0ex,
- fnparindent .tl_set:N = \hangfootparindent,
- fnparindent .initial:n = 2\ccwd,
-
- fnhang .bool_set:N = \l__eb_footnote_hang_bool,
- fnhang .default:n = true,
- fnhang .initial:n = true,
- fnmark-pos .tl_set:N = \l__eb_fnmark_position_tl,
- fnmark-pos .initial:n = super,
- afterfnmark .tl_set:N = \l__eb_fnmark_after_tl,
- afterfnmark .initial:n =
- { \tl_if_eq:NnF \l__eb_fnmark_position_tl { super } { \space } },
- fnmark-form .tl_set:N = \l__eb_fnmark_format_tl,
-
- fnmark-num .choices:nn =
- { plain,pifont,pifont*,pifont-sans,pifont-sans* }
- {
- \tl_gset_eq:NN
- \l__eb_fnmark_number_choice_tl \l_keys_choice_tl
- },
- fnmark-num .value_required:n = true
+ { \markrule[0.35\textwidth]{\l__eb_rule_width_dim}[+2.6pt] }
}
\cs_set_eq:NN \eb_mark_uppercase:n \text_uppercase:n
@@ -1910,17 +1869,60 @@
\cs_if_exist:NF \kaishu { \cs_gset_eq:NN \kaishu \itshape }
}
+\tl_new:N \l__eb_fnmark_number_choice_tl
+\bool_new:N \l__eb_fntext_bottom_bool
\ctex_define:nn { style }
{
footwith .choices:nn =
{ part,page,chapter }
- {
- \tl_set_eq:NN
- \l__eb_foot_counter_parent_choice_tl \l_keys_choice_tl
- },
+ { \tl_set:Nn \l__eb_foot_counter_parent_choice_tl {#1} },
footwith .value_required:n = true,
footwith .initial:n = chapter
}
+\ctex_define:nn { hdrset }
+ {
+ fnmargin .dim_set:N = \footnotemargin,
+ fnmargin .initial:n = 0.75\ccwd,
+ fnparskip .skip_set:N = \footparskip,
+ fnparskip .initial:n = 0ex,
+ fnparindent .dim_set:N = \footparindent,
+ fnparindent .initial:n = 2\ccwd,
+ fntext-form .tl_set:N = \l__eb_fntext_format_tl,
+
+ fnmark-pos .tl_set:N = \l__eb_fnmark_position_tl,
+ fnmark-pos .initial:n = super,
+ afterfnmark .tl_set:N = \l__eb_fnmark_after_tl,
+ afterfnmark .initial:n =
+ { \tl_if_eq:NnF \l__eb_fnmark_position_tl { super } { \space } },
+ fnmark-form .tl_set:N = \l__eb_fnmark_format_tl,
+
+ footnotetype .multichoices:nn =
+ { default,hang,bottom,para }
+ {
+ \tl_if_eq:nnTF { bottom } {#1}
+ { \bool_set_true:N \l__eb_fntext_bottom_bool }
+ { \tl_set:Nn \l__eb_footnotetype_choice_tl {#1} }
+ },
+ footnotetype .value_required:n = true,
+ footnotetype .initial:n = hang,
+
+ fnmark-num .choices:nn =
+ { plain,pifont,pifont*,pifont-sans,pifont-sans* }
+ { \tl_set:Nn \l__eb_fnmark_number_choice_tl {#1} },
+ fnmark-num .value_required:n = true,
+
+ unknown .code:n =
+ {
+ \msg_warning:nnx
+ { easybase } { ignore-hdrset } { \l_keys_key_str }
+ }
+ }
+\msg_new:nnn { easybase } { ignore-hdrset }
+ {
+ #1~is~an~unknown~hdrset~option. \\
+ Please~check~the~user~manual~for~the~supported~options.
+ }
+
\eb_at_end_preamble:n
{
\group_begin:
@@ -1936,9 +1938,88 @@
{ part } { \counterwithin*{footnote}{part} }
{ page } { \counterwithin*{footnote}{page} }
}
- \bool_if:NTF \l__eb_footnote_hang_bool
- { \booltrue{FN@hangfoot} }
- { \boolfalse{FN@hangfoot} }
+ \bool_if:NT \l__eb_fntext_bottom_bool
+ {
+ \cs_set:Npn \@makecol
+ {
+ \setbox\@outputbox\box\@cclv
+ \xdef\@freelist{\@freelist\@midlist}
+ \global\let\@midlist\@empty
+ \@combinefloats
+ \eb@footmisc@ifvoid\footins{}
+ {
+ \setbox\@outputbox\vbox
+ \bgroup
+ \boxmaxdepth\@maxdepth
+ \unvbox\@outputbox
+ \vfill\relax
+ \vskip\skip\footins
+ \color@begingroup
+ \normalcolor\footnoterule
+ \unvbox\footins
+ \color@endgroup
+ \egroup
+ }
+ \eb@footmisc@ifvoid\@kludgeins
+ {\@makespecialcolbox}
+ {
+ \setbox\@outputbox\vbox to\@colht
+ {
+ \@texttop\dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ \vskip -\dimen@\@textbottom
+ }
+ }
+ \global\maxdepth\@maxdepth
+ }
+ }
+ }
+\cs_set:Npn \@makefntext #1
+ {
+ \group_begin:
+ \str_case:Vn \l__eb_footnotetype_choice_tl
+ {
+ { hang } { \use_i:nn }
+ { default } { \use_ii:nn }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \dim_compare:nNnTF { \footnotemargin } > { 0pt }
+ { \hbox_to_wd:nn { \footnotemargin } { \eb@makefnmark\hss } }
+ { \eb@makefnmark }
+ }
+ \dim_set:Nn \leftmargin { \box_wd:N \l_tmpa_box }
+ \dim_zero:N \rightmargin
+ \dim_set_eq:NN \linewidth \columnwidth
+ \dim_sub:Nn \linewidth { \leftmargin }
+ \parshape\@ne\leftmargin\linewidth
+ \@setpar{{\@@par}}
+ \mode_leave_vertical:
+ \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
+ }
+ {
+ \noindent
+ \dim_compare:nNnTF { \footnotemargin } > { 0pt }
+ { \hbox_to_wd:nn { \footnotemargin } { \hss\eb@makefnmark } }
+ {
+ \dim_compare:nNnTF { \footnotemargin } = { 0pt }
+ { \hbox_overlap_left:n { \eb@makefnmark } }
+ {
+ \hbox_overlap_left:n
+ {
+ \hbox_to_wd:nn
+ { -\footnotemargin }
+ { \eb@makefnmark\hss }
+ }
+ }
+ }
+ }
+ \skip_set:NV \parskip \footparskip
+ \dim_set:NV \parindent \footparindent
+ \l__eb_fntext_format_tl{#1}
+ \tl_if_eq:NnT \l__eb_footnotetype_choice_tl { hang } { \par }
+ \group_end:
}
\eb_patch_cmd:nnn { \@footnotetext,\@mpfootnotetext }
{ \reset@font }
@@ -1949,22 +2030,16 @@
}
\ProvideDocumentCommand{\super}{mo}{\textsuperscript{#1}}
\providecommand{\spb@textsuperscript@save}{\textsuperscript}
-\ctex_after_end_preamble:n
+\cs_set:Npn \@makefnmark
{
- \ExplSyntaxOn\char_set_catcode_letter:N \@
- \eb_patch_cmd:nnn { \H@@footnotemark,\@footnotemark }
- { \@makefnmark }
+ \hbox:n
{
- \hbox:n
- {
- \tl_use:N \l__eb_subfont_footnote_tl
- \tl_use:N \l__eb_fnmark_format_tl
- {\super{\@thefnmark}[0pt]}
- }
+ \tl_use:N \l__eb_subfont_footnote_tl
+ \tl_use:N \l__eb_fnmark_format_tl
+ {\super{\@thefnmark}[0pt]}
}
- \ExplSyntaxOff\char_set_catcode_other:N \@
}
-\cs_set:Npn \@makefnmark
+\cs_new:Npn \eb@makefnmark
{
\hbox:n
{
@@ -1978,7 +2053,7 @@
}
}
\tl_clear:N \@thefnmark
-\cs_new:Npn \eb@makefnmark #1
+\cs_new:Npn \eb@@makefnmark #1
{
\tl_if_empty:oF {#1}
{
@@ -1987,12 +2062,33 @@
\group_end:
}
}
+\cs_new:Npn \eb_fnmark_counter_pifont:N #1
+ { \ding{\int_eval:n { 171 + #1 }} }
+\cs_new:Npn \eb_fnmark_counter_pifont_neg:N #1
+ { \ding{\int_eval:n { 181 + #1 }} }
+\cs_new:Npn \eb_fnmark_counter_pifont_sans:N #1
+ { \ding{\int_eval:n { 191 + #1 }} }
+\cs_new:Npn \eb_fnmark_counter_pifont_sans_neg:N #1
+ { \ding{\int_eval:n { 201 + #1 }} }
+\cs_new:Npn \eb_footnote_counter:N #1
+ {
+ \str_case:VnF \l__eb_fnmark_number_choice_tl
+ {
+ { plain } { \int_use:N #1 }
+ { pifont } { \eb_fnmark_counter_pifont:N #1 }
+ { pifont* } { \eb_fnmark_counter_pifont_neg:N #1 }
+ { pifont-sans } { \eb_fnmark_counter_pifont_sans:N #1 }
+ { pifont-sans* } { \eb_fnmark_counter_pifont_sans_neg:N #1 }
+ }
+ { \int_use:N #1 }
+ }
\cs_new:Npn \Footnote #1 { \Footnotemark{#1}\@footnotetext }
-\cs_new:Npn \Footnotemark #1 { \eb@makefnmark{#1}\@footnotemark }
-\cs_new:Npn \Footnotetext #1 { \eb@makefnmark{#1}\@footnotetext }
+\cs_new:Npn \Footnotemark #1 { \eb@@makefnmark{#1}\@footnotemark }
+\cs_new:Npn \Footnotetext #1 { \eb@@makefnmark{#1}\@footnotetext }
\cs_new:Npn \eb_alph:n #1 { \int_to_alph:v { c@#1 } }
\cs_set:Npn \thefootnote { \eb_footnote_counter:N \c@footnote }
\cs_set:Npn \thempfootnote { \eb_alph:n { mpfootnote } }
+\cs_new:Npn \eb@footmisc@ifvoid #1#2#3 { \ifvoid #1#2\else #3\fi }
\contentsuse{lstlisting}{lol}
\seq_put_left:Nn \c__ctex_headings_seq { chapter }
@@ -2470,6 +2566,7 @@
\ctex_at_end_package:nn { imakeidx }
{
+ \makeindex
\RenewDocumentCommand{\printindex}{st+oD(){\imki@jobname}}
{
\group_begin:
@@ -2559,10 +2656,7 @@
noto,notosans,times,libertine,
charter,garamond,none,nc,stix
}
- {
- \tl_gset_eq:NN
- \l__eb_subfont_math_choice_tl \l_keys_choice_tl
- },
+ { \tl_set:Nn \l__eb_subfont_math_choice_tl {#1} },
math .value_required:n = true,
math .initial:n = times
}
@@ -2746,8 +2840,6 @@
\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
\RenewDocumentCommand{\declaretheorem}{O{}mO{}}
{\AfterPreamble{\eb@declaretheorem@save[#1,#3]{#2}}}
-\cs_new_protected:Npn \eb@declaretheorem #1#2
- { \declaretheorem[#2]{#1} }
\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
{\eb@declaretheoremsyle@save[#1,#3]{#2}}
\cs_set_eq:NN \newtheorem \declaretheorem
@@ -2755,11 +2847,10 @@
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
\eb_thm_name_set:nnn {#1} {#2} {#3}
- \eb@declaretheorem{#1}
- {
- name = \tl_use:c { c__eb_name_#1_tl },
- style = easy-theorem,#5
- }
+ \declaretheorem{#1}[
+ name = \tl_use:c { c__eb_name_#1_tl },
+ style = easy-theorem,#5
+ ]
\bool_if:NT \l__eb_thmbox_bool
{
\@ifpackageloaded{tcolorbox}
@@ -2892,7 +2983,7 @@
{
\skip_set:Nn \abovedisplayskip { 6pt plus 1pt minus 1pt }
\skip_set:Nn \belowdisplayskip { 6pt plus 1pt minus 1pt }
- \skip_set:Nn \abovedisplayshortskip { 0pt }
+ \skip_set:Nn \abovedisplayshortskip { 0pt plus 1pt minus 1pt }
\skip_set:Nn \belowdisplayshortskip { 6pt plus 1pt minus 1pt }
}
\ctex_at_end_package:nn { unicode-math }
@@ -3200,7 +3291,6 @@
\urlstyle{same}
\eb_allow_urlbreak:
\exp_args:NV \hypersetup \l__eb_hyperref_clist
- \use:c { makeindex }
}
\labelformat{part}{\CTEXthepart}
@@ -3242,7 +3332,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/13}{1.27d}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/14}{1.27e}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 017c449994..fdc057e91b 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index 3de2f35087..b7466e9816 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,5 @@
hvfloat.sty:
+2.33 2021-07-14 - fix for doublePAGE, needs length setting inside the macro
2.32 2021-06-29 - make multi and multisubflots caption align with the bottom
- added graphicx option doublefullPage
- prevent vertical centering for a doublepage on the right
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 3fcd284a96..66228e90ca 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.tex b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
index afe13b5bc4..d1db08c76b 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.tex 122 2021-06-26 12:35:53Z herbert $
+%% $Id: hvfloat.tex 126 2021-06-29 12:56:04Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside,paper=a4,usegeometry]{scrartcl}
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index 3d54b4f981..4d9e265b62 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -15,8 +15,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.32}
-\def\filedate{2021/06/26}
+\def\fileversion{2.33}
+\def\filedate{2021/07/14}
%\message{`hvfloat' v\fileversion, \filedate\space (Herbert Voss)}
\ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)]
\let\hvFloatFileVersion\fileversion
@@ -1258,13 +1258,12 @@
\def\do@hvFloat@doublePAGE#1{% image on left and right page with caption on the right ----------------------------------
% #1-> 0/1 caption under/right
- \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}%
- \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
+% \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}%
+% \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
\expandafter\global\expandafter\savebox\expandafter\hvObjectBox\expandafter{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\expandafter\global\expandafter\savebox\expandafter\hv@boxLeftPage\expandafter{\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}%
\expandafter\global\expandafter\savebox\expandafter\hv@boxRightPage\expandafter{\clipbox*{\hv@leftPageObjectWidth{} -\depth{} \width{} \height}{\usebox\hvObjectBox}}%
-% \endgroup% started at main macro \hvFloat
- \checkoddpage
+ \checkoddpage
\ifoddpage
\if@twocolumn
\if@firstcolumn
@@ -1283,7 +1282,7 @@
\afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}%
\fi
\else
- \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
+ \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% onecolumn/left page
\fi
\fi
\endgroup% startet at main macro
@@ -1293,15 +1292,21 @@
% #1-> 0/1 caption under/right
\afterpage{%
\hfuzz=\maxdimen
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifhv@useOBox
+ \global\let\hvObjectBox\hvOBox
+ \else
+ \global\savebox\hvObjectBox{\hv@floatObject}%
+ \fi
\noindent
+ \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}%
+ \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
\null\newpage\if@twocolumn\null\newpage\fi
\expandafter\global\expandafter\savebox\expandafter\hvObjectBox\expandafter{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\noindent
\hspace*{\dimexpr-\hv@tempWidthA}%
- \clipbox*{\the\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \clipbox*{\the\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
\begingroup
\ifnum#1>0
\medskip
diff --git a/macros/latex/contrib/kdpbook/DEPENDS.txt b/macros/latex/contrib/kdpbook/DEPENDS.txt
index 2be9f7df5e..75af288d41 100644
--- a/macros/latex/contrib/kdpbook/DEPENDS.txt
+++ b/macros/latex/contrib/kdpbook/DEPENDS.txt
@@ -1,4 +1,4 @@
-hard shellesc
+hard iexec
hard xkeyval
hard anyfontsize
hard tikz
diff --git a/macros/latex/contrib/kdpbook/README.md b/macros/latex/contrib/kdpbook/README.md
index 5c5765b4fc..a3fe02d0f9 100644
--- a/macros/latex/contrib/kdpbook/README.md
+++ b/macros/latex/contrib/kdpbook/README.md
@@ -1,4 +1,4 @@
-[![make](https://github.com/yegor256/kdpcover/actions/workflows/make.yml/badge.svg)](https://github.com/yegor256/kdpcover/actions/workflows/make.yml)
+[![make](https://github.com/yegor256/kdpcover/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/kdpcover/actions/workflows/latexmk.yml)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/kdpcover/blob/master/LICENSE.txt)
This LaTeX class I use to format covers for [my books](https://www.yegor256.com/books.html),
@@ -7,7 +7,7 @@ The problem this class solves is [the necessity](https://kdp.amazon.com/en_US/he
to change the size of the cover PDF respectfully
to the number of pages in the book — the bigger
the book, the larger must be the cover. The provided class makes necessary
-calculations on-fly, using the `qpdf` took from GhostScript. Obviously,
+calculations on-fly, using the [`qpdf`](http://qpdf.sourceforge.net/) tool. Obviously,
you need to have it installed. Also, you must
run `pdflatex` with the `--shell-escape` option, in order to allow LaTeX to run `qpdf`.
@@ -18,14 +18,15 @@ and then use in the preamble:
```tex
\documentclass[pdf=my-book.pdf]{kdpcover}
\begin{document}
-% Here you print the cover as you with, but I recommend
+% Here you print the cover as you wish, but I recommend
% you to use the commands available in the class, such as:
\putSpine{my book, vol. 1}
\putAuthor{Yegor Bugayenko}
\end{document}
```
-The full example and all commands are available in the `kdpcover.tex` file.
+The full example and all commands are available in the
+[`kdpcover.tex`](https://github.com/yegor256/kdpcover/blob/master/kdpcover.tex) file.
If you want to contribute yourself, make a fork, then create a branch,
then run `make` in the root directory.
diff --git a/macros/latex/contrib/kdpbook/images/signature.pdf b/macros/latex/contrib/kdpbook/kdpcover-signature.pdf
index af185666b2..af185666b2 100644
--- a/macros/latex/contrib/kdpbook/images/signature.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover-signature.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/images/volume-1.pdf b/macros/latex/contrib/kdpbook/kdpcover-vol-1.pdf
index 8ccf53f517..8ccf53f517 100644
--- a/macros/latex/contrib/kdpbook/images/volume-1.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover-vol-1.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/images/volume-2.pdf b/macros/latex/contrib/kdpbook/kdpcover-vol-2.pdf
index 4dd3c14199..4dd3c14199 100644
--- a/macros/latex/contrib/kdpbook/images/volume-2.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover-vol-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/images/volume-3.pdf b/macros/latex/contrib/kdpbook/kdpcover-vol-3.pdf
index a554387e49..a554387e49 100644
--- a/macros/latex/contrib/kdpbook/images/volume-3.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover-vol-3.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/images/volume-4.pdf b/macros/latex/contrib/kdpbook/kdpcover-vol-4.pdf
index a2d12b0d43..a2d12b0d43 100644
--- a/macros/latex/contrib/kdpbook/images/volume-4.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover-vol-4.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/kdpcover.cls b/macros/latex/contrib/kdpbook/kdpcover.cls
index 91603e47bf..1e33276217 100644
--- a/macros/latex/contrib/kdpbook/kdpcover.cls
+++ b/macros/latex/contrib/kdpbook/kdpcover.cls
@@ -21,34 +21,18 @@
% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{kdpcover}[2021/06/04 0.1.0 Cover for KDP book]
+\ProvidesClass{kdpcover}[2021/07/14 0.2.1 Cover for KDP book]
\LoadClass{article}
\newcommand*\kdppages{100}
\newlength\kdpxsize
\newlength\kdpysize
-\RequirePackage{shellesc}
+\RequirePackage{iexec}
\RequirePackage{xkeyval}
-\DeclareOptionX{6x9}{
- \setlength\kdpxsize{6in}
- \setlength\kdpysize{9in}
-}
+\DeclareOptionX{6x9}{\setlength\kdpxsize{6in}\setlength\kdpysize{9in}}
\DeclareOptionX{pages}{\renewcommand*\kdppages{#1}}
-\makeatletter\newcommand{\kdpexec}[3][1=]{%
- \begingroup
- \let\%\@percentchar
- \let\{\@charlb
- \let\}\@charrb
- \ShellEscape{#3 > #2}%
- \endgroup%
- \ifthenelse{\isempty{#1}}{\input{#2}}{}%
-}\makeatother
-\makeatletter\let\primitiveinput\@@input\makeatother%
-\DeclareOptionX{pdf}{
- \kdpexec[noprint]{totalpages.exc}{qpdf --show-npages #1 | tr -d '[[:space:]]' | \{ cat; echo \%; \}}%
- \renewcommand{\kdppages}{\primitiveinput totalpages.exc }
-}
+\DeclareOptionX{pdf}{\renewcommand*{\kdppages}{\iexec{qpdf --show-npages #1 | tr -d '[[:space:]]' | \{ cat; echo \%; \}}}}
\ProcessOptionsX\relax
\RequirePackage{anyfontsize}
@@ -74,7 +58,7 @@
\RequirePackage[absolute]{textpos}
\TPGrid{16}{16}
-\newcommand\putSpine[2]{
+\newcommand\putSpine[2][kdpcover-signature]{
\begin{textblock}{2.4}[0.5,0](8,0)
\begin{tikzpicture}
\node [rectangle, inner sep=0em, fill=black, minimum width=2.4\TPHorizModule, minimum height=16\TPVertModule] at (0,0) {};
@@ -88,7 +72,7 @@
\end{tikzpicture}
\end{textblock}
\begin{textblock}{2.4}[0.5,1](8,14)
- \centerline{\includegraphics[width=0.32in]{#2}}
+ \centerline{\includegraphics[width=0.32in]{#1}}
\end{textblock}
}
@@ -101,7 +85,7 @@
\newcommand\putVolume[1]{
\begin{textblock}{2}[1,1](15,14)
\raggedleft
- \includegraphics[height=0.4in]{images/volume-#1}
+ \includegraphics[height=0.4in]{kdpcover-vol-#1}
\end{textblock}
}
@@ -139,7 +123,7 @@
\begin{textblock}{4}[0,1](10,14)
#1
\quad
- \kdpexec[]{date.exc}{git log -n 1 --pretty='format:\%ad' --date='format:\%e-\%b-\%Y'}
+ \iexec{git log -n 1 --pretty='format:\%ad' --date='format:\%e-\%b-\%Y'}
\end{textblock}
}
diff --git a/macros/latex/contrib/kdpbook/kdpcover.pdf b/macros/latex/contrib/kdpbook/kdpcover.pdf
index 7c9f844d5a..0b99980c10 100644
--- a/macros/latex/contrib/kdpbook/kdpcover.pdf
+++ b/macros/latex/contrib/kdpbook/kdpcover.pdf
Binary files differ
diff --git a/macros/latex/contrib/kdpbook/kdpcover.tex b/macros/latex/contrib/kdpbook/kdpcover.tex
index ef2c073d60..93b9f91eac 100644
--- a/macros/latex/contrib/kdpbook/kdpcover.tex
+++ b/macros/latex/contrib/kdpbook/kdpcover.tex
@@ -28,7 +28,7 @@
% a good practice to mention the volume number at the end of the text,
% if you have more than one volume, e.g. "my book, vol. 1". I suggest
% using small caps in the text only.
-\putSpine{kdpcover, a LaTeX class for KDP books}{./images/signature}
+\putSpine{kdpcover, a LaTeX class for KDP books}
% This one prints the volume picture. It is intentionally made large,
% in order to make it obvious.
@@ -37,7 +37,7 @@
% Here we print the version and it will also add the date of the latest
% Git commit in the current directory. If it's not a Git repository,
% the date won't be printed.
-\putVersion{0.1.0}
+\putVersion{0.2.1}
% This prints the price, which is a good practice to mention, I believe.
\putPrice{\$0.00}