summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-05-04 03:01:16 +0000
committerNorbert Preining <norbert@preining.info>2021-05-04 03:01:16 +0000
commit342f2e1be699f5ec70b5b1c35d9cd59798d37304 (patch)
treeb0e2ca800047194391139c36c6f3e3dc3b3d2094 /macros/latex
parentbf393e635d1fb55b009da7ade3001c104c7deb48 (diff)
CTAN sync 202105040301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/README.md5
-rw-r--r--macros/latex/contrib/easybook/doc/appendix.tex7
-rw-r--r--macros/latex/contrib/easybook/doc/chapter1.tex70
-rw-r--r--macros/latex/contrib/easybook/doc/chapter2.tex106
-rw-r--r--macros/latex/contrib/easybook/doc/chapter3.tex43
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin266824 -> 0 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex128
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin467542 -> 0 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/refs.bib31
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx191
-rw-r--r--macros/latex/contrib/easybook/easybook.ins25
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin0 -> 474609 bytes
-rw-r--r--macros/latex/contrib/hvfloat/Changes1
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin18344774 -> 18366111 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex33
-rw-r--r--macros/latex/contrib/hvfloat/doc/images/missing.txt3
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty203
-rw-r--r--macros/latex/contrib/mparhack/README4
-rw-r--r--macros/latex/contrib/mparhack/README.md15
-rw-r--r--macros/latex/contrib/mparhack/mparhack.dtx138
-rw-r--r--macros/latex/contrib/mparhack/mparhack.ins16
-rw-r--r--macros/latex/contrib/mparhack/mparhack.pdfbin86384 -> 309552 bytes
22 files changed, 349 insertions, 670 deletions
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index b18f85b2d0..b301c5a006 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,7 +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 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 academic books, notes or dissertations. This project is currently under active development. If you have any good suggestions, please feel free to give feedback.
-
+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 academic books, notes or dissertations.
## Reference
- [CTeX macro collection manual](https://ctan.org/pkg/ctex)
@@ -23,7 +22,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 书籍文档类创建以极简为风格的模板,可以看作对 ctexbook 的进一步包装与增强。虽然 ctex 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。easybook 考虑了一些细节并已载入一些常用宏包用于实现一般的排版需求,同时也具有 article 档类的功能,使用户可以简便地进行设置。它适用于排版中英文学术书籍、笔记或者是学位论文。
## 参考文献
diff --git a/macros/latex/contrib/easybook/doc/appendix.tex b/macros/latex/contrib/easybook/doc/appendix.tex
deleted file mode 100644
index e05362d02d..0000000000
--- a/macros/latex/contrib/easybook/doc/appendix.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-% 附录
-
-\appendix
-\chapter{维基百科}
-
-\section{阿司匹林}
-\zhlipsum[50-52][name = aspirin] \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/chapter1.tex b/macros/latex/contrib/easybook/doc/chapter1.tex
deleted file mode 100644
index 11d793de88..0000000000
--- a/macros/latex/contrib/easybook/doc/chapter1.tex
+++ /dev/null
@@ -1,70 +0,0 @@
-% Chapter 1
-
-\chapter{多彩盒子}
-
-\begin{outline}[leftmargin = *]
-\index{zhaiyao@摘要盒子}
- \item \zhlipsum*[68][name = zhufu]
- \item \zhlipsum*[68][name = zhufu]
-\end{outline}
-
-\section{定理}
-\index{d@定理}
-\begin{theorem}[(中文定理\footnote{选自鲁迅的祝福\ref{theorem:gauss formula}。})]
-\label{theorem:gauss formula}
-\index{d@定理!g@中文定理}
-\zhlipsum*[31][name = zhufu]
-\end{theorem}
-
-\begin{definition}[(English definition)]
-\index{d@定理!s@English definition}
-\lipsum*[19]
-\end{definition}
-
-\begin{lemma}
- \zhlipsum*[51][name = zhufu]
-\end{lemma}
-
-\begin{corollary}
- \zhlipsum*[51][name = zhufu]
-\end{corollary}
-
-\begin{proposition}
- \zhlipsum*[51][name = zhufu]
-\end{proposition}
-
-\clearpage
-\begin{example}
- \zhlipsum*[51][name = zhufu]
-\end{example}
-
-\begin{remark}
- \zhlipsum*[51][name = zhufu]
-\end{remark}
-
-\begin{proof}
- \zhlipsum*[51][name = zhufu]
-\end{proof}
-
-\begin{easybox}[DarkCyan](An introduction to aspirin on Wikipedia)
-\index{z@自定义盒子}
- \zhlipsum*[59][name = aspirin]
- \tcblower
- \zhlipsum*[59][name = aspirin]
-\end{easybox}
-
-\begin{ebparbox}*[Teal](阿司匹林)
- \zhlipsum*[59][name = aspirin]
-\end{ebparbox}
-
-\begin{ebparbox}
- \zhlipsum*[59][name = aspirin]
-\end{ebparbox}
-
-\begin{exercise}+[LightSkyBlue][1.](习题)[after skip = 3.25ex][\zhlipsum*[20][name = zhufu]]
-\index{x@习题环境}
- \item \zhlipsum*[20][name = zhufu]
- \begin{tasks}
- \task \zhlipsum*[20][name = zhufu]
- \end{tasks}
-\end{exercise} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/chapter2.tex b/macros/latex/contrib/easybook/doc/chapter2.tex
deleted file mode 100644
index 06eb655e2c..0000000000
--- a/macros/latex/contrib/easybook/doc/chapter2.tex
+++ /dev/null
@@ -1,106 +0,0 @@
-% Chapter 2
-
-\chapter{常用环境}
-
-\section{公式}
-\index{g@公式}
-\zhlipsum*[42][name = aspirin]
-\begin{equation}\label{eq:matrix}
- \bm{A} = \left[\begin{matrix}
- a_{11} & a_{12} & \cdots & a_{1n} \\
- a_{21} & a_{22} & \cdots & a_{2n} \\
- \vdots & \vdots & \ddots & \vdots \\
- a_{m1} & a_{m2} & \cdots & a_{mn} \\
- \end{matrix}\right] = \left[\begin{matrix}
- \bm{a}_1 & \bm{a}_2 & \cdots & \bm{a}_n
- \end{matrix}\right]
-\end{equation}
-可以通过添加标签在正文中引用公式,如带有中文括号的引用\ref{eq:matrix}。
-
-\zhlipsum*[56][name = aspirin]
-\begin{equation}
- \begin{split}
- \iint_{A}E\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho \mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W}{\mathrm{d}t}
- \\
- \iint_{A}\left(U + \frac{v^{2}}{2} + gz + \frac{P}{\rho}\right)\rho(\bm{v}\cdot\bm{n})\mathrm{d}A + \frac{\partial}{\partial t}\iiint_{V}E\rho\mathrm{d}V &= \frac{\delta Q}{\mathrm{d}t} - \frac{\delta W_{s}}{\mathrm{d}t}
- \end{split}
-\end{equation}
-
-\zhlipsum*[42][name = aspirin]
-\begin{subnumcases}{y =}
- C_1e^{r_1x} + C_2e^{r_2x} & \quad $p^2 - 4q > 0$
- \\
- \left(C_1 + C_2\right)e^{r_1x} & \quad $p^2 - 4q = 0$
- \\
- e^{\alpha x}\left(C_1\cos\beta x + C_2\sin\beta x\right) & \quad $p^2 - 4q < 0$
-\end{subnumcases}
-
-\zhlipsum*[57][name = aspirin]
-
-\clearpage
-\section{插图}
-\index{c@插图}
-当我们需要排列一组子图共享标题的图片时,可以使用依赖于 \lstinline{caption} 宏包的 \lstinline{subcaption} 宏包的功能,效果见\ref{fig:example}。
-\begin{figure}[htbp]
- \centering
- \subcaptionbox{并排子图1}
- {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
- \hspace{1.2em}
- \subcaptionbox{并排子图2}
- {\includegraphics[width = 0.4\textwidth]{example-image-4x3}}
- \bicaption[使用 subcaption 排版子图]{使用 subcaption 宏包的 subcaptionbox 命令排版子图}[Use subcaption to typeset subgraphs]{Use the subcaptionbox command of the subcaption package to typeset sub-pictures}\label{fig:example}
-\end{figure}
-
-\section{表格}
-\index{b@表格}
-合并表格列使用 \lstinline{\multicolumn} 命令,合并行可以使用 \lstinline{multirow} 宏包的 \lstinline{\multirow} 命令。当插入的表格内容过长以至于一行放不下的情况可以使用 \lstinline{tabularx} 环境,文档类设置了\textsf{L、C和R}三个列对齐选项,一个例子如\ref{tab:example} 所示。
-\begin{table}[htbp]
- \centering
- \bicaption{使用 tabularx 创建内容过长表格}{Use tabularx to create a table with too long content}\label{tab:example}\small
- \begin{tabularx}{0.87\textwidth}{@{}llL@{}}
- \toprule
- Aliquam & Integer & \lipsum[1][9] \\
- \midrule
- viverra & \multirow[c]{3}*{metus} & \lipsum[1][1-2] \\
- semper & & \lipsum[1][3-5] \\
- \multicolumn{2}{c}{\multirow{3}*[0ex]{convallis}} & \lipsum[1][6-8] \\
- \bottomrule
- \end{tabularx}
-\end{table}
-
-\clearpage
-\section{列表}
-\index{l@列表}
-
-\subsection{排序列表}
-\index{l@列表!p@排序列表}
-\begin{enumerate}
- \item \zhlipsum[41-42][name = aspirin]
- \begin{enumerate}
- \item \zhlipsum*[42][name = aspirin]
- \begin{enumerate}
- \item \zhlipsum*[42][name = aspirin]
- \end{enumerate}
- \end{enumerate}
-\end{enumerate}
-
-\subsection{常规列表}
-\index{l@列表!c@常规列表}
-\begin{itemize}
- \item \zhlipsum[41-42][name = aspirin]
- \begin{itemize}
- \item \zhlipsum*[42][name = aspirin]
- \begin{itemize}
- \item \zhlipsum*[42][name = aspirin]
- \end{itemize}
- \end{itemize}
-\end{itemize}
-
-\subsection{主题列表}
-\index{l@列表!z@主题列表}
-\begin{description}
- \item[主题一] \zhlipsum*[42][name = aspirin]
- \begin{description}
- \item[主题二] \zhlipsum*[42][name = aspirin]
- \end{description}
-\end{description} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/chapter3.tex b/macros/latex/contrib/easybook/doc/chapter3.tex
deleted file mode 100644
index 33030ffc47..0000000000
--- a/macros/latex/contrib/easybook/doc/chapter3.tex
+++ /dev/null
@@ -1,43 +0,0 @@
-% Chapter 3
-
-\chapter{其它格式}
-\label{chap:other formats}
-
-\section{代码}
-\index{d@代码}
-\zhlipsum[41][name = aspirin]
-\begin{lstlisting}[language = Python,caption = python 程序练习题]
-#!/usr/bin/python
-# -*- coding: UTF-8 -*-
-
-i = ['a','b']
-l = [1,2]
-print dict([i,l])
-\end{lstlisting}
-
-\section{物理量}
-\index{w@物理量}
-阿司匹林还有三种作用方式 \num{-21x.3e5}。一是使线粒体的氧化磷酸化解偶联 \SIrange{12}{35}{\minute}。阿司匹林会携带质子从线粒体膜间隙扩散进入线粒体基质,然后再次电离释放质子 \SI{.5}{mol}。
-
-\section{化学式}
-\index{h@化学式}
-阿司匹林还有三种作用方式。一是使线粒体的氧化磷酸化解偶联。阿司匹林会携带质子从线粒体膜间隙扩散进入线粒体基质,然后再次电离释放质子\ch{(NH4)2S}、\ch{[Cu(NH3)4]^2+}。
-\[\ch{$x$ Na(NH4)HPO4 ->[$\Delta$] (NaPO3)_{$x$} + $x$ NH3 ^ + $x$ H2O}\]
-\zhlipsum[41][name = aspirin]
-
-\clearpage
-\section{引用}
-\index{y@引用}
-
-\subsection{引用章节}
-\label{subsec:reference section}
-\index{y@引用!s@索引}
-阿司匹林及其复方制剂都能有效治疗某几种头痛,但对另外几种则效果不明\ref{chap:other formats}。因其他疾病或创伤导致的继发性头痛需要及时在医疗机构接受治疗\ref{subsec:reference section}。
-
-\subsection{脚注}
-\index{y@引用!j@脚注}
-阿司匹林及其复方制剂都能有效治疗某几种头痛,但对另外几种则效果不明\footnote{\zhlipsum*[8][name = aspirin]}。因其他疾病或创伤导致的继发性头痛需要及时在医疗机构接受治疗\Footnote{*}{\zhlipsum*[8][name = aspirin]}。
-
-\subsection{参考文献}
-\index{y@引用!c@参考文献}
-这是一个参考文献引用的范例\cite{1979Prospect}。引用多个文献,将引用标号中的多个文献序号按升序排列,若其中有2个以上的连续序号,则改用范围序号,例如\cite{1979Prospect,1989The,2010An}。 \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
deleted file mode 100644
index 0aa9c117da..0000000000
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
deleted file mode 100644
index d37e662e63..0000000000
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ /dev/null
@@ -1,128 +0,0 @@
-\documentclass[
- class = book,
- scheme = chinese,
- zihao = -4,
- font = noto,
- paper = a4paper,
- openany
- ]{easybook}
-
-\ctexset
- {
- style =
- {
- color = seaside,
- % color-all = 009393,
- % multoc = true,
- % withpart = true,
- footwith = page,
- notomath = true,
- rulewidth = 0.75pt,
- % uppercase = false,
- number-sep = {.}
- },
- link =
- {
- hyperlink = various,
- linkcolor = navyblue,
- linktoc = all
- },
- spread =
- {
- line = 1.355,
- table = 1.05,
- math = 1.05,
- caption = 1,
- footnote = 1
- },
- elsefont =
- {
- table-cap = \sffamily\zihao{5},
- figure-cap = \sffamily\zihao{5},
- listing-cap = \sffamily\zihao{5},
- footnote = \rmfamily,
- marginpar = \sffamily\zihao{-5}
- },
- thmset =
- {
- thmbox = true,
- within = chapter,
- bodyfont = \normalfont,
- headpunct = {.}
- },
- geoset =
- {
- vmargin = {2.54cm,2.54cm},
- hmargin = 3.17cm,
- headheight = 2.04cm,
- headsep = 0.5cm,
- ignorefoot
- },
- hdrset =
- {
- % headrule = {},
- head-foot =
- {
- \easyhead[EC]{\color{DarkOrchid}\kaishu\leftmark}
- \easyhead[OC]{\color{DarkOrchid}\kaishu\rightmark}
- \easyhead[EL,OR]{\color{DarkOrchid}\thepage}
- }
- },
- tocset =
- {
- hang = false,
- line-align = true,
- numsep-all = \ccwd,
- part =
- {
- format += \large,
- indent = 0\ccwd,
- rule = \tocrule{}[\bfseries]
- },
- chapter =
- {
- format = \addvspace{1pc}\sffamily\large,
- indent = 0\ccwd,
- rule = \tocrule[0.7pc](1.2){$\cdot$}[\bfseries]
- }
- },
- bibset =
- {
- bib-loadpkg = true,
- backend = bibtex,
- bib-style = numerical
- },
- % secnumdepth = 2,
- % tocdepth = 2
- }
-
-\usepackage{lipsum,zhlipsum,bicaption,tasks,tcolorbox,imakeidx}
-
-\begin{document}
-\title{\sffamily easybook 文档类演示}
-\author
- {
- 瞿毅\thanks{quee123@foxmail.com.} \\
- \url{https://latexstudio.net} \\
- \url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。}
- }
-\date{2021/05/02\hskip\ccwd\relax v1.24z}
-
-\frontmatter[roman]
-\maketitle
-\tableofcontents[book,multoc = false]
-\listoffigures+[book,multoc = false,title = 图片列表]
-
-\mainmatter*
-\part{使用示例}
-\listoftables[book,multoc = false,title = 表格列表]
-\listoflistings+[book,multoc = false,title = 代码列表]
-\include{chapter1}
-\include{chapter2}
-\include{chapter3}
-\include{appendix}
-
-\backmatter
-\printbibliography+[book,multoc = false,title = 参考文献]
-\printindex+[book,title = 索引]
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
deleted file mode 100644
index 04f3b5c583..0000000000
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/refs.bib b/macros/latex/contrib/easybook/doc/refs.bib
deleted file mode 100644
index 01b14bd82c..0000000000
--- a/macros/latex/contrib/easybook/doc/refs.bib
+++ /dev/null
@@ -1,31 +0,0 @@
-% Encoding: UTF-8
-
-@article{1979Prospect,
- title = {Prospect Theory: An Analysis of Decision under Risk},
- author = {Tversky, Kahneman Amos},
- journal = {Econometrica},
- volume = {47},
- number = {2},
- pages = {263-291},
- year = {1979},
-}
-
-@article{2010An,
- title = {An Introduction to Sociolinguistics},
- author = {Grabe, William and Wardhaugh, Ronald},
- journal = {Language in Society},
- volume = {36},
- number = {2},
- pages = {605-605},
- year = {2010},
-}
-
-@article{1989The,
- title = {The structural transformation of the public sphere: an inquiry into a cstergory of burgeois society},
- author = {Scaff, Lawrence A. and Habermas, Jurgen and Burger, Thomas and Nicholson, Shierry Weber},
- journal = {American Political Science Review},
- volume = {84},
- number = {3},
- pages = {967},
- year = {1989},
-} \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 73f3c1ead7..538b1cedf8 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -6,38 +6,9 @@
% conditions of the CC-BY 4.0 License.
% The latest version of this license is in
% https://creativecommons.org/licenses/by/4.0/legalcode
-%<*driver>
-\def\nameofplainTeX{plain}
-\ifx\fmtname\nameofplainTeX
-\else
- \expandafter\begingroup
-\fi
-%<*install>
-\input ctxdocstrip
-\keepsilent
-\askforoverwritefalse
-%
-\preamble
-Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
-
-This work may be distributed and/or modified under the
-conditions of the CC-BY 4.0 License.
-The latest version of this license is in
- https://creativecommons.org/licenses/by/4.0/legalcode
-\endpreamble
-%
-\generate
- {
- \usedir{tex/latex/\jobname}
- \file{\jobname.cls}{\from{\jobname.dtx}{class}}
- }
-%</install>
-\ifx\fmtname\nameofplainTeX
- \expandafter\endbatchfile
-\else
- \expandafter\endgroup
-\fi
-%</driver>
+% \fi
+%
+% \iffalse
%<*driver>
\documentclass{ctxdoc}
\OnlyDescription
@@ -53,40 +24,57 @@ The latest version of this license is in
% \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
% \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
% \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
+% \changes{v1.25}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/05/02\hskip\ccwd\relax v1.24z\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/05/03\hskip\ccwd\relax v1.25\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{ctexbook} 的进一步包装与增强。虽然 \CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并已载入一些常用宏包用于实现一般的排版需求,同时也具有 \cls{article} 文档类的功能,使用户可以简便地进行设置。它适用于排版中英文学术书籍、笔记或者是学位论文。
% \end{abstract}
% \tableofcontents
%
-% \begin{documentation}
-% \section{编译方式}
-% 编译文档类的一个使用示例文件 \opt{easybook-demo.tex} 前建议满足以下的条件
+% \section{使用说明}
+% 使用 \cls{easybook} 文档类编写文档前您可能需要满足以下的条件
% \begin{itemize}
% \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
-% \item 由于用到了一些\LaTeX 和宏包较新的功能,建议安装最新的\TeX 发行版,例如 \TeX Live 2021或 \hologo{MiKTeX} 21.2之后的版本。
+% \item 由于用到了一些 \LaTeX 和宏包较新的功能,建议安装最新的 \TeX 发行版,例如 \TeX Live 2021或 \hologo{MiKTeX} 21.2之后的版本。
% \end{itemize}
%
-% \subsection{编译步骤}
+% \subsection{基本用法}
+% 以下一份简单的 \TeX 文档演示了 \cls{easybook} 的最基本用法,在导言区进行宏包载入与文档设置,一些详细的使用样例会不定期上传在 \href{https://www.latexstudio.net/}{\LaTeX 工作室} 的网站。
% \begin{frameverb}
-% xelatex -shell-escape easybook-demo
-% bibtex easybook-demo
-% makeindex easybook-demo
-% xelatex -shell-escape easybook-demo
-% xelatex -shell-escape easybook-demo
+% \documentclass{easybook}
+%
+% \ctexset{键值列表}
+% \usepackage{宏包列表}
+%
+% \begin{document}
+% \chapter{欢迎}
+% \section{Welcome to easybook}
+% Hello, \LaTeX
+% \end{document}
% \end{frameverb}
+%
+% \subsection{编译方式}
+% 假设您的 \TeX 源文件名为 \opt{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行
+% \begin{frameverb}
+% xelatex -shell-escape easybook
+% bibtex easybook
+% makeindex easybook
+% xelatex -shell-escape easybook
+% xelatex -shell-escape easybook
+% \end{frameverb}
+% 当然也可以使用 \opt{latexmk} 及一些软件自带的编译工具,这里就不做介绍。 \\
% \ding{72} 需要注意正确\textbf{编译索引}要增加 \opt{-shell-escape} 命令行选项。
%
% \subsection{字体设置}
% \label{subsec:font settings}
-% 默认使用\CTeX 预置中文字库,当开启 \opt{font = noto} 选项时需要安装开源字体,中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。相关选项可以见节 \ref{sec:document class options} 中的 \opt{font} 选项,字体点击此处下载\href{https://wws.lanzous.com/b01ns361i}{下载地址}。
+% 默认使用 \CTeX 预置中文字库,当开启 \opt{font = noto} 选项时需要安装开源字体,中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。相关选项可以见节 \ref{sec:document class options} 中的 \opt{font} 选项,字体点击此处下载\href{https://wws.lanzous.com/b01ns361i}{下载地址}。
%
-% 如果您不想使用\CTeX 默认字体和方正、思源字体,\textbf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。
+% 如果您不想使用 \CTeX 默认字体和方正、思源字体,\textbf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。
% \begin{ctexexam}
% \setCJKmainfont{SimSun}[BoldFont = SimHei,ItalicFont = KaiTi]
% \setCJKsansfont{SimHei}
@@ -98,7 +86,7 @@ The latest version of this license is in
% 标准 \cls{book} 文类与 \cls{ctexbook} 文类的选项同样适用于本文档。除此之外选项分为两类
% \begin{itemize}
% \item 带有 \rexptarget\rexpstar{} 号的选项,需要在引入文档类的时候设定。
-% \item 带有 \exptarget\expstar{} 号的选项,需要通过\CTeX 宏集提供的用户接口命令 \tn{ctexset} 或节 \ref{sec:interface options} 中此选项所属模块接口命令设定。
+% \item 带有 \exptarget\expstar{} 号的选项,需要通过 \CTeX 宏集提供的用户接口命令 \tn{ctexset} 或节 \ref{sec:interface options} 中此选项所属模块接口命令设定。
% \end{itemize}
%
% \begin{function}[rEXP,added = 2021-01-05]{draft}
@@ -117,7 +105,7 @@ The latest version of this license is in
% \begin{syntax}
% scheme = <(chinese)|plain>
% \end{syntax}
-% \opt{scheme} 代表文档的主题,扩展了此选项在\CTeX 文档类中原有的作用范围,\opt{plain} 选项可使各类标题变为英文形式。包括章节标题、图表标题和定理标题等。如\textbf{第一章}变为\textbf{Chapter 1},\textbf{图1.1} 变为 \textbf{Table 1.1}。
+% \opt{scheme} 代表文档的主题,扩展了此选项在 \CTeX 文档类中原有的作用范围,\opt{plain} 选项可使各类标题变为英文形式。包括章节标题、图表标题和定理标题等。如\textbf{第一章}变为\textbf{Chapter 1},\textbf{图1.1} 变为 \textbf{Table 1.1}。
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-04-29]{enmode}
@@ -129,7 +117,7 @@ The latest version of this license is in
% font = <adobe|founder|mac|windows|linux|(overleaf)|noto|none>
% \end{syntax}
% 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。
-% \changes{v1.21}{2021/01/12}{默认字体与\CTeX 一致,不再是自定义字体。}
+% \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。}
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -180,7 +168,7 @@ The latest version of this license is in
% \end{syntax}
% \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。已经预置了中英文的目录标题,可以使用 \opt{title} 选项更改目录标题的名称。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。
% \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。}
-% \changes{v1.24z}{2021/04/04}{目录命令的可选参数增加标题键值。}
+% \changes{v1.24}{2021/04/04}{目录命令的可选参数增加标题键值。}
% \end{function}
%
% \section{接口选项}
@@ -189,7 +177,7 @@ The latest version of this license is in
% \begin{syntax}
% \tn{ctexset}\marg{键值列表}
% \end{syntax}
-% \cls{easybook} 扩展了\CTeX 宏集\LaTeX 3风格键值的通用控制命令 \tn{ctexset},接口选项同样可用它设置, 原有的键值列表仍然可用。本文档类目前有九个模块用于实现常规的排版功能,如下表所示,它们既是统一接口 \tn{ctexset} 的路径,也是相关模块的接口命令名
+% \cls{easybook} 扩展了 \CTeX 宏集\LaTeX 3风格键值的通用控制命令 \tn{ctexset},接口选项同样可用它设置, 原有的键值列表仍然可用。本文档类目前有九个模块用于实现常规的排版功能,如下表所示,它们既是统一接口 \tn{ctexset} 的路径,也是相关模块的接口命令名
% \begin{center}
% \begin{tabular}{*{5}{c}}
% \toprule
@@ -263,7 +251,7 @@ The latest version of this license is in
% \ding{229} 以上选项路径为 \opt{link/...} \\
% \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
-% \changes{v1.24z}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
+% \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
% \end{function}
%
% \begin{optdesc}
@@ -284,12 +272,12 @@ The latest version of this license is in
% \label{subsec:spacing}
% \begin{function}[EXP,added = 2021-01-05,updated = 2021-04-19]{line,table,math,caption,footnote,spread-all}
% \begin{syntax}
-% line = <(1.3)>
-% table = <(1.05)>
-% math = <(1.05)>
-% caption = <(1)>
-% footnote = <(1)>
-% spread-all = <(empty)>
+% line = <数值|(1.3)>
+% table = <数值|(1.05)>
+% math = <数值|(1.05)>
+% caption = <数值|(1)>
+% footnote = <数值|(1)>
+% spread-all = <数值|(empty)>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{spread/...} \\
% 行距因子用于设置各种行距倍数,只能是浮点数,不能带有长度单位。各行距既可在导言区全局设置也可正文中设置对后面生效,行距的意义为
@@ -342,7 +330,7 @@ The latest version of this license is in
% \ding{229} 以上选项路径为 \opt{bibset/...}
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
-% \changes{v1.24z}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
+% \changes{v1.24}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
% \end{function}
%
% \begin{optdesc}
@@ -380,9 +368,9 @@ The latest version of this license is in
% \begin{syntax}
% thmbox = <true|(false)>
% within = <(chapter)|section|其它环境|空置>
-% headpunct = <(未设置)>
-% bodyfont = <(未设置)>
-% notefont = <(未设置)>
+% headpunct = <(empty)>
+% bodyfont = <(empty)>
+% notefont = <(empty)>
% headfont = <(\tn{color}\marg{ctex@emph}\tn{sffamily})>
% headindent = <(0\tn{ccwd})>
% spaceabove = <(0.75ex plus .1ex)>
@@ -414,7 +402,7 @@ The latest version of this license is in
% \end{syntax}
% 文档类已预置8个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
-% \changes{v1.24z}{2021/04/25}{增加定义定理环境命令 \tn{EbNewtheorem}。}
+% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EbNewtheorem}。}
% \end{function}
%
% \begin{optdesc}
@@ -471,10 +459,11 @@ The latest version of this license is in
% \begin{ctexexam}
% \geoset
% {
-% top = 2.5cm,
-% bottom = 2.5cm,
-% left = 3.2cm,
-% right = 3.2cm
+% top = 2.5cm,
+% bottom = 2.5cm,
+% left = 3.2cm,
+% right = 3.2cm,
+% ignoreall
% }
% \end{ctexexam}
%
@@ -498,7 +487,7 @@ The latest version of this license is in
% \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。}
% \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。}
% \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。}
-% \changes{v1.24z}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
+% \changes{v1.24}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot}
@@ -518,8 +507,8 @@ The latest version of this license is in
% \easyhead[OL]{\rightmark}
% \easyhead[EL,OR]{\textbf{\thepage}}
% },
-% sec-mark = \CTEXthesection\hspace{0.5\ccwd}#1,
-% headrule = \hrule width \textwidth height 1pt
+% sec-mark = \CTEXthesection\hspace{0.5\ccwd}#1,
+% headrule = \hrule width \textwidth height 1pt
% }
% \end{ctexexam}
%
@@ -538,7 +527,7 @@ The latest version of this license is in
%
% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令,带有加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
-% \changes{v1.24z}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
+% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberline}
@@ -548,7 +537,7 @@ The latest version of this license is in
% \end{syntax}
% \tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用。带有星号的命令会使当前级别的目录引导线右边与页码连接而不是对齐。引导点间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
%
-% \tn{EbNumberline} 命令类似\CTeX 的 \tn{CTEXnumberline} 命令,用于 \opt{tocline} 选项中设置目录标签的编号。区别是它需要在 \opt{tocset/hang = false} 时使用,否则目录中无法显示标题编号,使用它的时候 \opt{numsep} 选项仍然有效。\meta{编号类型} 为 \opt{chapter} 和 \opt{section} 等,也可用参数\#1代替当前级别类型,标题名用参数\#2代替一般不变。
+% \tn{EbNumberline} 命令类似 \CTeX 的 \tn{CTEXnumberline} 命令,用于 \opt{tocline} 选项中设置目录标签的编号。区别是它需要在 \opt{tocset/hang = false} 时使用,否则目录中无法显示标题编号,使用它的时候 \opt{numsep} 选项仍然有效。\meta{编号类型} 为 \opt{chapter} 和 \opt{section} 等,也可用参数\#1代替当前级别类型,标题名用参数\#2代替一般不变。
% \end{function}
%
% \begin{ctexexam}
@@ -556,9 +545,9 @@ The latest version of this license is in
% {
% chapter =
% {
-% format = \addvspace{8pt}\large,
-% indent = 1.5\ccwd,
-% rule = \tocrule[0.6pc](1.1){.}[\zihao{5}]
+% format = \addvspace{8pt}\large,
+% indent = 1.5\ccwd,
+% rule = \tocrule[0.6pc](1.1){.}[\zihao{5}]
% }
% }
% \end{ctexexam}
@@ -578,20 +567,20 @@ The latest version of this license is in
% rule-all = <目录引导线样式>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{tocset/list/...} 或 \opt{tocset/...}
-% \changes{v1.24z}{2021/04/05}{可以设置图、表和代码目录的标签。}
-% \changes{v1.24z}{2021/04/06}{增加目录引导线右边对齐方式。}
-% \changes{v1.24z}{2021/04/19}{给目录增加 \opt{hang} 样式选项。}
-% \changes{v1.24z}{2021/05/01}{给目录增加 \opt{format+} 和 \opt{rule-all} 选项。}
+% \changes{v1.24}{2021/04/05}{可以设置图、表和代码目录的标签。}
+% \changes{v1.24}{2021/04/06}{增加目录引导线右边对齐方式。}
+% \changes{v1.24}{2021/04/19}{给目录增加 \opt{hang} 样式选项。}
+% \changes{v1.24}{2021/05/01}{给目录增加 \opt{format+} 和 \opt{rule-all} 选项。}
% \end{function}
%
% \begin{optdesc}
-% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与\CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。
+% \item[lolskip] \opt{lolskip} 是代码目录中章之间的代码标题的距离,与 \CTeX 的表格目录和图片目录中章之间的标题距离选项 \opt{lotskip} 和 \opt{lofskip} 类似,它们的值均默认0.8 pc,在 \opt{article} 模式中此选项失效。
% \item[belowoffset] \opt{belowoffset} 选项为主目录标题 \tn{contentsname} 后的间距补偿,一般为负值,用于抵消 \opt{format} 中设置的垂直间距。\opt{list} 中的 \opt{belowoffset} 与之意义类似,但是一般为正值,可以在 \opt{article} 模式中使用。建议 \opt{list/lolskip(0.8pc) + list/format/addvspace(0.2pc) + list/belowoffset(0pc) = belowoffset(-1pc)}。
% \item[tocline] 目录标签整体使用 \opt{tocline} 设置,在图表标签的参数中\#1代表编号,代码标签中则是 \tn{thelstlisting} 代表编号,标签中还可包含标签名称,默认标签名称与图、表和代码环境的标题名称一致。下面举个设置标签的例子
% \begin{ctexexam}
% \tocset
% {
-% hang = false,
+% hang = false,
% tocline-fig = 图#1\hspace{\ccwd},
% tocline-lst = 代码\thelstlisting\hspace{\ccwd}
% }
@@ -623,7 +612,7 @@ The latest version of this license is in
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的键值列表,具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如
-% \changes{v1.24z}{2021/04/08}{重新优化列表环境的配置。}
+% \changes{v1.24}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
@@ -742,7 +731,7 @@ The latest version of this license is in
% \tn{end}\marg{ebparbox}
% \end{syntax}
% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
-% \changes{v1.24z}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
+% \changes{v1.24}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
% \end{function}
%
% \subsubsection{行内盒子}
@@ -764,7 +753,7 @@ The latest version of this license is in
% \ <行间代码>
% \tn{end}\marg{lstlisting}
% \end{syntax}
-% 加载 \pkg{listings} 宏包以对代码格式进行高度定制,代码样式可使用 \tn{lstset} 命令设置,预置的代码样式名为 \opt{easy-listings}。\opt{lstlistlistingname} 和 \opt{lstlistingname} 分别是代码目录名与代码环境标题名,与\CTeX 使用手册中标题汉化一节用法相同,可使用 \tn{ctexset} 直接定义。
+% 加载 \pkg{listings} 宏包以对代码格式进行高度定制,代码样式可使用 \tn{lstset} 命令设置,预置的代码样式名为 \opt{easy-listings}。\opt{lstlistlistingname} 和 \opt{lstlistingname} 分别是代码目录名与代码环境标题名,与 \CTeX 使用手册中标题汉化一节用法相同,可使用 \tn{ctexset} 直接定义。
% \end{function}
%
% \subsection{物理量}
@@ -800,8 +789,8 @@ The latest version of this license is in
% \tn{ref}\marg{标签}
% \tn{labelformat}\marg{计数器}\marg{标签引用格式}
% \end{syntax}
-% 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。
-% \changes{v1.24z}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
+% 使用 \tn{ref} 命令引用 \tn{label} 设置的标签,将会自动检测环境并添加相应的前缀,比如图表、章节标题和定理等。\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。
+% \changes{v1.24}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。}
% \end{function}
%
% \subsubsection{索引}
@@ -811,7 +800,7 @@ The latest version of this license is in
% \tn{printindex*+}\parg{索引名}\oarg{键值列表}
% \end{syntax}
% \pkg{imakeidx} 宏包可使用索引的功能,重新定义了它的 \tn{printindex} 命令用于生成索引目录,键值列表及用法与小节 \ref{subsec:document command} 相同,但 \opt{multoc} 选项和 \pkg{imakeidx} 原本的接口命令 \tn{indexsetup} 部分选项失效。仅做了简单的设置如将索引设为双栏并加入目录,其他选项可另外配置。
-% \changes{v1.24z}{2021/05/01}{重新定义 \tn{printindex} 命令与文档适配。}
+% \changes{v1.24}{2021/05/01}{重新定义 \tn{printindex} 命令与文档适配。}
% \end{function}
%
% \subsubsection{自定义脚注}
@@ -909,13 +898,12 @@ The latest version of this license is in
% \item[\ding{75} mathtools] 增强 \pkg{amsmath} 的数学功能。
% \item[\ding{75} unicode-math] 处理使用 unicode 编码的数学字体。
% \end{description}
-% \end{documentation}
%
% \StopEventually{}
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/02}{1.24z}{beta}
+\ProvidesExplClass{easybook}{2021/05/03}{1.25}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1070,8 +1058,10 @@ The latest version of this license is in
equation-sep .tl_set:N = \l__eb_equation_separator_tl,
number-sep .meta:n =
{
- figure-sep = #1,table-sep = #1,
- listing-sep = #1,equation-sep = #1
+ figure-sep = #1,
+ table-sep = #1,
+ listing-sep = #1,
+ equation-sep = #1
},
number-sep .initial:n = { . }
}
@@ -1289,7 +1279,7 @@ The latest version of this license is in
chap-mark .cs_set:Np = \eb_fancyhf_chapter_mark:n #1,
chap-mark .initial:n =
{
- \int_compare:nT { \c@secnumdepth > -1 }
+ \int_compare:nNnT { \c@secnumdepth } > { -1 }
{
\ifbool{@mainmatter}
{
@@ -1301,7 +1291,7 @@ The latest version of this license is in
sec-mark .cs_set:Np = \eb_fancyhf_section_mark:n #1,
sec-mark .initial:n =
{
- \int_compare:nT { \c@secnumdepth > 0 }
+ \int_compare:nNnT { \c@secnumdepth } > { 0 }
{
\int_if_odd:nT { \CTEX@section@numbering }
{ \CTEXthesection\hspace{0.5\ccwd} }
@@ -1310,7 +1300,7 @@ The latest version of this license is in
subsec-mark .cs_set:Np = \eb_fancyhf_subsection_mark:n #1,
subsec-mark .initial:n =
{
- \int_compare:nT { \c@secnumdepth > 1 }
+ \int_compare:nNnT { \c@secnumdepth } > { 1 }
{
\int_if_odd:nT { \CTEX@subsection@numbering }
{ \CTEXthesubsection\hspace{0.5\ccwd} }
@@ -1580,7 +1570,8 @@ The latest version of this license is in
{
\addcontentsline{lol}{lstlisting}
{\protect\numberline{\thelstlisting}\lst@@caption}
- }{
+ }
+ {
\addcontentsline{lol}{lstlisting}
{
\ifbool{eb@titletoc@hang@fix}{\protect\numberline}{}
@@ -1848,7 +1839,7 @@ The latest version of this license is in
\cs_new:Npn \eb_arabic:n #1 { \int_to_arabic:v { c@#1 } }
\cs_gset:cpn { thesection }
{
- \int_compare:nT { \c@chapter > 0 } { \thechapter. }
+ \int_compare:nNnT { \c@chapter } > { 0 } { \thechapter. }
\eb_arabic:n { section }
}
\seq_const_from_clist:Nn \c__eb_serial_number_counter_seq
@@ -1857,7 +1848,7 @@ The latest version of this license is in
{
\cs_set:cpn { the#1 }
{
- \int_compare:nT { \c@chapter > 0 }
+ \int_compare:nNnT { \c@chapter } > { 0 }
{
\thechapter
\use:c { l__eb_#1_separator_tl }
@@ -2050,7 +2041,7 @@ The latest version of this license is in
headindent = \l__eb_thm_headindent_tl,
headfont = \l__eb_thm_headfont_tl,
notefont = \l__eb_thm_notefont_tl,
- notebraces = {}{},
+ notebraces = { }{ },
bodyfont = \l__eb_thm_bodyfont_tl,
headpunct = \l__eb_thm_headpunct_tl,
postheadspace = \l__eb_thm_spacepost_tl,
@@ -2160,7 +2151,7 @@ The latest version of this license is in
\cs_gset:Npn \tagform@ #1
{ \maketag@@@{\color{ctex@emph}(\ignorespaces #1\unskip\@@italiccorr)} }
\ctex_at_end_package:nn { unicode-math }
- {\msg_redirect_module:nnn { unicode-math } { warning } { none } }
+ { \msg_redirect_module:nnn { unicode-math } { warning } { none } }
\ctex_at_end_package:nn { tcolorbox }
{
@@ -2475,7 +2466,7 @@ The latest version of this license is in
rulecolor = \color{ctex@frame},
commentstyle = \color{SlateGray},
emphstyle = \color{ctex@emph},
- emph = {caption,multirow,subcaption,tabularx},
+ % emph = {},
morekeywords =
{
includegraphics,setmainfont,setsansfont,setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont,setCJKfamilyfont,RequirePackage
diff --git a/macros/latex/contrib/easybook/easybook.ins b/macros/latex/contrib/easybook/easybook.ins
new file mode 100644
index 0000000000..af8f3f8134
--- /dev/null
+++ b/macros/latex/contrib/easybook/easybook.ins
@@ -0,0 +1,25 @@
+%
+% Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\input ctxdocstrip
+\keepsilent
+\askforoverwritefalse
+
+\usedir{tex/latex/easybook}
+
+\preamble
+Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
+
+This work may be distributed and/or modified under the
+conditions of the CC-BY 4.0 License.
+The latest version of this license is in
+ https://creativecommons.org/licenses/by/4.0/legalcode
+\endpreamble
+
+\generate{\file{\jobname.cls}{\from{\jobname.dtx}{class}}}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
new file mode 100644
index 0000000000..a7ab69332e
--- /dev/null
+++ 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 6e00a6f5fd..1b9013caae 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,5 @@
hvfloat.sty:
+2.21 2021-05-04 - fix for several bugs (onlyText, spaces,...)
2.20 2021-04-29 - use better macronames for setting the defaults
and defining an own style
2.19 2021-03-15 - fix for vertical spacing of doubleFULLPAGE
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 50b449eb45..b174232b47 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 18d4d56527..18c0898a59 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,7 +1,7 @@
-%% $Id: hvfloat.tex 56 2021-03-15 07:20:37Z herbert $
+%% $Id: hvfloat.tex 73 2021-05-03 07:38:13Z herbert $
\listfiles
\errorcontextlines=100
-\documentclass[twoside,paper=a4]{scrartcl}
+\documentclass[twoside,paper=a4,]{scrartcl}
\usepackage{fontspec}
\usepackage{libertinus}
%\usepackage[scaled=0.85]{beramono}
@@ -305,7 +305,8 @@ There are the following keywords:
\endfoot
\bottomrule
\endlastfoot
-\Lkeyword{floatPos} & \texttt{htb} & This is \emph{not} the same default placement setting like the one from the floats.\\
+\Lkeyword{floatPos} & \texttt{tbp} & This is the same default placement setting like the one from standard \LaTeX, but maybe not always
+the best setting.\\
\Lkeyword{rotAngle} & 0& The value for the angle if both, the object and the caption should be rotated in the same way.\\
\Lkeyword{capWidth} & n& The width of the caption. Can be »\texttt{n}« like a natural width,
@@ -313,17 +314,19 @@ There are the following keywords:
\Lkeyword{capAngle} & 0 & The value for the angle if the caption should be rotated. Counted anti clockwise.\\
-\Lkeyword{capPos} & before& The position of the caption relative to the object. Possible values are\\
+\Lkeyword{capPos} & bottom& The position of the caption relative to the object. Possible values are\\
& & \Lkeyval{before}: \emph{always} before (left) from the object.\\
+ & & \Lkeyval{top}: \emph{always} on top of the object.\\
& & \Lkeyval{left}: \emph{always} before (left) from the object, but on the \emph{same page} in \Index{twocolumn} mode.\\
& & \Lkeyval{after}: \emph{always} after (right) from the object.\\
+ & & \Lkeyval{bottom}: \emph{always} on the bottom of the object.\\
& & \Lkeyval{right}: \emph{always} after (right) from the object, but on the \emph{same page} in \Index{twocolumn} mode.\\
& & \Lkeyval{inner}: in \Index{twoside} mode always typeset at the inner margin.\\
& & \Lkeyval{outer}: in \Index{twoside} mode always typeset at the outer margin.\\
& & \Lkeyval{evenPage}: in \Index{twoside} mode with \Index{fullpage} objects always on an even page.\\
& & \Lkeyval{oddPage}: in \Index{twoside} mode with \Index{fullpage} objects always on an odd page.\\
-\Lkeyword{capVPos}& c& This is only important for \texttt{capPos=left|right}. Only in this case the
+\Lkeyword{capVPos}& center& This is only important for \texttt{capPos=left|right}. Only in this case the
caption can vertically placed at the \Lkeyval{bottom}, \Lkeyval{center} and \Lkeyval{top}.\\
\Lkeyword{objectPos} & center & The horizontalplacement of the object relative to the document. Possible values are (\textbf{l})eft|(\textbf{c})enter|(\textbf{r})ight.\\
@@ -335,6 +338,8 @@ There are the following keywords:
\Lkeyword{useOBox} & false & Instead of passing the object as parameter to the \Lcs{hvFloat}, the contents maybe saved in the box \texttt{\textbackslash hvOBox} With \texttt{useOBox=true} the contents of this box will be used.\\
+\Lkeyword{onlyText} & false & The caption will be printed as normal text and there is no entry in the list of \ldots.\\
+
\Lkeyword{nonFloat} & false & The object isn't put in a floating environment. It is printed as standard text with an additional caption. The float counters are increased as usual and can be referenced.\\
\Lkeyword{wide} & false & The float can use \Ldim{textwidth}+\Ldim{marginparwidth} as horizontal width.\\
@@ -2479,7 +2484,7 @@ even page and following text will be placed \emph{before} the object.
\begin{lstlisting}
\Blindtext
-\hvFloat[doubleFULLPAGE,capPos=r,capAngle=90]%
+\hvFloat[doubleFULLPAGE,capPos=right,capAngle=90]%
{figure}%
{\includegraphics[angle=90,width=2\paperwidth]{images/r+j}}%
[Eine doppelseitige Abbildung mit Caption auf der Abbildung]%
@@ -2495,7 +2500,7 @@ even page and following text will be placed \emph{before} the object.
\Blindtext
\marginnote{Fig.~\ref{fig:doubleFULLPAGE0}}
- \hvFloat[doubleFULLPAGE,capPos=r,capAngle=90]%
+ \hvFloat[doubleFULLPAGE,capPos=right,capAngle=90]%
{figure}%
{\includegraphics[height=2\paperwidth,angle=90]{images/r+j}}%
[Eine doppelseitige Abbildung mit Caption auf der Abbildung]%
@@ -2514,7 +2519,7 @@ even page and following text will be placed \emph{before} the object.
\begin{lstlisting}
\Blindtext
- \hvFloat[doubleFULLPAGE,capPos=r]%
+ \hvFloat[doubleFULLPAGE,capPos=right]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
{Eine Beschriftung einer doppelseitigen Abbildung, die ÜBER den rechten
@@ -2529,7 +2534,7 @@ even page and following text will be placed \emph{before} the object.
\marginnote{Fig.~\ref{fig:doubleFULLPAGE1}}
- \hvFloat[doubleFULLPAGE,capPos=r]%
+ \hvFloat[doubleFULLPAGE,capPos=right]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
{Eine Beschriftung einer doppelseitigen Abbildung, die ÜBER den rechten
@@ -2589,7 +2594,7 @@ and the rest of the text area is filled with text.
\begin{lstlisting}
\Blindtext
-\hvFloat[doublePage,capWidth=n,capPos=r]%
+\hvFloat[doublePage,capWidth=n,capPos=right]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
[Eine doppelseitige Abbildung mit rechtsseitiger Caption unterhalb]%
@@ -2606,7 +2611,7 @@ and the rest of the text area is filled with text.
\Blindtext
\marginnote{Fig. \ref{fig:doublePage0}}
-\hvFloat[doublePage,capWidth=n,capPos=r]%
+\hvFloat[doublePage,capWidth=n,capPos=right]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
[Eine doppelseitige Abbildung mit rechtsseitiger Caption unterhalb]%
@@ -2659,7 +2664,7 @@ Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15
\bottomrule
\end{tabular}}
-\hvFloat[doublePage,capWidth=n,capPos=r]%
+\hvFloat[doublePage,capWidth=n,capPos=right]%
{table}%
{\usebox\hvOBox}%%%%%%%%%%%%%%
[Eine doppelseitige Tabelle mit rechtsseitiger Caption unterhalb]%
@@ -2703,7 +2708,7 @@ Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15
\bottomrule
\end{tabular}}
-\hvFloat[doublePage,capWidth=n,capPos=r]%
+\hvFloat[doublePage,capWidth=n,capPos=right]%
{table}%
{\usebox\hvOBox}%%%%%%%%%%%%%%
[Eine doppelseitige Tabelle mit rechtsseitiger Caption unterhalb]%
@@ -2741,7 +2746,7 @@ the object is set. Let's assume that we use something like
The label \texttt{demo:fullpage} is used for the \emph{image} and not for the caption! Internally another label
called \texttt{demo:fullpage-cap} is set on the caption page which can be before or
-behind the opject (depending to the optional argument of \Lkeyword{capPos}).
+behind the object (depending to the optional argument of \Lkeyword{capPos}).
For example:
\begin{verbatim}
diff --git a/macros/latex/contrib/hvfloat/doc/images/missing.txt b/macros/latex/contrib/hvfloat/doc/images/missing.txt
new file mode 100644
index 0000000000..5a0917558c
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/images/missing.txt
@@ -0,0 +1,3 @@
+Not all imaging of the documentation are listed here, because
+some are not for public use. You can use any other imgae if you
+want to run the documentation by yourselve.
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index 1fef91099f..dd27d7af47 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 56 2021-03-15 07:20:37Z herbert $
+%% $Id: hvfloat.sty 73 2021-05-03 07:38:13Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -15,8 +15,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.20}
-\def\filedate{2021/04/29}
+\def\fileversion{2.21}
+\def\filedate{2021/05/04}
\message{`hvfloat' v\fileversion, \filedate\space (Herbert Voss)}
\ProvidesPackage{hvfloat}[\filedate\ rotating of floating objects]
\let\hvFloatFileVersion\fileversion
@@ -87,7 +87,7 @@
%
\def\hv@figure{figure}
%
-\define@key{hvSet}{floatPos}[htbp]{% LaTeX's position parameters htbp
+\define@key{hvSet}{floatPos}[tbp]{% LaTeX's position parameters htbp
\def\hvSet@floatPos{#1}%
}
\define@key{hvSet}{rotAngle}[0]{% rotates caption AND image together
@@ -99,25 +99,45 @@
\define@key{hvSet}{capAngle}[0]{% -360..+360
\def\hvSet@capAngle{#1}%
}
-\define@key{hvSet}{capPos}[bottom]{% (l)eft|(b)ottom|(t)op|(r)ight|(i)nner|(o)uter|(e)ven|o(d)d
+
+
+\define@choicekey*+{hvSet}{capPos}[\val\nr]{bottom,top,left,before,right,after,inner,outer,even,odd}[bottom]{%
\def\hvSet@capPos{#1}% it is relativ to the object, (e),(d) only valid for fullpage float
- \edef\@tempa{#1}%
- \ifx\hv@Bottom\@tempa
+ \ifcase\nr\relax
+ \hv@capbesidefalse
+ \or
\hv@capbesidefalse
\else
- \ifx\hv@Top\@tempa
- \hv@capbesidefalse
- \else
- \hv@capbesidetrue
- \fi
+ \hv@capbesidetrue
\fi
-}
-\define@key{hvSet}{capVPos}[center]{% bottom|center|top
- \def\hvSet@capVPos{#1}% it is relativ to the object
-}
-\define@key{hvSet}{objectPos}[center]{% (l)eft|(c)enter|(r)ight|(i)nner|(o)uter
- \def\hvSet@objectPos{#1}% it is relativ to the document
-}
+}{\PackageWarning{hvfloat}{erroneous input (#1) for capPos ignored. Using bottom.}%
+ \def\hvSet@capPos{bottom}% it is relativ to the object, (e),(d) only valid for fullpage float
+ \hv@capbesidefalse
+ }
+
+\define@choicekey*+{hvSet}{capVPos}[\val\nr]{bottom,center,top}[center]{%
+ \def\hvSet@capVPos{#1}% it is relativ to the object
+}{\PackageWarning{hvfloat}{erroneous input (#1) for capVPos ignored. Using bottom.}%
+ \def\hvSet@capVPos{center}% it is relativ to the object
+ }
+
+\define@choicekey*+{hvSet}{objectPos}[\val\nr]{left,center,right,inner,outer}[center]{%
+ \def\hvSet@objectPos{#1}% it is relativ to the object
+}{\PackageWarning{hvfloat}{erroneous input (#1) for objectPos ignored. Using center.}%
+ \def\hvSet@capVPos{center}% it is relativ to the object
+ }
+
+\newif\ifhv@floatRefToObject
+\define@choicekey*+{hvSet}{floatRef}[\val\nr]{caption,object}[object]{% where the LOF entry should point to
+ \ifcase\nr\relax
+ \hv@floatRefToObjectfalse
+ \else
+ \hv@floatRefToObjecttrue
+ \fi
+}{\PackageWarning{hvfloat}{erroneous input (#1) for floatRef ignored. Using option object.}%
+ \hv@floatRefToObjecttrue
+ }
+
\define@key{hvSet}{objectAngle}[0]{% -360..+360
\def\hvSet@objectAngle{#1}%
}
@@ -177,7 +197,8 @@
doubleFULLPAGE=false, doublePage=false, doublePAGE=false,
multiFloat=false,subFloat=false,
separatorLine,objectFrame=false,multiFloatSkip=\normalbaselineskip,
- capFormat={}, subcapFormat={},
+ capFormat={}, subcapFormat={},
+ floatRef=object,
}%
}
@@ -201,10 +222,10 @@
}
\setlength\belowcaptionskip{\abovecaptionskip}% it is in latex.ltx = 0pt
\newcommand\saveCaptionSkip{%
- \setlength{\hvAboveCaptionSkip}{\abovecaptionskip}
- \setlength{\hvBelowCaptionSkip}{\belowcaptionskip}
- \setlength{\abovecaptionskip}{0pt}
- \setlength{\belowcaptionskip}{0pt}
+ \setlength{\hvAboveCaptionSkip}{\abovecaptionskip}%
+ \setlength{\hvBelowCaptionSkip}{\belowcaptionskip}%
+ \setlength{\abovecaptionskip}{0pt}%
+ \setlength{\belowcaptionskip}{0pt}%
}
\newcommand{\restoreCaptionSkip}{%
\setlength\abovecaptionskip{\hvAboveCaptionSkip}%
@@ -311,7 +332,8 @@
\def\hvFloat@i*{\@ifnextchar[{\do@hvFloat}{\do@hvFloat[]}}
\def\do@hvFloat[#1]{%
\begingroup
- \setlength\hvWideWidth{\dimexpr\linewidth+\marginparwidth}%
+ \setlength\hvWideWidth{\dimexpr\textwidth+\marginparwidth+\marginparsep}%
+% \setlength\hvWideWidth{\dimexpr\linewidth+\marginparwidth}%
\hv@maxImageWidth=\textwidth
\reset@special@float
\setcounter{hv@pfigure}{\value{figure}}%
@@ -319,7 +341,8 @@
\gdef\hv@save@setting{#1}%
\ifx\relax#1\relax\else\setkeys{hvSet}{#1}\fi
\gdef\hv@floatType{figure}%
- \@ifnextchar+{\do@multiFloat}{\hvFloat@ii[#1]}}
+ \@ifnextchar+{\do@multiFloat}{\hvFloat@ii[#1]}%
+}
\ExplSyntaxOn
@@ -381,15 +404,28 @@
\newcount\hv@cnta
\newcount\hv@cntb
+\def\hvFloat@ii[#1]#2{% #1: key/value, #2: floattype
+ \@ifnextchar[{\hvFloat@iii[#1]{#2}}{\hvFloat@iii[#1]{#2}[]}%
+}
-\def\hvFloat@ii[#1]#2#3{%
+\def\hvFloat@iii[#1]#2[#3]#4{% #1: key/value, #2: floattype, #3: ListOfExt, #4: object
\hv@maxImageWidth=\textwidth
\ifx\relax#1\relax\else\setkeys{hvSet}{#1}\fi
\gdef\hv@floatType{#2}%
+ \ifx\relax#3\relax
+ \ifx\hv@floatType\hv@figure
+ \gdef\hv@floatListOfExt{lof}%
+ \else
+ \gdef\hv@floatListOfExt{lot}%
+ \fi
+ \else
+ \gdef\hv@floatListOfExt{#3}%
+ \fi
\ifx\relax#2\relax \setkeys{hvSet}{nonFloat=true}\fi
- \gdef\hv@floatObject{#3}%
+ \gdef\hv@floatObject{#4}%
\@ifnextchar[{\do@@hvFloat}{\do@@hvFloat[]}%
}
+
\def\do@@hvFloat[#1]#2#3{%
\gdef\hv@shortCap{#1}%
\gdef\hv@longCap{#2}%
@@ -404,7 +440,7 @@
\do@@@@hvFloat% fullpage with caption on other page
\else
\ifhv@doubleFULLPAGE
- \setlength\hvCapWidth{\textheight}
+ \setlength\hvCapWidth{\textheight}%
\expandafter\do@hvFloat@doubleFULLPAGE\@@temp% fullpage with caption rotated or under on an odd page
\else
\ifhv@doublePAGE
@@ -432,7 +468,7 @@
%
% First we save the object in \hvObjectBox
%
- \ifx\hvSet@objectAngle\hv@Zero % rotate the object?
+ \ifx\hvSet@objectAngle\hv@Zero% rotate the object?
\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\else
\savebox{\hvObjectBox}{%
@@ -485,15 +521,16 @@
\fi
\fi
\fi
- \fi
- \fi
- \saveCaptionSkip % we put this space ourselve
- \ifx\hvSet@capAngle\hv@Zero % need rotation?
+ \fi
+ \fi
+ \saveCaptionSkip% we put this space ourselve
+ \ifx\hvSet@capAngle\hv@Zero% need rotation?
\savebox\hvCaptionBox{% NO rotation
\begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation
\ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifhv@nonFloat
- \ifhv@onlyText\hv@longCap
+ \ifhv@onlyText
+ \hv@longCap
\else
\ifx\hv@floatType\hv@figure
\ifx\relax\hv@shortCap\relax
@@ -510,11 +547,25 @@
\fi
\fi
\else
- \let\@captype\hv@floatType
- \expandafter\ifx\expandafter\relax\hv@shortCap\relax
- \caption{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
- \else
- \caption[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \let\@captype\hv@floatType
+ \ifhv@floatRefToObject
+ \expandafter\ifx\expandafter\relax\hv@shortCap\relax
+ \caption[]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \addcontentsline{\hv@floatListOfExt}{\hv@floatType}{\protect\numberline{\csname the\hv@floatType\endcsname}{\ignorespaces\hv@longCap}}%
+ \else
+ \caption[]{\hv@shortCap\expandafter\label\expandafter{\hv@label}}%
+ \addcontentsline{\hv@floatListOfExt}{\hv@floatType}{\protect\numberline{\csname the\hv@floatType\endcsname}{\ignorespaces\hv@shortCap}}%
+ \fi
+ \else
+ \expandafter\ifx\expandafter\relax\hv@shortCap\relax
+ \caption{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \else
+ \caption[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \fi
+ \fi
\fi
\fi
% \expandafter\label\expandafter{\hv@label}% 2.17 put label into the caption argument
@@ -526,19 +577,37 @@
\begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation
\ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifhv@nonFloat
- \ifhv@onlyText\hv@longCap
- \else
- \ifx\hv@floatType\hv@figure
- \ifx\relax\hv@shortCap\relax \figcaption{\hv@longCap}\else\figcaption[\hv@shortCap]{\hv@longCap}\fi
- \else
- \ifx\relax\hv@shortCap\relax \tabcaption{\hv@longCap}\else\tabcaption[\hv@shortCap]{\hv@longCap}\fi
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@floatType\hv@figure
+ \ifx\relax\hv@shortCap\relax \figcaption{\hv@longCap}\else\figcaption[\hv@shortCap]{\hv@longCap}\fi
+ \else
+ \ifx\relax\hv@shortCap\relax \tabcaption{\hv@longCap}\else\tabcaption[\hv@shortCap]{\hv@longCap}\fi
+ \fi
\fi
- \fi
- \else
- \let\@captype\hv@floatType
- \expandafter\ifx\expandafter\relax\hv@shortCap\relax \caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}\fi
- \fi
- \label{\hv@label}%
+ \else
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \let\@captype\hv@floatType
+ \ifhv@floatRefToObject
+ \expandafter\ifx\expandafter\relax\hv@shortCap\relax
+ \caption[]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \addcontentsline{\hv@floatListOfExt}{\hv@floatType}{\protect\numberline{\csname the\hv@floatType\endcsname}{\ignorespaces\hv@longCap}}%
+ \else
+ \caption[]{\hv@shortCap\expandafter\label\expandafter{\hv@label}}%
+ \addcontentsline{\hv@floatListOfExt}{\hv@floatType}{\protect\numberline{\csname the\hv@floatType\endcsname}{\ignorespaces\hv@shortCap}}%
+ \fi
+ \else
+ \expandafter\ifx\expandafter\relax\hv@shortCap\relax
+ \caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+% \expandafter\ifx\expandafter\relax\hv@shortCap\relax \caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}\fi
+ \fi
+ \fi
+ \label{\hv@label}%
\end{minipage}%
}% rotatebox
}% \sbox
@@ -555,7 +624,7 @@
\ifhv@star
\@nameuse{\hv@floatType*}% Start the floating environment *****************************
\else
- \begin{\hv@floatType} % Start the floating environment
+ \begin{\hv@floatType}% Start the floating environment
\fi
\fi
\checkoddpage
@@ -596,10 +665,10 @@
\ifoddpageoroneside\hv@@capPos=2\else\hv@@capPos=0\fi
\else
\ifx\hvSet@capPos\hv@Before
- \hv@@capPos=0 % same as cappos=right
+ \hv@@capPos=0% same as cappos=right
\else
\ifx\hvSet@capPos\hv@After
- \hv@@capPos=2 % same as capPos=right
+ \hv@@capPos=2% same as capPos=right
\fi
\fi
\fi
@@ -641,7 +710,7 @@
\usebox{\hvObjectBox}%
\fi
\end{minipage}%
- \or %2 is right
+ \or%2 is right
\ifx\hvSet@capVPos\hv@Center
\put@ObjectBox
\hspace{\hvSet@floatCapSep}%
@@ -657,7 +726,7 @@
\put@CaptionBox[2]%
\fi
\fi
- \or %3 bottom
+ \or%3 bottom
\ifdim\wd\hvCaptionBox>\wd\hvObjectBox
\begin{minipage}{\wd\hvCaptionBox}%
\else
@@ -678,7 +747,7 @@
% now we rotate the object and caption, if needed
%
\ifhv@wide
- \ifoddpageoroneside\else\ifoddpage\else\hspace*{-\marginparwidth}\fi\fi% <- for wide and left page
+ \ifoddpageoroneside\else\ifoddpage\else\hspace*{\dimexpr-\marginparwidth-\marginparsep}\fi\fi% <- for wide and left page
\fi
\ifx\hvSet@rotAngle\hv@Zero
\usebox{\@tempboxa}%
@@ -726,9 +795,9 @@
\else
\ifx\hvSet@capPos\hv@Outer \hv@@capPos=5
\else
- \ifx\hvSet@capPos\hv@Right \hv@@capPos=6 % only for twocolumn mode
+ \ifx\hvSet@capPos\hv@Right \hv@@capPos=6% only for twocolumn mode
\else
- \ifx\hvSet@capPos\hv@Left \hv@@capPos=7 % only for twocolumn mode
+ \ifx\hvSet@capPos\hv@Left \hv@@capPos=7% only for twocolumn mode
\else
\hv@@capPos=0
\fi
@@ -771,20 +840,20 @@
\setPageObject\setBottomCaption
\fi
\fi
- \else % onecolumn
+ \else% onecolumn
\ifoddpage
\setPageObject\setBottomCaption
\else% even page
\afterpage{\setPageObject\setBottomCaption}%
\fi
\fi
- \else % oneside
+ \else% oneside
\if@twocolumn
\ifoddpage
\if@firstcolumn% on right side
\setBottomCaption\setPageObject
\else
- \setPageObject\setBottomCaption
+ \setPageObject\setBottomCaption
\fi
\else
\if@firstcolumn% on left side
@@ -817,7 +886,7 @@
\setBottomCaption\setPageObject% start on same page/column
\fi
\fi
- \else % onecolumn
+ \else% onecolumn
\setBottomCaption\setPageObject
\fi
\or% caption on the outer column 5->outer
@@ -833,7 +902,7 @@
\if@firstcolumn
\setBottomCaption\setPageObject
\else
-
+%%% !!!! to-do: !!!!
\fi
\fi
\else% onecolumn
@@ -854,7 +923,7 @@
\if@firstcolumn
\setBottomCaption\setPageObject
\else
- \afterpage{\setBottomCaption\setPageObject}
+ \afterpage{\setBottomCaption\setPageObject}%
\fi
\else% onecolumn -> same as before
\setBottomCaption\setPageObject
@@ -1053,7 +1122,7 @@
}
\def\setBottomCaption{%
- \begin{\hv@floatType}[!b]
+ \begin{\hv@floatType}[!b]%
\ifhv@separatorLine\drawSepLine\fi
\par
\usebox\hvCaptionBox
diff --git a/macros/latex/contrib/mparhack/README b/macros/latex/contrib/mparhack/README
deleted file mode 100644
index c551d65f4d..0000000000
--- a/macros/latex/contrib/mparhack/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This package implements a workaround for the LATEX bug that marginpars
-sometimes appear on the wrong margin.
-
-Maintainer: Stefan Ulrich (stefanulrich AT users.sourceforge.net)
diff --git a/macros/latex/contrib/mparhack/README.md b/macros/latex/contrib/mparhack/README.md
new file mode 100644
index 0000000000..9037e46041
--- /dev/null
+++ b/macros/latex/contrib/mparhack/README.md
@@ -0,0 +1,15 @@
+# mparhack package for LaTeX
+
+Version: 2021-05-02 v1.5
+
+This package implements a workaround for the LATEX bug that marginpars
+sometimes appear on the wrong margin.
+
+
+
+## Copyright (C)
+* 1999- 2005 Tom Sgouros, Stefan Ulrich
+* 2021 Tom Sgouros, Stefan Ulrich, Ulrike Fischer
+
+## License
+GNU General Public License 2 or later
diff --git a/macros/latex/contrib/mparhack/mparhack.dtx b/macros/latex/contrib/mparhack/mparhack.dtx
index 11ea9965b9..f0f51ec476 100644
--- a/macros/latex/contrib/mparhack/mparhack.dtx
+++ b/macros/latex/contrib/mparhack/mparhack.dtx
@@ -4,12 +4,12 @@
% modify it under the terms of the GNU General Public License
% as published by the Free Software Foundation; either version 2
% of the License, or (at your option) any later version.
-%
+%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
-%
+%
% You should have received a copy of the GNU General Public License
% along with this program; if not, write to the Free Software
% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -36,7 +36,7 @@
% \DoNotIndex{\newcount,\newif,\newlinechar,\newread,\newtoks,\newwrite}
% \DoNotIndex{\dp,\wd,\ht,\vss,\unskip}
%
-% \CheckSum{418}
+% \CheckSum{417}
%
% \MakeShortVerb\|
%
@@ -44,12 +44,7 @@
% \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
-\RequirePackage{url}%
-\IfFileExists{hyperref.sty}{\RequirePackage{hyperref}}{%
-%%% alternative definitions if hyperref is not available
- \newcommand\href[2]{#2}%
- \newcommand\url{\texttt}%
-}
+\RequirePackage{hyperref}
\EnableCrossrefs
%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
\CodelineIndex
@@ -73,8 +68,8 @@
%
% ===================================================================
% @LaTeX-package-file{
-% version = "1.4",
-% date = "2005/04/17",
+% version = "1.5",
+% date = "2021-05-02",
% filename = "mparhack.sty",
% author-1 = "Tom Sgouros",
% email-1 = "tomfool@top.gso.uri.edu",
@@ -107,9 +102,14 @@
% \title{\PackageName}
% \author{Tom Sgouros\\ {\small\texttt{tomfool@top.gso.uri.edu}} \and
% Stefan Ulrich\\ {\small\href{mailto:stefanulrich@users.sourceforge.net}{\texttt{stefanulrich@users.sourceforge.net}}}}
-% \date{v1.4 2005/04/17\\[1ex] {\footnotesize CTAN:
-% \href{http://www.ucc.ie/cgi-bin/ctan?server=ftp.dante.de%2Ftex-archive&term=mparhack}
-% {\texttt{macros/latex/contrib/supported/mparhack/}}}}
+% \date{v1.5 2021-05-02\\[1ex] {\footnotesize CTAN:
+% \href{https://ctan.org/pkg/mparhack}
+% {\texttt{https://ctan.org/pkg/mparhack}}}
+% \\[1ex]
+% {\footnotesize Github:
+% \href{https://github.com/u-fischer/mparhack}
+% {\texttt{https://github.com/u-fischer/mparhack}}}
+% }
% \maketitle
%
% \begin{abstract}
@@ -117,15 +117,15 @@
% that marginpars sometimes show up on the wrong margin.
% \end{abstract}
%
-% \changes{1.0}{1999/03/02}{Created}
-% \changes{1.1}{1999/09/23}{Rewrite to use only one label per page, and to implement
+% \changes{v1.0}{1999/03/02}{Created}
+% \changes{v1.1}{1999/09/23}{Rewrite to use only one label per page, and to implement
% `twocolumn' document option.}
% \changes{v1.2}{2000/02/29}{Small documentation changes}
-% \changes{1.2a}{2000/03/14}{Fixed the \Com{NeedsTeXFormat} to use 1997/04/14}
-% \changes{1.2c}{2001/02/07}{Small documentation changes}
-% \changes{1.3}{2001/02/07}{Use \Com{mph@tempa} instead of \Com{@tempa} to avoid
+% \changes{v1.2a}{2000/03/14}{Fixed the \Com{NeedsTeXFormat} to use 1997/04/14}
+% \changes{v1.2c}{2001/02/07}{Small documentation changes}
+% \changes{v1.3}{2001/02/07}{Use \Com{mph@tempa} instead of \Com{@tempa} to avoid
% possible clashes with other classes (e.g. scrpage2)}
-% \changes{1.4}{2005/04/17}{Fix a bug with eso-pic.sty (latex/3775)}
+% \changes{v1.4}{2005/04/17}{Fix a bug with eso-pic.sty (latex/3775)}
%
%
% {\parskip 0pt \tableofcontents }
@@ -137,10 +137,10 @@
% A persistent problem with the |\marginpar| command is that the
% marginalia produced often show up on the wrong margin. This has
% been noted in the \LaTeX\ bugs database.^^A
-% \footnote{See \url{http://www.latex-project.org/cgi-bin/ltxbugs2html}:
-% \href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2361}{latex/2361},
-% \href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2484}{latex/2484},
-% \href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2617}{latex/2617}.}
+% \footnote{See \url{https://www.latex-project.org/cgi-bin/ltxbugs2html}:
+% \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2361}{latex/2361},
+% \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2484}{latex/2484},
+% \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/2617}{latex/2617}.}
%
%
% The problem occurs most likely when a marginpar appears near
@@ -198,7 +198,7 @@
% \texttt{debug} option; this will output a lot of tracing
% information and will add numbers to the marginpars in the |.dvi|
% file for reference.
-%
+%
%
% ^^A --------------------------------------------------
% \section{Bugs\slash Restrictions}
@@ -243,7 +243,7 @@
% package option enabled). Suggestions/improvements are also welcome,
% of course.
% \end{itemize}
-%
+%
% ^^A --------------------------------------------------
% \section{Acknowledgements}
% ^^A --------------------------------------------------
@@ -254,19 +254,7 @@
% label per page (instead of one label each marginpar, as in a
% previous version).
%
-% ^^A --------------------------------------------------
-% ^^A Place to stop if implementation shouldn't be printed
-% ^^A --------------------------------------------------
-%
-% \typein[\answer]%
-% {^^JPrint an annotated listing of the macro definitions (y/n)? [n]}
-% \def\next{y}^^A
-% \ifx\answer\next
-% \AfterElseFi\AlsoImplementation
-% \else
-% \typeout{(not printing macro definitions.)}^^A
-% \expandafter\endinput
-% \fi
+% \AlsoImplementation
% \StopEventually{\relax}
% ^^A --------------------------------------------------
% \section{Implementation}
@@ -326,7 +314,7 @@
% check for even-\slash oddness.
%
% ^^A --------------------------------------------------
-% \subsection{Code}
+% \subsection{Code}
% ^^A --------------------------------------------------
%
% We need at least \LaTeX\ version 1997/04/14 which introduced
@@ -335,10 +323,10 @@
%<*sty>
\NeedsTeXFormat{LaTeX2e}[1997/04/14]
\ProvidesPackage{mparhack}
- [2005/04/17 v1.4 (T. Sgouros and S. Ulrich)]
+ [2021-05-02 v1.5 (T. Sgouros and S. Ulrich)]
% \end{macrocode}
% ^^A --------------------------------------------------
-% \subsubsection{Booleans, Options, etc.}
+% \subsubsection{Booleans, Options, etc.}
% ^^A --------------------------------------------------
% Some boolean switches which we will be using:
% |\if@mph@firstcol@| indicates that the current column is the
@@ -391,8 +379,8 @@
\ProcessOptions*
% \end{macrocode}
% ^^A --------------------------------------------------
-% \subsubsection{Commands}
-% ^^A --------------------------------------------------
+% \subsubsection{Commands}
+% ^^A --------------------------------------------------
% \begin{macro}{\mph@nr}
% A command sequence containing the current marginpar number (which
% will be written to the |.aux| file).
@@ -407,7 +395,7 @@
\newcommand*\mph@lastpage{0}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\mph@cnt}
% Emulate a counter with a command name to save one count
% register. Oh well~\dots \texttt{;-)}
@@ -480,7 +468,7 @@
}%
% \end{macrocode}
% Fix for latex/3775\footnote{^^A
-% \url{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3775}^^A
+% \url{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3775}^^A
% }: eso-pic uses \Com{@picture} inside the output routine,
% which causes problems with our redefinition of \Com{hb@xt@} in \Com{@outputdblcol}.
% So, as suggested by M. H\o gholm in his reply to the above bug report, we patch
@@ -510,7 +498,7 @@
}%
}
% \end{macrocode}
-%
+%
% \begin{macro}{\mph@ifundef@or@smaller}
% A helper macro that checks if the command sequence in |#1| is
% undefined or if its value is smaller than |\mph@cnt| (it assumes
@@ -537,7 +525,7 @@
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\mph@pg@orig}
% \changes{v1.2}{2000/02/29}{%
% Added the \Com{mph@pg@orig} macro
@@ -551,7 +539,7 @@
\newcommand*\mph@pg@orig{}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\mph@get@margin}
% This macro does most of the work described in
% section~\ref{implementation}.
@@ -604,7 +592,7 @@
}%
}%
}{%
- \@tempswafalse
+ \@tempswafalse
\global\@mph@firstcol@true
\mph@debug{exiting loop}%
}%
@@ -672,10 +660,10 @@
% \end{macrocode}
% \end{macro}
-%
+%
+% ^^A --------------------------------------------------
+% \subsubsection{Patching the output routine}
% ^^A --------------------------------------------------
-% \subsubsection{Patching the output routine}
-% ^^A --------------------------------------------------
% We have to hook into 3 commands that are part of \LaTeX's output routine:
% |\@addmarginpar|, |\@outputdblcol| and |\@outputpage|. For the latter, we can use the default
% \LaTeX\ mechanism |\g@addto@macro|. For the others, this is more difficult,
@@ -700,7 +688,7 @@
% }%
% \changes{v1.2}{2000/02/29}{%
% Added \Com{CheckCommand*} for \Com{@addmarginpar}, \Com{@outputpage}
-% and \Com{@outputdblcol}
+% and \Com{@outputdblcol}
% }%
% \changes{v1.2b}{2000/09/01}{%
% Replaced \Com{CheckCommand*} and the full redefinitions of
@@ -773,7 +761,7 @@
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@outputdblcol}
% In case an entire twocolumn page is finished, this command calls
% \Com{hb@xt@} with the boxes for the two columns inside, and each
@@ -786,7 +774,12 @@
% the end we check if this number equals 0 (in which case the
% page hadn't been fininshed yet, and we didn't need to do anything)
% or 2 (the `interesting' case); else we signal an error.
-%
+% \changes{v1.5}{2021-04-02}{%
+% Changed definition of \Com{@outputdblcol} to allow
+% \Com{hb@xt@} to correctly expands in shipout hooks. See
+% \url{https://tex.stackexchange.com/q/595272/2388}
+% }%
+
% \begin{macrocode}
\newcommand\mph@orig@hb@xt@{}
\newcommand\mph@orig@outputdblcol{}
@@ -808,10 +801,10 @@
}%
}%
}%
+ \mph@orig@hb@xt@##1{##2\mph@tempa}%
\else
- \def\mph@tempa{}%
+ \mph@orig@hb@xt@##1{##2}%
\fi
- \mph@orig@hb@xt@##1{##2\mph@tempa}%
}%
\mph@orig@outputdblcol
\def\hb@xt@{\mph@orig@hb@xt@}%
@@ -822,11 +815,11 @@
\mph@error{\string\@outputdblcol}%
\fi
\fi
-}
+}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\mph@orig@picture}
% \begin{macrocode}
\newcommand\mph@orig@picture{}
@@ -837,24 +830,7 @@
%</sty>
% \end{macrocode}
% ^^A\typeout{End of package documentation.}
-% \typein[\answer]%
-% {^^JPrint an index of command names (y/n)? [n]^^J^^A
-% -- Note: this requires a previous run of:^^J^^A
-% \space\space\space makeindex -s gind.ist \PackageNameNoExt^^J}
-% \def\next{y}^^A
-% \ifx\answer\next
-% \AfterElseFi\PrintIndex
-% \else
-% \typeout{(not printing index.)}^^A
-% \fi
-% \typein[\answer]%
-% {^^JPrint a history of changes (y/n)? [n]^^J^^A
-% -- Note: this requires a previous run of:^^J^^A
-% \space\space\space makeindex -s gglo.ist -o \PackageNameNoExt.gls \PackageNameNoExt.glo^^J}
-% \def\next{y}^^A
-% \ifx\answer\next
-% \AfterElseFi\PrintChanges
-% \else
-% \typeout{(not printing history of changes.)}^^A
-% \fi
-% \Finale
+% ^^A makeindex -s gind.ist \PackageNameNoExt^^J}
+% \PrintIndex
+% \PrintChanges
+% \Finale
diff --git a/macros/latex/contrib/mparhack/mparhack.ins b/macros/latex/contrib/mparhack/mparhack.ins
index 754baa3b9d..4b2119379a 100644
--- a/macros/latex/contrib/mparhack/mparhack.ins
+++ b/macros/latex/contrib/mparhack/mparhack.ins
@@ -5,22 +5,6 @@
\def\batchfile{mparhack.ins}
\input docstrip.tex
\def\makeCommand#1{\catcode`#1=0\relax}
-\@ifundefined{endbatchfile}
- {\PackageError{mparhack.ins}
- {%
- ^^J\space\space\space
- The installation requires docstrip version 2.4d (1996/10/17)
- ^^J\space\space\space
- or later (Type `H' for more help)%
- }{%
- An older version of docstrip has been input.\MessageBreak
- Since this version won't install the current package\MessageBreak
- properly, please get a current version (files docstrip.ins\MessageBreak
- and docstrip.dtx) from CTAN.\MessageBreak
- }%
- \let\endbatchfile\endinput
- }
- {\relax}
\preamble
Workaround for the marginpar bug.
diff --git a/macros/latex/contrib/mparhack/mparhack.pdf b/macros/latex/contrib/mparhack/mparhack.pdf
index dba66c7964..6b2532c499 100644
--- a/macros/latex/contrib/mparhack/mparhack.pdf
+++ b/macros/latex/contrib/mparhack/mparhack.pdf
Binary files differ