summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-17 03:01:53 +0000
committerNorbert Preining <norbert@preining.info>2023-10-17 03:01:53 +0000
commit3e9c5c6e1c118283b7775fd707379f8c9fdd3fd5 (patch)
tree40f420b2cc25378ebd0cd509854828b1b7aa337f /macros
parentc4125da665ac93db063e3c177f4fc5d172f5866f (diff)
CTAN sync 202310170301
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/crefthe/README.md19
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.pdfbin66435 -> 66532 bytes
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.tex14
-rw-r--r--macros/latex/contrib/crefthe/crefthe.sty28
-rw-r--r--macros/latex/contrib/csvsimple/CHANGES.md23
-rw-r--r--macros/latex/contrib/csvsimple/README.md2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-doc.sty6
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-example.pdfbin72043 -> 72044 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-example.tex2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.pdfbin921414 -> 933300 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.sty102
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-l3.tex371
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.pdfbin690970 -> 690985 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.sty4
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple-legacy.tex2
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.pdfbin295749 -> 295804 bytes
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.sty4
-rw-r--r--macros/latex/contrib/csvsimple/csvsimple.tex2
-rw-r--r--macros/latex/contrib/hvfloat/Changes3
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdfbin80490 -> 80278 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdfbin87075 -> 86613 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capPos.pdfbin98331 -> 98058 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdfbin82379 -> 81968 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdfbin83580 -> 83201 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdfbin79745 -> 79342 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdfbin86278 -> 85763 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.pdfbin0 -> 8090747 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.tex1480
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdfbin1760032 -> 8101306 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex720
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdfbin2318598 -> 2353650 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex96
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdfbin617366 -> 617745 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex219
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdfbin77994 -> 77785 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdfbin86871 -> 86361 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdfbin84867 -> 84419 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdfbin85554 -> 85033 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdfbin85993 -> 85950 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdfbin84963 -> 84979 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdfbin84601 -> 84016 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdfbin84420 -> 83984 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdfbin84534 -> 84071 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdfbin85968 -> 85470 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdfbin142800 -> 142607 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdfbin146566 -> 146068 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdfbin94917 -> 94532 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdfbin146706 -> 146241 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdfbin92513 -> 92138 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdfbin89871 -> 89696 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdfbin93195 -> 92902 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdfbin146149 -> 145635 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdfbin77911 -> 77734 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdfbin87017 -> 86529 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdfbin174265 -> 173858 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdfbin85982 -> 85527 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdfbin86876 -> 86353 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdfbin84732 -> 84291 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdfbin85240 -> 84725 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdfbin79348 -> 79014 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdfbin90137 -> 89655 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdfbin81503 -> 81199 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdfbin90978 -> 90470 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdfbin88456 -> 87867 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdfbin90802 -> 90288 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdfbin87765 -> 87273 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdfbin88360 -> 87843 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdfbin87649 -> 87055 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdfbin81809 -> 81469 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdfbin1615932 -> 1615428 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdfbin80316 -> 80095 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdfbin89937 -> 89250 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdfbin81287 -> 80969 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdfbin85905 -> 85508 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdfbin144509 -> 143883 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdfbin145304 -> 144738 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdfbin144358 -> 143745 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdfbin144727 -> 144175 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdfbin144069 -> 143455 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdfbin144433 -> 143804 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdfbin145420 -> 144842 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdfbin144806 -> 144282 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdfbin120947 -> 120972 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdfbin121966 -> 121957 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin4960667 -> 6384414 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex256
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat-0.inc130
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat-1.inc474
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat-2.inc114
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty665
-rw-r--r--macros/latex/contrib/hvlogos/Changes1
-rw-r--r--macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdfbin86942 -> 87052 bytes
-rw-r--r--macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex2
-rw-r--r--macros/latex/contrib/hvlogos/latex/hvlogos.sty6
-rw-r--r--macros/latex/contrib/stex/Makefile2
-rw-r--r--macros/latex/contrib/stex/doc/packages/stex-problem.tex12
-rw-r--r--macros/latex/contrib/stex/doc/stex-doc.pdfbin4835495 -> 4940119 bytes
-rw-r--r--macros/latex/contrib/stex/doc/stex-doc.tex1
-rw-r--r--macros/latex/contrib/stex/doc/stex-docheader.tex7
-rw-r--r--macros/latex/contrib/stex/doc/stex-manual.pdfbin745718 -> 745799 bytes
-rw-r--r--macros/latex/contrib/stex/doc/stex-tutorial.pdfbin3432339 -> 3457463 bytes
-rw-r--r--macros/latex/contrib/stex/source/hwexam.dtx28
-rw-r--r--macros/latex/contrib/stex/source/notesslides.dtx4
-rw-r--r--macros/latex/contrib/stex/source/problem.dtx536
-rw-r--r--macros/latex/contrib/stex/source/stex.dtx226
-rw-r--r--macros/latex/contrib/stex/source/tikzinput.dtx2
-rw-r--r--macros/latex/contrib/stex/tex/etc/hwexam-default.header6
-rw-r--r--macros/latex/contrib/stex/tex/etc/lststex.sty21
-rw-r--r--macros/latex/contrib/stex/tex/etc/stex-highlighting.sty59
-rw-r--r--macros/latex/contrib/stex/tex/etc/stex-logo.sty6
-rw-r--r--macros/latex/contrib/stex/tex/etc/stex.cls.ltxml10
-rw-r--r--macros/latex/contrib/stex/tex/etc/stex.sty.ltxml23
-rw-r--r--macros/latex/contrib/stex/tex/etc/stexthm.sty2
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-english.ldf6
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf4
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-french.ldf4
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf5
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-russian.ldf6
-rw-r--r--macros/latex/contrib/stex/tex/ldf/stex-en.ldf5
119 files changed, 4586 insertions, 1134 deletions
diff --git a/macros/latex/contrib/crefthe/README.md b/macros/latex/contrib/crefthe/README.md
index 44a00effb6..e46658f1d6 100644
--- a/macros/latex/contrib/crefthe/README.md
+++ b/macros/latex/contrib/crefthe/README.md
@@ -25,7 +25,7 @@ which is wrong, as the correct result should be:
`\cref` would not be able to handle such cases correctly.
-## The solution
+### The solution
Thus, it would be better to have a new command `\crefthe[<prep>]{<labels>}`, and to use it like
```latex
@@ -33,7 +33,7 @@ Thus, it would be better to have a new command `\crefthe[<prep>]{<labels>}`, and
```
in order to get "*des théorèmes 1 et 2 et de la proposition 3*".
-# Usage
+## Usage
Simply load the package with:
```latex
@@ -41,11 +41,12 @@ Simply load the package with:
```
> "crefthe" uses "cleveref" internally, thus it should usually be placed at the last of your preamble.
-Before everything, you need to define the names, which can be done with `\crefthename`. Its syntax is similar to `\crefname`, but now you can specify the definite articles, for example:
+> With the package option `overwrite`, you may simply use `\cref` for `\crefthe`, and similarly for other commands.
+
+Before everything, you need to define the names, which can be done with `\crefthename`. Its syntax is similar to `\crefname`, but now you can specify the definite articles, for example (in French):
```latex
\crefthename{theorem}[le]{théorème}[les]{théorèmes}
```
-(*In French*)
Then you can use the command `\crefthe` as follows:
- `\crefthe[<prep>]{<labels>}`
@@ -53,9 +54,11 @@ Then you can use the command `\crefthe` as follows:
- `\crefthe-[<prep>]{<labels>}` and `\crefthe+[<prep>]{<labels>}`
- In case the automatic version does not meet your needs, here are two manual ones. The `-` version passes the preposition `<prep>` only to the first definite article, while the `+` version passes `<prep>` to every definite article.
-> There is also a stared version `\crefthe*` for generating the same text but without hyperlinks.
+> - There is also a stared version `\crefthe*` for generating the same text but without hyperlinks.
+> - The name-only relatives are also available: `\namecrefthe` and `\namecrefsthe`.
+> - `\cpagerefthe` and `\Cpagerefthe` are provided as well.
-## Regarding German
+### Regarding language with declensions
In German, there are four declensions: nominative (`Nominativ`), genitive (`Genitiv`), dative (`Dativ`) and accusative (`Akkusativ`). For such situation, we introduce the command `\crefthevariantname` to specify the referencing name for the correspond environment. Below is an example of usage:
```latex
@@ -87,7 +90,7 @@ These four are all equivalent and you may choose one to use according to your pr
> *For more information, please refer to the documentation.*
-# Acknowledgement
+## Acknowledgement
There are so many people I wish to express my gratitude to during the development of this package, including:
@@ -97,6 +100,6 @@ There are so many people I wish to express my gratitude to during the developmen
- Jonathan P. Spratte, without whose help the German support would probably take much longer to complete.
-# License
+## License
This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.pdf b/macros/latex/contrib/crefthe/crefthe-doc.pdf
index e943eabdfc..63fd1342e3 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.pdf
+++ b/macros/latex/contrib/crefthe/crefthe-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.tex b/macros/latex/contrib/crefthe/crefthe-doc.tex
index 36baa45df6..c433d17e82 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.tex
+++ b/macros/latex/contrib/crefthe/crefthe-doc.tex
@@ -45,6 +45,7 @@
Cref,Crefname,
namecref,namecrefs,
nameCref,nameCrefs,
+ cpageref,Cpageref,
crefformat,
crefthe,crefthename,
Crefthe,Crefthename,
@@ -52,6 +53,7 @@
setcrefname,setCrefname,
namecrefthe,namecrefsthe,
nameCrefthe,nameCrefsthe,
+ cpagerefthe,Cpagerefthe,
crefthemark,
crefthepatchname,
selectlanguage,
@@ -118,13 +120,13 @@
\begin{document}
-\def\PackageVersion{2023/07/23}
-\def\PackageSubVersion{a}
+\def\PackageVersion{2023/10/16}
+\def\PackageSubVersion{}
\title{\crefthepackage{}\\\smallskip\itshape Cross referencing with proper definite articles}
\author{Jinwen XU}
\thanks{Corresponding to: \texttt{\crefthepackage{} \PackageVersion\PackageSubVersion}}
-\date{\TheDate{\PackageVersion}[only-year-month], in Beijing}
+\date{\TheDate{\PackageVersion}[only-year-month], in Paris}
\maketitle
@@ -210,6 +212,7 @@ Then you can use the command \lstinline|\crefthe| as follows:
\begin{itemize}
\item There is also a stared version \lstinline|\crefthe*| for generating the same referencing text without creating hyperlinks.
\item The name-only relatives are also available: \lstinline|\namecrefthe| and \lstinline|\namecrefsthe|.
+ \item \lstinline|\cpagerefthe| and \lstinline|\Cpagerefthe| are provided as well.
\end{itemize}
\end{tip}
@@ -307,7 +310,7 @@ Then, when referencing, you can use the command option \commandoption{abbr.} to
\section{Regarding the upper and lower cases}
-As in \textsf{cleveref}, these commands have corresponding uppercased version: \lstinline|\Crefthename|,\linebreak \lstinline|\Crefthe|, \lstinline|\nameCrefthe| and \lstinline|\nameCrefsthe|, similar to \lstinline|\Crefname|, \lstinline|\Cref|, \lstinline|\nameCref|\linebreak and \lstinline|\nameCrefs|, reserved for using at the beginning of a sentence.
+As in \textsf{cleveref}, these commands have corresponding uppercased version: \lstinline|\Crefthename|,\linebreak \lstinline|\Crefthe|, \lstinline|\nameCrefthe|, \lstinline|\nameCrefsthe| and \lstinline|\Cpagerefthe|, similar to \lstinline|\Crefname|,\linebreak \lstinline|\Cref|, \lstinline|\nameCref|, \lstinline|\nameCrefs| and \lstinline|\Cpageref|, reserved for using at the beginning of a sentence. Their usage is essentially the same as the corresponding lowercase version.
For languages with declensions, such as German, there is also a \lstinline|\Crefthevariantname| (or equivalently, \lstinline|\setCrefname|), corresponding to the above \lstinline|\crefthevariantname|.
@@ -324,6 +327,7 @@ Of course, you would have to define the \lstinline|\Crefthename|s separately, fo
\Crefthename{proposition}[La]{proposition}[Les]{propositions}
\end{code}
+\enlargethispage*{\baselineskip}
\section{On the coordination of gender and number}
In many languages, adjectives and verbs need to be properly inflected for the gender and singular or plural of the noun. Take French as example, you may see the following expressions:
@@ -361,7 +365,7 @@ For those preset names defined with \lstinline|\crefname|\,/\,\lstinline|\Crefna
\crefthepackage{} loads \textsf{cleveref} automatically and passes related options to it. All its commands, used without optional arguments, degenerate to those in \textsf{cleveref}. For example, \lstinline|\crefthe{...}|%
will produce the same result as \lstinline|\cref{...}|, and \lstinline|\crefthename| shall behave the same as \lstinline|\crefname| if the definite articles are not specified. That said, you may safely use the command \lstinline|\crefthe| everywhere in your document without causing extra trouble.
-With the package option \packageoption{overwrite}, user commands in \textsf{cleveref} will be replaced by those offered here, thus you can simply write \lstinline|\cref| for \lstinline|\crefthe| --- and similarly with \lstinline|\Cref|, \lstinline|\crefname| and \lstinline|\Crefname|.
+With the package option \packageoption{overwrite}, user commands in \textsf{cleveref} will be replaced by those offered here, thus you can simply write \lstinline|\cref| for \lstinline|\crefthe| --- and similarly with \lstinline|\Cref|, \lstinline|\crefname| and \lstinline|\Crefname|, etc.
\clearpage
diff --git a/macros/latex/contrib/crefthe/crefthe.sty b/macros/latex/contrib/crefthe/crefthe.sty
index 4f7b382e74..bffa152b57 100644
--- a/macros/latex/contrib/crefthe/crefthe.sty
+++ b/macros/latex/contrib/crefthe/crefthe.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{crefthe}
- {2023/07/23a} {}
+ {2023/10/16} {}
{Cross referencing with proper definite articles}
\keys_define:nn { crefthe }
@@ -48,6 +48,8 @@
\NewCommandCopy \crefthe_nameCref_original:w \nameCref
\NewCommandCopy \crefthe_namecrefs_original:w \namecrefs
\NewCommandCopy \crefthe_nameCrefs_original:w \nameCrefs
+\NewCommandCopy \crefthe_cpageref_original:w \cpageref
+\NewCommandCopy \crefthe_Cpageref_original:w \Cpageref
\str_new:N \l__crefthe_tmpa_str
@@ -92,6 +94,16 @@
\bool_gset_true:N \g__crefthe_uppercase_bool
\__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_nameCrefs_original:w
}
+\NewDocumentCommand \cpagerefthe { t- t+ O{} m }
+ {
+ \bool_gset_false:N \g__crefthe_uppercase_bool
+ \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_cpageref_original:w
+ }
+\NewDocumentCommand \Cpagerefthe { t- t+ O{} m }
+ {
+ \bool_gset_true:N \g__crefthe_uppercase_bool
+ \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_Cpageref_original:w
+ }
\keys_define:nn { crefthe-command }
{
@@ -476,10 +488,16 @@
{
\bool_if:NT \l__crefthe_overwrite_bool
{
- \RenewCommandCopy \cref \crefthe
- \RenewCommandCopy \Cref \Crefthe
- \RenewCommandCopy \crefname \crefthename
- \RenewCommandCopy \Crefname \Crefthename
+ \RenewCommandCopy \cref \crefthe
+ \RenewCommandCopy \Cref \Crefthe
+ \RenewCommandCopy \namecref \namecrefthe
+ \RenewCommandCopy \nameCref \nameCrefthe
+ \RenewCommandCopy \namecrefs \namecrefsthe
+ \RenewCommandCopy \nameCrefs \nameCrefsthe
+ \RenewCommandCopy \cpageref \cpagerefthe
+ \RenewCommandCopy \Cpageref \Cpagerefthe
+ \RenewCommandCopy \crefname \crefthename
+ \RenewCommandCopy \Crefname \Crefthename
}
}
diff --git a/macros/latex/contrib/csvsimple/CHANGES.md b/macros/latex/contrib/csvsimple/CHANGES.md
index 769baa5b68..18e055de83 100644
--- a/macros/latex/contrib/csvsimple/CHANGES.md
+++ b/macros/latex/contrib/csvsimple/CHANGES.md
@@ -16,6 +16,29 @@ and this project adheres to
### Security
+## [2.5.0] - 2023-10-16
+
+### Added
+- New survey tables (issue #29):
+ - `\csvautotabularray`
+ - `\csvautotabularray*`
+ - `\csvautolongtabularray`
+ - `\csvautolongtabularray*`
+- New corresponding options (issue #29)
+ - `autotabularray`
+ - `autotabularray*`
+ - `autolongtabularray`
+ - `autolongtabularray*`
+
+### Changed
+- Documentation typos fixed (issue #30)
+- Survey tables moved into a separate section
+
+### Fixed
+- `collect data` does not collect `after first line` (issue #28)
+
+
+
## [2.4.0] - 2023-05-09
### Added
diff --git a/macros/latex/contrib/csvsimple/README.md b/macros/latex/contrib/csvsimple/README.md
index f0c928fe02..d72e0a6cc7 100644
--- a/macros/latex/contrib/csvsimple/README.md
+++ b/macros/latex/contrib/csvsimple/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+# The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
> Copyright (c) 2008-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/csvsimple/csvsimple-doc.sty b/macros/latex/contrib/csvsimple/csvsimple-doc.sty
index b30ec16b39..36f052ac9b 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-doc.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-doc.sty
@@ -1,5 +1,5 @@
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple-doc.sty: style file for the documentation
%%
%% -------------------------------------------------------------------------------------------
@@ -18,8 +18,8 @@
%%
%% This work consists of all files listed in README.md
%%
-\def\version{2.4.0}%
-\def\datum{2023/05/09}%
+\def\version{2.5.0}%
+\def\datum{2023/10/16}%
\IfFileExists{csvsimple-doc.cfg}{\input{csvsimple-doc.cfg}}{}\providecommand\csvpkgprefix{}
diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.pdf b/macros/latex/contrib/csvsimple/csvsimple-example.pdf
index 13485dc4d8..8915e27291 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-example.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-example.tex b/macros/latex/contrib/csvsimple/csvsimple-example.tex
index 3d0fdd0448..5d872f5fb2 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-example.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple-example.tex: an example for csvsimple
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
index 460c0de9fb..9bf62e2f40 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.sty b/macros/latex/contrib/csvsimple/csvsimple-l3.sty
index 87e48bda79..cb6a676054 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple-l3.sty: Simple LaTeX CSV file processing (LaTeX3)
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README.md
%%
-\ProvidesExplPackage{csvsimple-l3}{2023/05/09}{2.4.0}
+\ProvidesExplPackage{csvsimple-l3}{2023/10/16}{2.5.0}
{LaTeX3 CSV file processing}
@@ -967,6 +967,7 @@
\cs_new_protected_nopar:Npn \__csvsim_collect_data:
{
\__csvsim_gset_tl_to_collect:N \g__csvsim_hook_after_head_tl
+ \__csvsim_gset_tl_to_collect:N \g__csvsim_hook_after_first_line_tl
\__csvsim_gset_tl_to_collect:N \g__csvsim_hook_after_line_tl
\__csvsim_gset_tl_to_collect:N \g__csvsim_hook_before_first_line_tl
\__csvsim_gset_tl_to_collect:N \g__csvsim_hook_before_line_tl
@@ -1325,6 +1326,56 @@
table~head = \toprule\endhead
\bottomrule\endfoot,
},
+ _autotabularray_ .meta:n =
+ {
+ file = {#1},
+ command = \csvlinetotablerow,
+ no~head,
+ generic~collected~table = tblr,
+ },
+ autotabularray .meta:n =
+ {
+ _autotabularray_ = {#1},
+ generic~table~options =
+ { {
+ row{1} = {font=\bfseries},
+ hline{1,Z} = {0.8pt},
+ hline{2} = {0.4pt},
+ } }
+ },
+ autotabularray* .meta:n =
+ {
+ _autotabularray_ = {#1},
+ generic~table~options =
+ { {
+ hline{1,Z} = {0.8pt},
+ } }
+ },
+ _autolongtabularray_ .meta:n =
+ {
+ file = {#1},
+ command = \csvlinetotablerow,
+ no~head,
+ generic~collected~table = longtblr,
+ },
+ autolongtabularray .meta:n =
+ {
+ _autolongtabularray_ = {#1},
+ generic~table~options =
+ { {
+ row{1} = {font=\bfseries},
+ hline{1,Z} = {0.8pt},
+ hline{2} = {0.4pt},
+ } }
+ },
+ autolongtabularray* .meta:n =
+ {
+ _autolongtabularray_ = {#1},
+ generic~table~options =
+ { {
+ hline{1,Z} = {0.8pt},
+ } }
+ },
}
@@ -1380,6 +1431,53 @@
}
+\NewDocumentCommand \csvautotabularray { s +O{} m +o +o }
+ {
+ \keys_set:nn { csvsim } { default, every~csv }
+ \IfBooleanTF {#1}
+ {
+ \keys_set:nn { csvsim } { autotabularray*={#3}, #2}
+ }
+ {
+ \keys_set:nn { csvsim } { autotabularray={#3}, #2}
+ }
+ \IfNoValueF {#4}
+ {
+ \IfNoValueTF {#5}
+ {
+ \keys_set:nn { csvsim } { generic~table~options = { { #4 } } }
+ }
+ {
+ \keys_set:nn { csvsim } { generic~table~options = { [ #4 ]{ #5 } } }
+ }
+ }
+ \__csvsim_loop:
+ }
+
+
+\NewDocumentCommand \csvautolongtabularray { s +O{} m +o +o }
+ {
+ \keys_set:nn { csvsim } { default, every~csv }
+ \IfBooleanTF {#1}
+ {
+ \keys_set:nn { csvsim } { autolongtabularray*={#3}, #2}
+ }
+ {
+ \keys_set:nn { csvsim } { autolongtabularray={#3}, #2}
+ }
+ \IfNoValueF {#4}
+ {
+ \IfNoValueTF {#5}
+ {
+ \keys_set:nn { csvsim } { generic~table~options = { { #4 } } }
+ }
+ {
+ \keys_set:nn { csvsim } { generic~table~options = { [ #4 ]{ #5 } } }
+ }
+ }
+ \__csvsim_loop:
+ }
+
%---- sorting
diff --git a/macros/latex/contrib/csvsimple/csvsimple-l3.tex b/macros/latex/contrib/csvsimple/csvsimple-l3.tex
index 32595572b5..3377217755 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-l3.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-l3.tex
@@ -1,6 +1,7 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+% !TeX spellcheck=en_US
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -52,7 +53,7 @@
{\large Thomas F.~Sturm%
\footnote{Prof.~Dr.~Dr.~Thomas F.~Sturm, Institut f\"{u}r Mathematik und Informatik,
University of the Bundeswehr Munich, D-85577 Neubiberg, Germany;
- email: \href{mailto:thomas.sturm@unibw.de}{thomas.sturm@unibw.de}}\par\medskip
+ email: \href{mailto:thomas.sturm@unibw.de}{thomas.sturm@unibw.de}}\par\medskip
\normalsize\url{https://www.ctan.org/pkg/csvsimple}\par
\url{https://github.com/T-F-S/csvsimple}
}
@@ -429,109 +430,6 @@ is useless for |\csvreader|.
\end{dispExample}
\end{docCommand}
-\bigskip
-
-The following |\csvauto...| commands are intended for quick data overview
-with limited formatting potential.
-See Subsection~\ref{subsec:tabsupport} on page \pageref{subsec:tabsupport}
-for the general table options in combination with \refCom{csvreader} and
-\refCom{csvloop}.
-
-\begin{docCommands}[
- doc parameter = \oarg{options}\marg{file name}
- ]
- {
- { doc name = csvautotabular },
- { doc name = csvautotabular*, doc new = 2021-06-25 }
- }
- |\csvautotabular| or |\csvautotabular*|
- is an abbreviation for the application of the option key
- \refKey{/csvsim/autotabular} or \refKey{/csvsim/autotabular*}
- together with other \meta{options} to \refCom{csvloop}.
- This macro reads the whole CSV file denoted by \meta{file name}
- with an automated formatting.
- The star variant treats the first line as data line and not as header line.
-\begin{dispExample}
-\csvautotabular*{grade.csv}
-\end{dispExample}
-\begin{dispExample}
-\csvautotabular[filter equal={\csvcoliv}{f}]{grade.csv}
-\end{dispExample}
-\end{docCommands}
-
-\clearpage
-
-\begin{docCommands}[
- doc parameter = \oarg{options}\marg{file name}
- ]
- {
- { doc name = csvautolongtable },
- { doc name = csvautolongtable*, doc new = 2021-06-25 }
- }
- |\csvautolongtable| or |\csvautolongtable*|
- is an abbreviation for the application of the option key
- \refKey{/csvsim/autolongtable} or \refKey{/csvsim/autolongtable*}
- together with other \meta{options} to \refCom{csvloop}.
- This macro reads the whole CSV file denoted by \meta{file name}
- with an automated formatting.
- For application, the package |longtable| is required which has to be
- loaded in the preamble.
- The star variant treats the first line as data line and not as header line.
-\begin{dispListing}
-\csvautolongtable{grade.csv}
-\end{dispListing}
-\csvautolongtable{grade.csv}
-\end{docCommands}
-
-
-
-\begin{docCommands}[
- doc parameter = \oarg{options}\marg{file name}
- ]
- {
- { doc name = csvautobooktabular },
- { doc name = csvautobooktabular*, doc new = 2021-06-25 }
- }
- |\csvautobooktabular| or |\csvautobooktabular*|
- is an abbreviation for the application of the option key
- \refKey{/csvsim/autobooktabular} or \refKey{/csvsim/autobooktabular*}
- together with other \meta{options} to \refCom{csvloop}.
- This macro reads the whole CSV file denoted by \meta{file name}
- with an automated formatting.
- For application, the package |booktabs| is required which has to be
- loaded in the preamble.
- The star variant treats the first line as data line and not as header line.
-\begin{dispExample}
-\csvautobooktabular{grade.csv}
-\end{dispExample}
-\end{docCommands}
-
-
-\begin{docCommands}[
- doc parameter = \oarg{options}\marg{file name}
- ]
- {
- { doc name = csvautobooklongtable },
- { doc name = csvautobooklongtable*, doc new = 2021-06-25 }
- }
- |\csvautobooklongtable| or |\csvautobooklongtable*|
- is an abbreviation for the application of the option key
- \refKey{/csvsim/autobooklongtable} or \refKey{/csvsim/autobooklongtable*}
- together with other \meta{options} to \refCom{csvloop}.
- This macro reads the whole CSV file denoted by \meta{file name}
- with an automated formatting.
- For application, the packages |booktabs| and |longtable| are required which have to be
- loaded in the preamble.
- The star variant treats the first line as data line and not as header line.
-\begin{dispListing}
-\csvautobooklongtable{grade.csv}
-\end{dispListing}
-\csvautobooklongtable{grade.csv}
-\end{docCommands}
-
-
-
-\clearpage
\begin{docCommand}[doc updated = 2021-06-25]{csvset}{\marg{options}}
Sets \meta{options} for every following
@@ -564,6 +462,7 @@ The following students passed the test in mathematics:\\
\end{dispExample}
\end{docCommand}
+\enlargethispage*{1cm}
\begin{docCommand}{csvnames}{\marg{key}\marg{assignments}}
Abbreviation for |\csvstyle{|\meta{key}|}{column names=|\marg{assignments}|}|
@@ -723,7 +622,7 @@ purpose:
Typesets the current data line number. This is the
current number of accepted data lines without the header line.
Despite of the name, there is no associated \LaTeX\ counter |csvrow|,
- but \refCom{thecsvrow} is an accessor the \LaTeX3 integer
+ but \refCom{thecsvrow} accesses the \LaTeX3 integer
\refCom{g_csvsim_row_int}.
\end{docCommands}
@@ -736,7 +635,7 @@ purpose:
is either computed from the first valid line (header or data) or
given by \refKey{/csvsim/column count}.
Despite of the name, there is no associated \LaTeX\ counter |csvcolumncount|,
- but \refCom{thecsvcolumncount} is an accessor the \LaTeX3 integer
+ but \refCom{thecsvcolumncount} accesses the \LaTeX3 integer
\refCom{g_csvsim_columncount_int}.
\begin{dispExample}
\csvreader{grade.csv}{}{}%
@@ -769,6 +668,210 @@ is \thecsvinputline{}.
+\clearpage
+\section{Macros for Automatic Survey Tables}\label{sec:autotable}%
+
+The following |\csvauto...| commands are intended for quick data overview
+with \emph{limited} formatting potential.
+The most customizable |\csvauto...| commands are
+\refCom{csvautotabularray} and friends.
+
+For full control see Subsection~\ref{subsec:tabsupport} on page \pageref{subsec:tabsupport}
+for the general table options in combination with \refCom{csvreader} and
+\refCom{csvloop}.
+
+\begin{docCommands}[
+ doc parameter = \oarg{options}\marg{file name}
+ ]
+ {
+ { doc name = csvautotabular },
+ { doc name = csvautotabular*, doc new = 2021-06-25 }
+ }
+ |\csvautotabular| or |\csvautotabular*|
+ is an abbreviation for the application of the option key
+ \refKey{/csvsim/autotabular} or \refKey{/csvsim/autotabular*}
+ together with other \meta{options} to \refCom{csvloop}.
+ This macro reads the whole CSV file denoted by \meta{file name}
+ with an automated formatting.
+ The star variant treats the first line as data line and not as header line.
+\begin{dispExample}
+\csvautotabular*{grade.csv}
+\end{dispExample}
+\begin{dispExample}
+\csvautotabular[filter equal={\csvcoliv}{f}]{grade.csv}
+\end{dispExample}
+\end{docCommands}
+
+
+
+\begin{docCommands}[
+ doc parameter = \oarg{options}\marg{file name}
+ ]
+ {
+ { doc name = csvautolongtable },
+ { doc name = csvautolongtable*, doc new = 2021-06-25 }
+ }
+ |\csvautolongtable| or |\csvautolongtable*|
+ is an abbreviation for the application of the option key
+ \refKey{/csvsim/autolongtable} or \refKey{/csvsim/autolongtable*}
+ together with other \meta{options} to \refCom{csvloop}.
+ This macro reads the whole CSV file denoted by \meta{file name}
+ with an automated formatting.
+ For application, the package \ctanpkg{longtable} is required which has to be
+ loaded in the preamble.
+ The star variant treats the first line as data line and not as header line.
+\begin{dispListing}
+\csvautolongtable{grade.csv}
+\end{dispListing}
+\csvautolongtable{grade.csv}
+\end{docCommands}
+
+
+\clearpage
+
+
+\begin{docCommands}[
+ doc parameter = \oarg{options}\marg{file name}
+ ]
+ {
+ { doc name = csvautobooktabular },
+ { doc name = csvautobooktabular*, doc new = 2021-06-25 }
+ }
+ |\csvautobooktabular| or |\csvautobooktabular*|
+ is an abbreviation for the application of the option key
+ \refKey{/csvsim/autobooktabular} or \refKey{/csvsim/autobooktabular*}
+ together with other \meta{options} to \refCom{csvloop}.
+ This macro reads the whole CSV file denoted by \meta{file name}
+ with an automated formatting.
+ For application, the package \ctanpkg{booktabs} is required which has to be
+ loaded in the preamble.
+ The star variant treats the first line as data line and not as header line.
+\begin{dispExample}
+\csvautobooktabular{grade.csv}
+\end{dispExample}
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc parameter = \oarg{options}\marg{file name}
+ ]
+ {
+ { doc name = csvautobooklongtable },
+ { doc name = csvautobooklongtable*, doc new = 2021-06-25 }
+ }
+ |\csvautobooklongtable| or |\csvautobooklongtable*|
+ is an abbreviation for the application of the option key
+ \refKey{/csvsim/autobooklongtable} or \refKey{/csvsim/autobooklongtable*}
+ together with other \meta{options} to \refCom{csvloop}.
+ This macro reads the whole CSV file denoted by \meta{file name}
+ with an automated formatting.
+ For application, the packages \ctanpkg{booktabs} and \ctanpkg{longtable} are required which have to be
+ loaded in the preamble.
+ The star variant treats the first line as data line and not as header line.
+\begin{dispListing}
+\csvautobooklongtable{grade.csv}
+\end{dispListing}
+\csvautobooklongtable{grade.csv}
+\end{docCommands}
+
+
+\clearpage
+
+\begin{docCommands}[
+ doc parameter = \oarg{options}\marg{file name}\oarg{taboptions 1}\oarg{taboptions 2},
+ doc new = 2023-10-13
+ ]
+ {
+ { doc name = csvautotabularray },
+ { doc name = csvautotabularray* },
+ { doc name = csvautolongtabularray },
+ { doc name = csvautolongtabularray* },
+ }
+ These macros are abbreviations for the application of the option keys
+ \refKey{/csvsim/autotabularray}, \refKey{/csvsim/autotabularray*},\\
+ \refKey{/csvsim/autolongtabularray}, or \refKey{/csvsim/autolongtabularray*}
+ together with other \meta{options} to \refCom{csvloop}.
+ These macros read the whole CSV file denoted by \meta{file name}
+ with an automated formatting.
+ For application, the package \ctanpkg{tabularray} is required which has to be
+ loaded in the preamble.
+ \refCom{csvautotabularray} uses the \docAuxEnvironment*{tblr} environment and
+ \refCom{csvautolongtabularray} uses the \docAuxEnvironment*{longtblr} environment.
+ The star variants treat the first line as data line and not as header line.\par
+ Options to the table environments from \ctanpkg{tabularray} may be given
+ by either setting \refKey{/csvsim/generic table options} or
+ using \meta{taboptions 1} and \meta{taboptions 2}.\par
+ The default setting is
+\begin{dispListing}
+generic table options =
+ { {
+ row{1} = {font=\bfseries},
+ hline{1,Z} = {0.8pt},
+ hline{2} = {0.4pt},
+ } }
+\end{dispListing}
+ For the star variants, the default setting is
+\begin{dispListing}
+generic table options =
+ { {
+ hline{1,Z} = {0.8pt},
+ } }
+\end{dispListing}
+
+Examples:
+
+\begin{dispExample}
+\csvautotabularray{grade.csv}
+\end{dispExample}
+
+\begin{dispExample}
+\csvautotabularray[table centered,
+ generic table options =
+ {{
+ row{odd} = {red!85!gray!7},
+ row{1} = {bg=red!85!gray, fg=white, font=\bfseries},
+ }}
+ ]
+ {grade.csv}
+\end{dispExample}
+
+\clearpage
+
+Alternatively to \refKey{/csvsim/generic table options}
+(and overruling this option), one may give options to
+\docAuxEnvironment*{tblr} or \docAuxEnvironment*{longtblr}
+using \meta{taboptions 1} and \meta{taboptions 2}.
+If \meta{taboptions 2} is \emph{not present}, then \meta{taboptions 1}
+is used as mandatory argument.
+Otherwise, \meta{taboptions 1} is used as optional argument and
+\meta{taboptions 2} as mandatory argument.
+
+\begin{dispExample}
+\csvautotabularray[table centered]
+ {grade.csv}
+ [
+ row{odd} = {red!85!gray!7},
+ row{1} = {bg=red!85!gray, fg=white, font=\bfseries},
+ ]
+\end{dispExample}
+
+
+\begin{dispExample}
+\csvautotabularray[table centered]
+ {grade.csv}
+ [
+ tall,
+ caption = {My table},
+ remark{Note} = {My remark},
+ ]
+ [
+ row{odd} = {red!85!gray!7},
+ row{1} = {bg=red!85!gray, fg=white, font=\bfseries},
+ ]
+\end{dispExample}
+
+
+\end{docCommands}
\clearpage
@@ -1209,7 +1312,7 @@ filter options:
\begin{docCsvKeys}[
doc parameter = {=\marg{floating point expression}},
- doc description = {style,no default},
+ doc description = {style, no default},
doc new = {2022-10-21}
]
{
@@ -1223,7 +1326,7 @@ filter options:
\begin{docCsvKeys}[
doc parameter = {=\marg{boolean expression}},
- doc description = {style,no default},
+ doc description = {style, no default},
doc new = {2022-10-21}
]
{
@@ -1637,7 +1740,8 @@ are described with predefined keys. The following keys allow to use further
\subsubsection{General Survey Tables}\label{subsubsec:table_survey}
The following |auto| options are the counterparts for the respective quick
-overview commands like \refCom{csvautotabular}. They are listed for
+overview commands like \refCom{csvautotabular}, see Section~\ref{sec:autotable}.
+They are listed for
completeness, but are unlikely to be used directly.
\begin{docCsvKeys}[
@@ -1695,6 +1799,25 @@ completeness, but are unlikely to be used directly.
\end{docCsvKeys}
+\begin{docCsvKeys}[
+ doc parameter = {=\meta{file name}},
+ doc description = no default,
+ doc new = {2023-10-13}
+ ]
+ {
+ { doc name = autotabularray },
+ { doc name = autotabularray* },
+ { doc name = autolongtabularray },
+ { doc name = autolongtabularray* },
+ }
+ Reads the whole CSV file denoted \meta{file name} with an automated formatting
+ using the required |tabularray| package.
+ \refKey{/csvsim/autotabularray} uses the \docAuxEnvironment*{tblr} environment and
+ \refKey{/csvsim/autolongtabularray} uses the \docAuxEnvironment*{longtblr} environment.
+ The star variants treat the first line as data line and not as header line.
+\end{docCsvKeys}
+
+
\clearpage
\subsection{Special Characters}\label{subsec:specchar}
Be default, the CSV content is treated like normal \LaTeX\ text, see
@@ -2841,29 +2964,23 @@ Display data from line 3 on:\par
\clearpage
-The following example displays a \ctanpkg{tabularray} variant of the
-\refCom{csvautotabular} command. Note the \refKey{/csvsim/no head} option
-to read the first line as data line. Also note that \refCom{csvlinetotablerow}
-is used without preceding modifier.
+The following example uses \refCom{csvautotabularray} to display the whole
+table. Note that the \ctanpkg{tabularray} options are given as last
+optional argument.
\begin{dispExample}
% \usepackage{tabularray}
-\csvreader[
- no head,
- centered tabularray =
- {
- row{odd} = {blue!85!gray!7},
- row{1} = {blue!50!gray!25, font=\bfseries},
- },
- table head = {\hline[0.1em,blue!50!black]},
- table foot = {\hline[0.1em,blue!50!black]},
- late after first line = {\\\hline[blue!50!black]},
-]{data.csv}{}{%
- \csvlinetotablerow%
-}
+\csvautotabularray[table centered]{data.csv}
+ [
+ row{odd} = {blue!85!gray!7},
+ row{1} = {blue!50!gray!25, font=\bfseries},
+ hline{1,Z} = {0.1em, blue!50!black},
+ hline{2} = {blue!50!black}
+ ]
\end{dispExample}
+
\clearpage
\subsection{Imported CSV data}\label{sec:importeddata}%
If data is imported from other applications, there is not always a choice
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
index ebf97bfd4e..a2b995531c 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
index 915d318c27..f47d7540bd 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple-legacy.sty: Simple LaTeX CSV file processing (LaTeX2e)
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README.md
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{csvsimple-legacy}[2023/05/09 version 2.4.0 LaTeX2e CSV file processing]
+\ProvidesPackage{csvsimple-legacy}[2023/10/16 version 2.5.0 LaTeX2e CSV file processing]
%---- check package
diff --git a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
index 1fe95b89b8..290d512fb5 100644
--- a/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple-legacy.tex
@@ -1,6 +1,6 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/csvsimple/csvsimple.pdf b/macros/latex/contrib/csvsimple/csvsimple.pdf
index 8a9fb039bb..e4b5badc01 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.pdf
+++ b/macros/latex/contrib/csvsimple/csvsimple.pdf
Binary files differ
diff --git a/macros/latex/contrib/csvsimple/csvsimple.sty b/macros/latex/contrib/csvsimple/csvsimple.sty
index ae9306a2a8..1d3840f1eb 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.sty
+++ b/macros/latex/contrib/csvsimple/csvsimple.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple.sty: Simple LaTeX CSV file processing
%%
%% -------------------------------------------------------------------------------------------
@@ -19,7 +19,7 @@
%%
\RequirePackage{l3keys2e}
-\ProvidesExplPackage{csvsimple}{2023/05/09}{2.4.0}
+\ProvidesExplPackage{csvsimple}{2023/10/16}{2.5.0}
{LaTeX CSV file processing}
\cs_if_exist:NT \c__csvsim_package_expl_bool
diff --git a/macros/latex/contrib/csvsimple/csvsimple.tex b/macros/latex/contrib/csvsimple/csvsimple.tex
index 5aa9e34ca7..7e4e93d1ed 100644
--- a/macros/latex/contrib/csvsimple/csvsimple.tex
+++ b/macros/latex/contrib/csvsimple/csvsimple.tex
@@ -1,6 +1,6 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
-%% The LaTeX package csvsimple - version 2.4.0 (2023/05/09)
+%% The LaTeX package csvsimple - version 2.5.0 (2023/10/16)
%% csvsimple.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index c1b76a003f..41fa127bf1 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,7 @@
hvfloat.sty:
+2.47 2023-10-16 - added type doubleFullPage for images with a width
+ of 2\paperwidth, but variable height and possible
+ text on both pages.
2.46 2023-05-16 - bugfix for doublePAGE and options for package caption
- bugfix for doublePAGE labels: <label>,<label-2><label-cap>,
2.45 2023-01-28 - bugfix for doubleFULLPAGE images which followed
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
index 714c04d580..b49623bceb 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
index 3e15ead284..8d29f55e11 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf b/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
index 35032f09c8..8d12b64b0c 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/capPos.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
index c9527b40b8..195d9900c1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
index 8d11c0e7c0..4cc1b30784 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
index b5a941923f..44e24d3799 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
index e781aab1ed..7e0151eed9 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.pdf
new file mode 100644
index 0000000000..76a6cf9458
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.tex
new file mode 100644
index 0000000000..bd9568bc67
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s1c.tex
@@ -0,0 +1,1480 @@
+\errorcontextlines=100
+%\documentclass[final]{ltugboat}
+\documentclass[twoside,twocolumn,american]{scrartcl}
+%% $Id: doublepage2s2c.tex 92 2021-05-18 09:46:55Z herbert $
+
+\input{preamble.ltx}
+\usepackage{xcolor,marginnote}
+
+\usepackage{marginnote,showframe}
+\setcounter{tocdepth}{2}
+
+\makeatletter
+\def\MarginNote#1{%
+ \expandafter\marginnote\expandafter{#1\\\checkoddpage\ifoddpage oddpage\else evenpage\fi\\
+ \if@twocolumn
+ 2col,
+ \if@firstcolumn
+ 1.col
+ \else
+ 2.col
+ \fi
+ \else
+ 1col,
+ \fi}}
+\makeatother
+
+\begin{document}
+\title{Examples for doublepage floats \newline with bind correction}
+\author{Herbert Voß}
+\maketitle
+
+\tableofcontents
+
+
+\onecolumn
+\listoffigures
+
+\cleardoublepage
+\part{Argument \texttt{doubleFullPage}}
+\section{Definition on an odd page}
+
+%\Blindtext
+\hvblindtext
+
+\hvblindtext
+
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capPos=left,sameHeight]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage02nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage02nd}}
+\hvFloat[doubleFullPage,capPos=left,sameHeight]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage02nd}
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage12nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage12nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage12nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage22nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage22nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage22nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage32nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage32nd}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage32nd}
+
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\section{Definition on an even page}
+
+
+\subsection{The default -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0a}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a2nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0a2nd}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a2nd}
+
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+
+
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1a}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a}
+
+%\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a2nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2a}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a2nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+%\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3a}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+%\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a2nd}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+%\cleardoublepage
+
+
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+
+
+
+\cleardoublepage
+
+\part{Argument \texttt{doubleFULLPAGE}}
+\section{Definition on an odd page}
+
+\Blindtext\hvblindtext
+
+\hvblindtext
+
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02nd}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02nd}
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE12nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE12nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE12nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE22nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE22nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE22nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE32nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE32nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE32nd}
+
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+
+
+
+\section{Definition on an even page}
+
+
+\subsection{The default -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0a}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a2nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0a2nd}}
+\hvFloat[doubleFULLPAGE]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0a2nd}
+
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+
+
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a}
+
+%\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE1a2nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE2a2nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+%\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3a}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+%\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3a2nd}}
+\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE3a2nd}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+%\cleardoublepage
+
+
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+
+\section{Full height, but no complete double page}
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=right]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0n}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0n}}
+\hvFloat[doubleFULLPAGE,capPos=right]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0n}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\clearpage
+\Blindtext
+%\hvblindtext
+
+%\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+\Blindtext
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=before]%
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndn}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02ndn}}
+\hvFloat[doubleFULLPAGE,capPos=before]
+ {figure}%
+ {\includegraphics[height=\paperheight]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndn}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndnn}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02ndnn}}
+\hvFloat[doubleFULLPAGE,capPos=after,twoColumnCaption]%
+ {figure}%
+ {\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed
+ at the bottom of the following page. The doublepage image begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE02ndnn}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
index 7e922cbb8d..feda15368e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
index 46ae9406ba..7c30c21b03 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublefullpage2s2c.tex
@@ -9,6 +9,21 @@
\usepackage{marginnote,showframe}
\setcounter{tocdepth}{2}
+\makeatletter
+\def\MarginNote#1{%
+ \expandafter\marginnote\expandafter{#1\\\checkoddpage\ifoddpage oddpage\else evenpage\fi\\
+ \if@twocolumn
+ 2col,
+ \if@firstcolumn
+ 1.col
+ \else
+ 2.col
+ \fi
+ \else
+ 1col,
+ \fi}}
+\makeatother
+
\begin{document}
\title{Examples for doublepage floats \newline with bind correction}
\author{Herbert Voß}
@@ -20,8 +35,672 @@
\onecolumn
\listoffigures
-\newpage\null
+\cleardoublepage
\twocolumn
+\part{Argument \texttt{doubleFullPage}}
+\section{Definition on an odd page}
+
+%\Blindtext\hvblindtext
+
+\hvblindtext
+
+\subsection{The default -- in the first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0}
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+\subsection{The default -- in the second column}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage02nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage02nd}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage02nd}
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage12nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage12nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage12nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage22nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage22nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage22nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+\Blindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage32nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage32nd}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage32nd}
+
+
+\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\section{Definition on an even page}
+
+
+\subsection{The default -- first column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0a}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\subsection{The default -- second column}
+\begin{lstlisting}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a2nd}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doubleFullPage0a2nd}}
+\hvFloat[doubleFullPage]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage0a2nd}
+
+
+\hvblindtext
+\hvblindtext
+
+%\hvblindtext
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+
+
+
+\subsection{\texttt{bindCorr=1cm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1a}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a}
+
+%\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=1cm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage1a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=1cm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage1a2nd}
+
+\hvblindtext
+
+%\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+
+\subsection{\texttt{bindCorr=3mm} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2a}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+\subsection{\texttt{bindCorr=3mm} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage2a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=right,bindCorr=3mm]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage2a2nd}
+
+
+\Blindtext
+
+%\Blindtext
+
+%\Blindtext
+
+%\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- first column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3a}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a}
+
+
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+
+\hvblindtext
+
+\hvblindtext
+
+%\hvblindtext
+
+%\hvblindtext
+
+
+\subsection{\texttt{bindCorr=<inside textwidth>} -- second column}
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a2nd}
+\end{lstlisting}
+
+\MarginNote{Fig. \ref{fig:doubleFullPage3a2nd}}
+\hvFloat[doubleFullPage,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
+ {figure}%
+ {\includegraphics[doubleFullPagebindCorr]{images/felsen-wasser}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doubleFullPage}}%
+ {fig:doubleFullPage3a2nd}
+
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+%\cleardoublepage
+
+
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\hvblindtext
+
+
+
+
+
+
+\cleardoublepage
+
\part{Argument \texttt{doubleFULLPAGE}}
\section{Definition on an odd page}
@@ -44,7 +723,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE0}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0}}
\hvFloat[doubleFULLPAGE]%
{figure}%
{\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
@@ -82,7 +761,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE02nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02nd}}
\hvFloat[doubleFULLPAGE]%
{figure}%
{\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
@@ -118,7 +797,7 @@
{fig:doubleFULLPAGE1}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE1}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -159,7 +838,7 @@
{fig:doubleFULLPAGE12nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE12nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE12nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -198,7 +877,7 @@
{fig:doubleFULLPAGE2}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE2}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -238,7 +917,7 @@
{fig:doubleFULLPAGE22nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE22nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE22nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -276,7 +955,7 @@
{fig:doubleFULLPAGE3}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE3}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3}}
\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -315,7 +994,7 @@
{fig:doubleFULLPAGE32nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE32nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE32nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -355,7 +1034,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE0a}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0a}}
\hvFloat[doubleFULLPAGE]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
@@ -395,7 +1074,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE0a2nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0a2nd}}
\hvFloat[doubleFULLPAGE]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
@@ -435,7 +1114,7 @@
{fig:doubleFULLPAGE1a}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE1a}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1a}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -477,7 +1156,7 @@
{fig:doubleFULLPAGE1a2nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE1a2nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE1a2nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=1cm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -517,7 +1196,7 @@
{fig:doubleFULLPAGE2a}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE2a}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2a}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -559,7 +1238,7 @@
{fig:doubleFULLPAGE2a2nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE2a2nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE2a2nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,capPos=right,bindCorr=3mm]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -601,7 +1280,7 @@
{fig:doubleFULLPAGE3a}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE3a}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3a}}
\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -642,7 +1321,7 @@
{fig:doubleFULLPAGE3a2nd}
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE3a2nd}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE3a2nd}}
\hvFloat[doubleFULLPAGE,capWidth=n,bindCorr=\the\dimexpr1in+\oddsidemargin,capPos=after]%
{figure}%
{\includegraphics[doubleFULLPAGEbindCorr]{images/rheinsberg}}%
@@ -691,7 +1370,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE0n}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE0n}}
\hvFloat[doubleFULLPAGE,capPos=right]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
@@ -735,7 +1414,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE02ndn}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02ndn}}
\hvFloat[doubleFULLPAGE,capPos=before]
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg}}%
@@ -775,7 +1454,7 @@
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doubleFULLPAGE02ndnn}}
+\MarginNote{Fig. \ref{fig:doubleFULLPAGE02ndnn}}
\hvFloat[doubleFULLPAGE,capPos=after,twoColumnCaption]%
{figure}%
{\includegraphics[doubleFULLPAGE]{images/rheinsberg}}%
@@ -798,5 +1477,4 @@
\hvblindtext
-
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
index 58bfcbd417..3b897e3f91 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
index ebd703e964..db61c61351 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s1c.tex
@@ -1,5 +1,5 @@
\documentclass[twoside]{scrartcl}
-%% $Id: doublepage2s1c.tex 299 2021-10-09 14:05:35Z herbert $
+%% $Id: doublepage2s1c.tex 773 2023-10-16 12:29:28Z herbert $
\input{preamble.ltx}
\usepackage{blindtext,xcolor,marginnote}
@@ -434,7 +434,10 @@
\hvblindtext
-%\Blindtext
+
+\Blindtext
+
+\hvblindtext
\subsection{Definition on an even page}
@@ -566,6 +569,78 @@
\Blindtext
+
+
+\subsubsection{Argument \texttt{doubleFullPage}}
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage000}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage001}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+
+\Blindtext
+
+\Blindtext
+\Blindtext
+\Blindtext
+
+\Blindtext
+
+
+
+
\clearpage
\section{Argument \texttt{doubleFULLPAGE}}
@@ -706,6 +781,8 @@ is on the pages~\pageref{fig:doubleFULLPAGE0after}f.
\Blindtext
+\Blindtext
+
\subsubsection{\texttt{bindCorr=3mm}}
\begin{lstlisting}
@@ -737,8 +814,9 @@ is on the pages~\pageref{fig:doubleFULLPAGE0after}f.
\Blindtext
-%\hvblindtext
-%\hvblindtext
+\hvblindtext
+
+\hvblindtext
\subsubsection{\texttt{bindCorr=<inside textwidth>}}
@@ -768,7 +846,16 @@ is on the pages~\pageref{fig:doubleFULLPAGE0after}f.
\Blindtext
+\hvblindtext
+
+\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
\subsection{Definition on an even page}
+\hvblindtext
\subsubsection{The default}
@@ -968,4 +1055,5 @@ is on the pages~\pageref{fig:doubleFULLPAGE0afterA}f.
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
index 88920143cd..282f48c364 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex
index 48214608fc..f7abc397d4 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/doublepage2s2c.tex
@@ -1,7 +1,7 @@
\errorcontextlines=100
%\documentclass[final]{ltugboat}
\documentclass[twoside,twocolumn]{scrartcl}
-%% $Id: doublepage2s2c.tex 97 2021-05-26 19:31:53Z herbert $
+%% $Id: doublepage2s2c.tex 773 2023-10-16 12:29:28Z herbert $
\input{preamble.ltx}
\usepackage{blindtext,xcolor,marginnote}
@@ -1055,4 +1055,221 @@ is on the pages~\pageref{fig:doubleFULLPAGE0afterA}f.
\Blindtext
+\section{Argument \texttt{doubleFullPage}}
+
+\Blindtext\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage000}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage001}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+
+\Blindtext
+
+\Blindtext
+\Blindtext
+\Blindtext
+
+\Blindtext
+
+%\Blindtext
+%\hvblindtext
+
+\hvblindtext
+
+\Blindtext
+
+\Blindtext
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0000}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage000}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0000}
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\Blindtext
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0001}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage001}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0001}
+
+\Blindtext
+
+\Blindtext
+\Blindtext
+\Blindtext
+
+\Blindtext
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0002}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage0002}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0002}
+
+\Blindtext
+
+\Blindtext
+\Blindtext
+\Blindtext
+
+\Blindtext
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0003}
+\end{lstlisting}
+
+
+\marginnote{Fig. \ref{fig:doublePage0003}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage0003}
+
+\Blindtext
+
+\Blindtext
+\Blindtext
+\Blindtext
+
+\Blindtext
+
+
+
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
index 1f79ea9240..f5129e2fe1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
index 5b5a6f2d32..8842af5ebb 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
index f5e994aee4..4f361957fe 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
index 71e429e6b9..c02bd2d322 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/even2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
index 35e6e0c51f..b4e299a5e8 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
index 17d5731a23..8abc361d7b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/fullpage1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
index 84caf7516d..7cf579e2b8 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
index 86beabc7da..c9364feb7a 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
index 33c045deba..163ed2b8ee 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
index 60ee0ab1a8..b5fe92532b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/left2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
index d56b189175..4ecf842042 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
index 51682a3bc5..847f10ef7d 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
index 260a6282ba..74776bd2ea 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
index 3d5f4377ee..c84effcb2b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
index d466e2179b..214edd0ef7 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
index 1e13a5e1ab..3664e14647 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
index 1b8d66e290..8b12502d6f 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-outer2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
index a8a8056975..39fbfbf793 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/multi-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
index 0908145860..2cc3a2f1b6 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
index 27cc4be057..ea14d642b3 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
index ac6484c820..fdfe911f30 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
index bddaaecf37..8916a62dea 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/odd2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
index e926458cdd..20b9309053 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
index 23c92ad30d..449a372b49 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
index 5997deace9..f092b614a1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/outer2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
index 8f67ed240b..7b0e2c3f58 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
index 7240e55163..fa884c9d46 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
index 6189a0ea8f..6acb89ccd1 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
index cd70ea4e50..d1c7d7b0d0 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
index 4b151eb8f3..fec2b721cf 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
index 05f7c0e9f7..06cb4d9dc5 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
index 09e8027acf..c1fb0fc94d 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-even2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
index d7fbd32893..8e4ebfe2ff 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-inner2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
index ecb6472ccd..60a73caf48 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-odd2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
index 8ac96d2e13..f0b80bcd5c 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
index f145bdefa2..80afb86f22 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/paper-twocolcaption-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
index e585dff5eb..7f05564f49 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
index cfc459300c..1c117348a0 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
index f37d485bff..17f2378168 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
index 570aba2bf1..fae4047e16 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/right2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
index def06949e3..04d809ad3d 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
index 2a21a7ad39..55d63a81c9 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-after2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
index 40ea9808b8..c5ff14df2a 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
index 7351e0324c..cf3eeb2e37 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
index e6d47d3ab1..2e264d6fef 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-default2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
index 3685009311..591ffc1f24 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s1c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
index 0867cbe1a5..678fa315a9 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
index 74a2bc4931..7732433c50 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/sub-right2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
index d48f9d3fd9..198249a15b 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/wide1s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf b/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
index b7471e3946..fb2b1ca1e9 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
+++ b/macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index be06de69ef..be10a26587 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 0ef8f5d852..1ab2adddaa 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.tex 723 2023-05-17 17:27:20Z herbert $
+%% $Id: hvfloat.tex 774 2023-10-16 13:44:29Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside,paper=a4,usegeometry]{scrartcl}
@@ -138,6 +138,20 @@
\def\DBS{{\ttfamily\textbackslash\textbackslash}}
+
+\def\MarginNote#1{%
+ \expandafter\marginnote\expandafter{#1\\\checkoddpage\ifoddpage oddpage\else evenpage\fi\\
+ \if@twocolumn
+ 2col,
+ \if@firstcolumn
+ 1.col
+ \else
+ 2.col
+ \fi
+ \else
+ 1col,
+ \fi}}
+
\makeatother
\newcommand\Larg [1]{{\normalfont\itshape#1\/}}
@@ -174,7 +188,6 @@
\marginnote{\fbox{\shortstack{float\\#1}}}\fi
}
-
\begin{document}
\title{Package \texttt{hvfloat}\\
Controlling captions, fullpage and doublepage floats\\ver \hvFloatFileVersion}
@@ -397,6 +410,7 @@ There are the following keywords:
\Lkeyword{FULLPAGE} & false & \rowvsp Use the full paper width/height for the object.\\
\Lkeyword{doublePage} & false & \rowvsp Use the text area on a doublepage with additional text.\\
\Lkeyword{doublePAGE} & false & \rowvsp Use the text area on a doublepage without additional text.\\
+\Lkeyword{doubleFullPage} & false & \rowvsp Use the paperwidth on a doublepage with additional text.\\
\Lkeyword{doubleFULLPAGE} & false & \rowvsp Use the paperwidth on a doublepage without additional text.\\
\Lkeyword{forceLeft} & false & \rowvsp In some cases a doublepage float starts on an odd page. With \Lkeyword{forceLeft} it
uses only one \Lcs{afterpage} instead of two to force a start on an even page. \\
@@ -432,7 +446,7 @@ or \Lenv{table} environment, f.ex.:
\normalsize
-\marginnote{Fig.~\ref{fig:0}}
+\MarginNote{Fig.~\ref{fig:0}}
\hvFloat{figure}{\includegraphics{images/rose}}{Without any keywords (only the \texttt{fbox} package option)}{fig:0}
Code for figure \ref{fig:0}:
@@ -441,7 +455,7 @@ Code for figure \ref{fig:0}:
\end{lstlisting}
-\marginnote{Tab.~\ref{tab:0}}
+\MarginNote{Tab.~\ref{tab:0}}
\hvFloat[capPos=top]{table}{%
\begin{tabularx}{\textwidth}{l|l|X}
\rmfamily Name & Type & Description\\\hline
@@ -492,7 +506,7 @@ floating environments like \Lenv{figure} or \Lenv{table}:
{Default caption width setting, which is the natural width with respect to the current linewidth.}{fig:width0}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:width0}}
+\MarginNote{Fig.~\ref{fig:width0}}
\hvFloat[floatPos=!htb]{figure}{\includegraphics{images/rose}}%
{Default caption width setting, which is the natural width with respect to the current linewidth.}{fig:width0}
@@ -517,7 +531,7 @@ minus the width of the object and the space between object and caption, which is
the separation between object and caption, and the current linewidth.}{fig:width1}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:width1}}
+\MarginNote{Fig.~\ref{fig:width1}}
\hvFloat[floatPos=!htb,capPos=after,objectFrame]{figure}{\includegraphics[scale=1.5]{images/rose}}%
{Caption right beside with a \emph{natural} width, which is given by the width of the object,
the separation between object and caption, and the current linewidth.}{fig:width1}
@@ -539,7 +553,7 @@ is greater than 1.
in this special case \the\linewidth. Divide it by 28.82 to get cm.}{fig:width2}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:width2}}
+\MarginNote{Fig.~\ref{fig:width2}}
\hvFloat[floatPos=!htb,capWidth=0.9]{figure}{\includegraphics{images/rose}}%
{Caption below with a width of 0.9 of the current line width (column width), which is
in this special case \the\linewidth. Divide it by 28.82 to get cm.}{fig:width2}
@@ -561,7 +575,7 @@ If not then the width is set to the possible value between object and margin:
by the macro to the maximal width.}{fig:width3}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:width3}}
+\MarginNote{Fig.~\ref{fig:width3}}
\hvFloat[floatPos=!htb,capPos=after,capWidth=0.9]{figure}{\includegraphics[scale=1.5]{images/rose}}%
{Caption right beside with a width setting of \texttt{0.9\textbackslash linewidth}
which is too big for this example and therefore corrected by the macro to the maximal width.}{fig:width3}
@@ -594,7 +608,7 @@ real sense if you want to put a rotated caption beside the object.
if it is a very small object.}{fig:width5}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:width5}}
+\MarginNote{Fig.~\ref{fig:width5}}
\hvFloat[floatPos=!htb,capPos=after,capWidth=h,capAngle=90,objectFrame]{figure}{\includegraphics{images/rose}}%
{Caption beside with a width of the given object height which may be a problem
if it is a very small object.}{fig:width5}
@@ -619,7 +633,7 @@ Code for figure \ref{fig:1}:
{fig:1}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:1}}
+\MarginNote{Fig.~\ref{fig:1}}
\Float[capPos=right]
\hvFloat%
[floatPos=htb,
@@ -648,7 +662,7 @@ Code for figure \ref{fig:2}:
of \texttt{capWidth=h}, which is the height of the object.}{fig:2}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:2}}
+\MarginNote{Fig.~\ref{fig:2}}
\hvFloat%
[floatPos=htb,
capPos=left,
@@ -683,7 +697,7 @@ Code for figure \ref{fig:3}:
of the image and a rotation of the caption and the object.}{fig:3}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:3}}
+\MarginNote{Fig.~\ref{fig:3}}
\hvFloat[%
capWidth=h,% of \columnwidth
capPos=after,
@@ -712,7 +726,7 @@ Code for figure~\ref{fig:20}:
an odd page.}{fig:20}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:20}}
+\MarginNote{Fig.~\ref{fig:20}}
\hvFloat[capPos=inner]{figure}{\includegraphics{images/rose}}%
[Centered Caption on the inner side]{%
Caption set with the parameter setting \texttt{capPos=inner}, which will be
@@ -738,7 +752,7 @@ even \fi page. We now set a pagebreak at the end of the second image to see if i
an odd page.}{fig:20b}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:20b}}
+\MarginNote{Fig.~\ref{fig:20b}}
\hvFloat[capPos=outer]{figure}{\includegraphics{images/rose}}%
[Centered Caption on the inner side]{%
Caption set with the parameter setting \texttt{capPos=outer}, which will be
@@ -747,7 +761,7 @@ even \fi page. We now set a pagebreak at the end of the second image to see if i
-\marginnote{Fig.~\ref{fig:21}}
+\MarginNote{Fig.~\ref{fig:21}}
\hvFloat[%
capWidth=0.5,% of \columnwidth
capPos=outer,
@@ -780,7 +794,7 @@ Code for figure \ref{fig:22}:
width of \texttt{0.5\textbackslash columnwidth} and \texttt{capPos=outer} }{fig:22}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:22}}
+\MarginNote{Fig.~\ref{fig:22}}
\hvFloat[%
capWidth=0.5,% of \columnwidth
capPos=inner,
@@ -816,7 +830,7 @@ The code for figure \ref{fig:4}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:4}}
+\MarginNote{Fig.~\ref{fig:4}}
\hvFloat[%
floatPos=htb,%
capWidth=0.25,%
@@ -837,7 +851,7 @@ The code for figure \ref{fig:5}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:5}}
+\MarginNote{Fig.~\ref{fig:5}}
\hvFloat[%
floatPos=htb,%
capWidth=0.25,%
@@ -858,7 +872,7 @@ The code for figure \ref{fig:6}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:6}}
+\MarginNote{Fig.~\ref{fig:6}}
\hvFloat[%
capWidth=0.25,%
capPos=right,%
@@ -882,7 +896,7 @@ in a minipage, the reason why it will be local to the current image..
]{figure}{\frame{\includegraphics{images/rose}}}{\blindtext}{fig:66}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:66}}
+\MarginNote{Fig.~\ref{fig:66}}
\hvFloat[%
capPos=right,
capFormat={labelsep=newline,justification=RaggedRight,font={small,it},labelfont=bf}
@@ -912,7 +926,7 @@ The code for figure \ref{fig:7}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:7}}
+\MarginNote{Fig.~\ref{fig:7}}
\hvFloat[%
capWidth=0.25,%
capPos=right,%
@@ -928,7 +942,7 @@ The code for figure \ref{fig:7}:
The same with \Lkeyset{capPos=left}:
-\marginnote{Fig.~\ref{fig:700}}
+\MarginNote{Fig.~\ref{fig:700}}
\hvFloat[%
capWidth=0.25,%
capPos=left,%
@@ -954,7 +968,7 @@ The code for figure \ref{fig:8}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:8}}
+\MarginNote{Fig.~\ref{fig:8}}
\hvFloat[%
capWidth=0.25,%
capPos=before,%
@@ -983,7 +997,7 @@ The code for figure \ref{fig:70}:
the option \texttt{wide}.}{fig:70}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:70}}
+\MarginNote{Fig.~\ref{fig:70}}
\hvFloat[%
wide,
capPos=right,%
@@ -1008,7 +1022,7 @@ The code for figure \ref{fig:80}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:80}}
+\MarginNote{Fig.~\ref{fig:80}}
\hvFloat[wide,
capPos=left,%
capVPos=top,%
@@ -1030,7 +1044,7 @@ Caption at top and inner beside the float and object position right and
the option \texttt{wide}.}{fig:81}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:81}}
+\MarginNote{Fig.~\ref{fig:81}}
\hvFloat[wide,
capPos=inner,
capVPos=top,
@@ -1053,7 +1067,7 @@ the option \texttt{wide}.}{fig:811}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:811}}
+\MarginNote{Fig.~\ref{fig:811}}
\hvFloat[wide,
capPos=inner,
capVPos=top,
@@ -1077,7 +1091,7 @@ the option \texttt{wide}.}{fig:812}
%\Float[capPos=outer]
\begingroup
-\marginnote{Fig.~\ref{fig:812}}
+\MarginNote{Fig.~\ref{fig:812}}
\captionsetup{justification=RaggedRight}
\hvFloat[wide,
capPos=outer,
@@ -1103,7 +1117,7 @@ the caption to the left, center, or right of the full width which is linewidth a
\end{lstlisting}
-\marginnote{Fig.~\ref{label}}
+\MarginNote{Fig.~\ref{label}}
\hvFloat[capPos=bottom,capWidth=l,wide,capHPos=right]{figure}
{\includegraphics[width=0.49\hvWideWidth]{images/CTAN}\quad
\includegraphics[width=0.49\hvWideWidth]{images/CTAN}}
@@ -1206,7 +1220,7 @@ Code for figure \ref{fig:9}:
The float can also be put to the left or to the right (above/below in landscape)
with the \Lkeyset{objectPos=l} parameter
-\marginnote{Fig.~\ref{fig:9}}
+\MarginNote{Fig.~\ref{fig:9}}
\hvFloat[%
floatPos=p,
capPos=bottom,
@@ -1235,7 +1249,7 @@ The code for figure \ref{fig:10}:
degrees.\blindtext}{fig:10}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:10}}
+\MarginNote{Fig.~\ref{fig:10}}
\hvFloat[%
floatPos=p,%
capWidth=h,%
@@ -1279,7 +1293,7 @@ Some nonsense text after the preceding \emph{non floating} object.
Some nonsense text before the following \emph{non floating} object.
-\marginnote{Fig.~\ref{fig:11}}
+\MarginNote{Fig.~\ref{fig:11}}
\hvFloat[%
nonFloat,%
capWidth=0.25,%
@@ -1353,7 +1367,7 @@ The code for table \ref{table:1} and \ref{table:2} is:
\hvblindtext
-\marginnote{Tab.~\ref{table:2}}
+\MarginNote{Tab.~\ref{table:2}}
\hvFloat[%
floatPos=hb,
useOBox=true,
@@ -1365,7 +1379,7 @@ The code for table \ref{table:1} and \ref{table:2} is:
In this case leave the third parameter empty.
-\marginnote{Tab.~\ref{table:1}}
+\MarginNote{Tab.~\ref{table:1}}
\hvFloat[%
floatPos=!hb,
capPos=top,
@@ -1373,7 +1387,7 @@ In this case leave the third parameter empty.
-\marginnote{Tab.~\ref{table:2}}
+\MarginNote{Tab.~\ref{table:2}}
\hvFloat[%
floatPos=!htb,%
useOBox=true,%
@@ -1406,7 +1420,7 @@ The code for figure \ref{fig:text}:
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:text}}
+\MarginNote{Fig.~\ref{fig:text}}
\hvFloat[%
onlyText=true,%
capAngle=90,%
@@ -2604,12 +2618,21 @@ of the paper area and top of the text area.
The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth|. The caption can only be
under the right part of the object. The will be \emph{no additional text} on the double page.
+\item[\Lkeyword{doubleFullPage}] A splitted object with or without a caption on the left or right below of a double page
+image. The object can
+fill the complete double page.
+The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth|.
+
\item[\Lkeyword{doubleFULLPAGE}] A splitted object with or without a caption on the right or below of a double page. The object can
fill the complete double page.
The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth|. A caption will be
rotated and written \emph{over} the object, or if possible, at the right. The user has to take care for a correct text color.
\end{description}
+
+
+
+
\subsection{\Lkeyword{doubleFULLPAGE}}
The scaling of the image is left to the user. If the proportion of the object doesn't fit 2*paperwidth/paperheight,
then there can be a white part on the top or bottom of the object. A pagenumber will not be printed. In this documentation you'll
@@ -2630,7 +2653,7 @@ even page and following text will be placed \emph{before} the object.
{fig:doubleFULLPAGE0}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:doubleFULLPAGE0}}
+\MarginNote{Fig.~\ref{fig:doubleFULLPAGE0}}
\hvFloat[doubleFULLPAGE,capPos=right,capAngle=90]%
{figure}%
{\includegraphics[height=\paperheight]{images/r+j2}}%
@@ -2641,11 +2664,11 @@ even page and following text will be placed \emph{before} the object.
The parameter is \texttt{doubleFULLPAGE}}%
{fig:doubleFULLPAGE0}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
It is also possible to take a bind correction into account with e.g.
@@ -2665,7 +2688,7 @@ in the inner margin on both pages.
{fig:doubleFULLPAGE0a}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:doubleFULLPAGE0a}}
+\MarginNote{Fig.~\ref{fig:doubleFULLPAGE0a}}
\hvFloat[doubleFULLPAGE,capPos=after,bindCorr=5mm]%
{figure}%
{\includegraphics[height=2\paperwidth]{images/r+j3}}%
@@ -2676,11 +2699,11 @@ in the inner margin on both pages.
The parameter is \texttt{doubleFULLPAGE}}%
{fig:doubleFULLPAGE0a}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
@@ -2695,7 +2718,7 @@ in the inner margin on both pages.
{fig:doubleFULLPAGE1}
\end{lstlisting}
-\marginnote{Fig.~\ref{fig:doubleFULLPAGE1}}
+\MarginNote{Fig.~\ref{fig:doubleFULLPAGE1}}
\hvFloat[doubleFULLPAGE,capPos=right]%
{figure}%
{\includegraphics[height=\paperheight]{images/rheinsberg-1000}}%
@@ -2705,7 +2728,7 @@ in the inner margin on both pages.
The parameter is \texttt{doubleFULLPAGE}}%
{fig:doubleFULLPAGE1}
-\Blindtext \Blindtext
+\hvBlindtext \hvBlindtext
Placing the caption on the image itself is not the best solution. With the optional arguments
@@ -2737,7 +2760,7 @@ and the right part on page~\pageref{bar-2}. All three labels points to the same
\hvFloatSetDefaults
-\marginnote{Fig.~\ref{foo}}
+\MarginNote{Fig.~\ref{foo}}
\hvFloat[doubleFULLPAGE,capPos=after]%
{figure}%
{\includegraphics[doubleFULLPAGE]{images/rheinsberg-1000}}%
@@ -2747,15 +2770,15 @@ and the right part on page~\pageref{bar-2}. All three labels points to the same
The parameter is \texttt{doubleFULLPAGE}}%
{foo}
-\Blindtext %\Blindtext
+\hvBlindtext %\hvBlindtext
\hvblindtext
\hvblindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
\begin{lstlisting}
\hvFloat[doubleFULLPAGE,capPos=before]%
@@ -2769,7 +2792,7 @@ and the right part on page~\pageref{bar-2}. All three labels points to the same
{bar}
\end{lstlisting}
-\marginnote{Fig.~\ref{bar}}
+\MarginNote{Fig.~\ref{bar}}
\hvFloat[doubleFULLPAGE,capPos=before]%
{figure}%
{\includegraphics[height=\paperheight,width=2\paperwidth,keepaspectratio=false]{images/rheinsberg-1000}}%
@@ -2779,9 +2802,9 @@ and the right part on page~\pageref{bar-2}. All three labels points to the same
The parameter is \texttt{doubleFULLPAGE}}%
{bar}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
\hvblindtext
@@ -2804,7 +2827,7 @@ There will be pagenumbers and a caption can be rotated on the right of the objec
\end{lstlisting}
-\marginnote{Fig. \ref{fig:doublePAGE0}}
+\MarginNote{Fig. \ref{fig:doublePAGE0}}
\hvFloat[doublePAGE]%
{figure}%
{\includegraphics[width=\dimexpr2\textwidth+2in]{images/seiser}}%
@@ -2818,9 +2841,9 @@ There will be pagenumbers and a caption can be rotated on the right of the objec
\hvblindtext
\hvblindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
\subsection{\Lkeyword{doublePage}}
With this option the object also starts at the left top of the text area.
@@ -2842,7 +2865,7 @@ and the rest of the text area is filled with text.
\hvFloatSetDefaults
-\marginnote{Fig. \ref{fig:doublePage0sH}}
+\MarginNote{Fig. \ref{fig:doublePage0sH}}
\hvFloat[doublePage,sameHeight]%
{figure}%
{\includegraphics[doublefullPage]{images/sonne-meer}}%
@@ -2853,13 +2876,13 @@ and the rest of the text area is filled with text.
The parameter is \texttt{doublePage}}%
{fig:doublePage0sH}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
\hvblindtext
-\Blindtext
+\hvBlindtext
\hvblindtext
@@ -2879,7 +2902,7 @@ and the rest of the text area is filled with text.
\hvFloatSetDefaults
-\marginnote{Fig. \ref{fig:doublePage1}}
+\MarginNote{Fig. \ref{fig:doublePage1}}
\hvFloat[doublePage,capPos=right,capVPos=top]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
@@ -2890,13 +2913,13 @@ and the rest of the text area is filled with text.
The parameter is \texttt{doublePage}}%
{fig:doublePage1}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
@@ -2916,7 +2939,7 @@ and the rest of the text area is filled with text.
\hvFloatSetDefaults
-\marginnote{Fig. \ref{fig:doublePage0sH2}}
+\MarginNote{Fig. \ref{fig:doublePage0sH2}}
\hvFloat[doublePage,bindCorr=inner
]%
{figure}%
@@ -2928,14 +2951,91 @@ and the rest of the text area is filled with text.
The parameter is \texttt{doublePage}}%
{fig:doublePage0sH2}
-\Blindtext
+\hvBlindtext
+
+\hvBlindtext
+
+\hvBlindtext
-\Blindtext
-\Blindtext
+%\hvBlindtext
+
+%\hvBlindtext
+
+\subsection{\Lkeyword{doubleFullPage}}
+This places an image over the complete width of two pages (2\Ldim{paperwidth}) without
+modifying the height of the object. The caption can be placed on the the left or right side
+of the object.
+
+
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doublePage000}}
+\hvFloat[doubleFullPage,capWidth=n,capPos=left]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the left side.]%
+ {A caption for a double-sided image that will be placed on the left side of the
+ doublepage part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage000}
+
+\hvBlindtext
+
+\hvBlindtext
+
+\hvBlindtext
+
+\hvBlindtext
+
+\hvBlindtext
+\begin{lstlisting}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+\end{lstlisting}
+
+
+\MarginNote{Fig. \ref{fig:doublePage001}}
+\hvFloat[doubleFullPage,capWidth=n,sameHeight,capPos=right]%
+ {figure}%
+ {\includegraphics[doubleFullPage]{images/sonne-meer}}%
+ [A doublepage image with a caption on the right side of the right part.]%
+ {A caption for a double-sided image that will be placed on the right side of the
+ right-hand part of the illustration. The illustration begins on the left edge of
+ the paper. A short form is used for the LOF.
+ The parameter is \texttt{doublePage}}%
+ {fig:doublePage001}
+
+\hvBlindtext
+
+\hvBlindtext
+\hvBlindtext
+\hvBlindtext
+
+\hvBlindtext
+
@@ -2978,7 +3078,7 @@ Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15
\bottomrule
\end{tabular}}
-\Blindtext
+\hvBlindtext
\hvFloat[doublePage,capPos=right,capVPos=top,floatCapSep=12pt]%
{table}%
@@ -3031,9 +3131,9 @@ Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15
The parameter is \texttt{doublePage}}%
{tab:doublePage3}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
\section{References to the page}\label{varioref}
@@ -3134,9 +3234,9 @@ optional package options to set the global placement:
\usepackage[figure=tb,table=t]{hvfloat-fps}
\end{verbatim}
-%\Blindtext
+%\hvBlindtext
-\Blindtext
+\hvBlindtext
%\hvFloatSetDefaults
\hvFloat[FULLPAGE]{figure}%
@@ -3147,14 +3247,16 @@ optional package options to set the global placement:
{demo:fullpage}
-\Blindtext
+\hvBlindtext
-\Blindtext
+\hvBlindtext
+
+\hvBlindtext
-\printindex
\clearpage
+\printindex
%\appendix
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc b/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
new file mode 100644
index 0000000000..a39a994c76
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
@@ -0,0 +1,130 @@
+%% Herbert Voss <hvoss@tug.org>
+%% Copyright (C) 2023
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%
+%% ||1in+evenside --- |1in+oddside ---|| Image is 2\paperwidth wide, height is variable or user set
+%
+\def\do@hvFloat@doubleFullPage#1{% image on left and right page with caption before/below/right/after
+ % #1-> not used, caption always below lefr or below right
+ \setcounter{topnumber}{1}%
+ \setcounter{dbltopnumber}{1}%
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+% \ifx\hvSet@capPos\hv@Right\else\ifx\hvSet@capPos\hv@Left\else
+% \let\hvSet@capPos\hv@Right
+% \fi\fi
+ \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+ \ifx\hv@subcaption@format\@empty\else
+ \expandafter
+ \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
+ {\hv@subcaption@format}%
+ \fi
+ \let\c@hv@tempCNTfigA\c@figure
+ \let\c@hv@tempCNTtabA\c@table
+% \checkoddpage
+ \ifoddpage
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% 2nd Col and newpage
+ \else
+ \do@hvFloat@doubleFullPage@ObjectAndCaption% odd, 2nd col -> no newpage
+ \fi
+ \else % onecol
+ \afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}% oddpage->newpage
+ \fi % end \if@twocolumn
+ \else% evenpage
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}}% ->2nd Col left page and newpage
+ \else
+ \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% ->newpage ( 2columns)
+ \fi
+ \else % onecol
+ \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% evenpage->newpage->newpage
+ \fi % end \if@twocolumn
+ \fi% main ifoddpage
+ \endgroup% started at main macro \hvFloat
+}
+
+\def\do@hvFloat@doubleFullPage@ObjectAndCaption{%
+ \begin{\hv@floatType*}[t]
+ \hv@set@noverticalSpace
+ \hfuzz=\maxdimen
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection%
+ \savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \ifx\hv@label\@empty
+ \else
+ \ifx\hv@floatType\hv@figure
+ \global\refstepcounter{hv@tempCNTfigA}%
+ \else
+ \global\refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \label{\hv@label}%
+ \fi
+ \ifx\hvSet@capPos\hv@Left % left side a caption
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \else
+ \ifhv@global@sameHeight
+ \par\noindent\phantom{\parbox{\textwidth}{\caption*{\hv@longCap}}}%
+% \vspace{-2pt}%
+ \fi
+ \fi
+ \hv@reset@noverticalSpace
+ \end{\hv@floatType*}%
+ % start right half of the image ----------------- RIGHT
+ \begin{\hv@floatType*}[t]
+ \hv@set@noverticalSpace
+ \hfuzz=\maxdimen
+% \let\c@hv@tempCNTfigA\c@figure
+% \let\c@hv@tempCNTtabA\c@table
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection
+ \savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
+ \hspace*{\the\dimexpr-1in-\oddsidemargin+\hvSet@bindCorrection}%
+ \clipbox*{\the\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \ifx\hv@label\@empty
+ \else
+ \ifx\hv@floatType\hv@figure
+ \global\refstepcounter{hv@tempCNTfigA}%
+ \else
+ \global\refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \label{\hv@label}%
+ \fi
+ \ifx\hvSet@capPos\hv@Left % left side a caption
+ \ifhv@global@sameHeight
+ \par\noindent\phantom{\parbox{\textwidth}{\caption*{\hv@longCap}}}%
+% \vspace{-2pt}%
+ \fi
+ \else
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \fi
+ \hv@reset@noverticalSpace
+ \end{\hv@floatType*}%
+}
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc b/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc
new file mode 100644
index 0000000000..e5e0ead4bb
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc
@@ -0,0 +1,474 @@
+%% Herbert Voss <hvoss@tug.org>
+%% Copyright (C) 2023
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%
+%% ||1in+evenside --- |1in+oddside ---||
+%
+\def\do@hvFloat@doubleFULLPAGE#1{% image on left and right page with caption before/below/right/after
+ % #1-> 0/1 caption under/right
+ \hvfloat@typeout{>>> do@hvFloat@doubleFULLPAGE: #1}%
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+ \ifx\hv@subcaption@format\@empty\else
+ \expandafter
+ \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
+ {\hv@subcaption@format}%
+ \fi
+ \ifx\hvSet@capPos\hv@After \global\hv@@capPos=1
+ \else
+ \ifx\hvSet@capPos\hv@Before \global\hv@@capPos=0
+ \else
+ \global\hv@@capPos=2 % other caption type
+ \fi\fi
+ %\checkoddpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \global\hv@tempWidthA=\dimexpr-\oddsidemargin-1in-\parindent+\hvSet@bindCorrection% the width of the right side offset
+ \global\hv@tempWidthB=\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection%
+ \global\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection%
+% \savebox\hv@leftBox{\clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}%
+% \savebox\hv@rightBox{\clipbox*{\the\hv@leftPageObjectWidth{} \depth{} \width{} \height}{\usebox\hvObjectBox}}%
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifoddpage
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage}%
+ \ifcase\hv@@capPos % =0 Caption before
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before (0)}%
+ \if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn}%
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/firstcolumn}%
+ \ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/twoColumnCaption}%
+ \set@Normal@Bottom@Caption*
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/oneColCaption}%
+ \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/secondcolumn}%
+ \set@Normal@Bottom@Caption
+ \do@hvFloat@doubleFULLPAGE@CaptionBefore
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/onecolumn}%
+ \set@Normal@Bottom@Caption
+ \do@hvFloat@doubleFULLPAGE@CaptionBefore
+ \fi
+ \or % =1 Caption after
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after (1)}%
+ \ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption (1)}%
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/firstcolumn (1)}%
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/secondcolumn (1)}%
+ \do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/oneColCaption (1)}%
+ \if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn (1)}%
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption after/twoColCaption/twocolumn/firstcolumn (1)}%
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn/secondcolumn (1)}%
+ \do@hvFloat@doubleFULLPAGE@CaptionAfter
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/onecolumn (1)}%
+ \do@hvFloat@doubleFULLPAGE@CaptionAfter
+ \fi
+ \fi
+ \else% \ifcase >1 all other Captions
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}%
+ \else
+ \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}%
+ \fi
+ \else % \if@twocolumn
+ \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}%
+ \fi
+ \fi% \ifcase
+ \else% we have an even page
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage (1 -- \thepage)}%
+ \ifcase\hv@@capPos% Before
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before (0 -- \thepage)}%
+ \if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn (0 -- \thepage)}%
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn/firstcolumn (0 -- \thepage)}%
+ \ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/firstcolumn/twocolCap (0 -- \thepage)}%
+ \afterpage{\afterpage\set@Normal@Bottom@Caption*\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2 -> evenpage/caption before/twocolumn/firstcolumn/oneColCap (0 -- \thepage)}%
+ \afterpage{\afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}}%
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/secondcolumn (0 -- \thepage)}%
+ \afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption before/onecolumn (0 -- \thepage)}%
+ \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
+ \fi
+ \or % capPos after
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after (1 -- \thepage)}%
+ \if@twocolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn (1 -- \thepage)}%
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/firstcolumn (1 -- \thepage)}%
+ \ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/twoColCaption (1 -- \thepage)}%
+ \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/oneColCaption (1 -- \thepage)}%
+ \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/secondcolumn (1 -- \thepage)}%
+ \ifhv@twoColumnCaption
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/twoColCaption (1 -- \thepage)}%
+ \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/oneColCaption (1 -- \thepage)}%
+ \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
+ \fi
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/onecolumn (1 -- \thepage)}%
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
+ \fi
+ \else % \ifcase Any other caption
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}}%
+ \else
+ \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}%
+ \fi
+ \else
+ \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}%
+ \fi
+ \fi% \ifcase
+ \fi% main ifoddpage
+ \endgroup% started at main macro \hvFloat
+}
+
+\def\set@Normal@Bottom@Caption{\@ifnextchar*\set@Normal@Bottom@CaptionStar\set@Normal@Bottom@Caption@}
+\def\set@Normal@Bottom@Caption@{%
+ \begin{\hv@floatType}[!b]
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifhv@separatorLine\drawSepLine\fi
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \end{\hv@floatType}%
+}
+\def\set@Normal@Bottom@CaptionStar*{%
+ \begin{\hv@floatType*}[!b]
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifhv@separatorLine\drawSepLine\fi
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \end{\hv@floatType*}%
+}
+
+\def\do@hvFloat@doubleFULLPAGE@CaptionBefore{%
+ \afterpage{%
+ \hfuzz=\maxdimen
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \thispagestyle{empty}%
+ \ifx\hv@floatType\hv@figure
+ \global\refstepcounter{hv@tempCNTfigB}%
+ \else
+ \global\refstepcounter{hv@tempCNTtabB}% before caption
+ \fi
+ \expandafter\label\expandafter{\hv@label}%
+ \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \afterpage{%
+ \if@twocolumn\newpage\null\newpage\fi
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
+ \hspace*{\hv@tempWidthA}%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \global\refstepcounter{hv@tempCNTfigA}%
+ \else
+ \global\refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \expandafter\label\expandafter{\hv@label-2}%
+ \newpage\if@twocolumn\null\newpage\fi
+ }}%
+}
+
+\newif\ifhv@temp
+
+\def\do@hvFloat@doubleFULLPAGE@CaptionAfter{%
+ \afterpage{%
+ \hfuzz=\maxdimen
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \thispagestyle{empty}%
+ \clipbox*{0 \the\dp\hvObjectBox{} \the\hv@leftPageObjectWidth{} \the\ht\hvObjectBox}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigA}%
+ \else
+ \refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label}\fi
+ \newpage\if@twocolumn\null\newpage\fi
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
+ \hspace*{\hv@tempWidthA}%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigB}%
+ \else
+ \refstepcounter{hv@tempCNTtabB}% before caption
+ \fi
+ \expandafter\label\expandafter{\hv@label-2}%
+ \newpage\if@twocolumn\null\newpage\fi
+ \begin{\hv@floatType}[!b]
+ \ifhv@separatorLine\drawSepLine\fi
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \end{\hv@floatType}%
+ }%
+}
+
+\def\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: start} %
+ \afterpage{%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage start} %
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \thispagestyle{empty}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigA}%
+ \else
+ \refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label}\fi
+ \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \newpage\if@twocolumn\null\newpage\fi
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: insert newpage} %
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
+ \hspace*{\hv@tempWidthA}%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigB}%
+ \else
+ \refstepcounter{hv@tempCNTtabB}% before caption
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-2}\fi
+ \newpage\if@twocolumn\null\newpage\fi
+ \begin{\hv@floatType*}[!b]
+ \hv@twoColumnCaptiontrue
+ \ifhv@separatorLine\drawSepLine\fi
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \end{\hv@floatType*}%
+ }%
+ \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage done} %
+}
+
+\def\do@hvFloat@doubleFULLPAGE@CaptionOther#1{%
+ \afterpage{%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \thispagestyle{empty}%
+ \hfuzz=\maxdimen
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \clipbox*{0 \depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigA}%
+ \else
+ \refstepcounter{hv@tempCNTtabA}% before caption
+ \fi
+ \label{\hv@label}%
+ \afterpage{%
+ \if@twocolumn\newpage\if@firstcolumn\else\null\newpage\fi\fi
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
+ \hspace*{\hv@tempWidthA}%
+ \clipbox*{\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
+ \ifx\hv@floatType\hv@figure
+ \refstepcounter{hv@tempCNTfigB}%
+ \else
+ \refstepcounter{hv@tempCNTtabB}% before caption
+ \fi
+ \expandafter\label\expandafter{\hv@label-2}%
+ \savebox\hvCaptionBox{\parbox{0.9\ht\hvObjectBox}{\captionof*{\hv@floatType}{\hv@longCap}}}%
+ \ifnum#1 > 0\relax % rotation with 90°
+% \setlength\hv@tempWidthB{\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection}%
+ \ifdim\hv@tempWidthB < 2\paperwidth
+ \rotatebox[origin=lb]{90}{\makebox[\paperheight][c]{\parbox{0.8\ht\hvObjectBox}{%
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ }}}% rotatebox
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \else% ifdim: no space left on page
+ \put(-2\ht\hvCaptionBox,0.5\ht\hvObjectBox){\makebox(0,0){\rotatebox{90}{\minipage{\textwidth}\centering
+ \parbox{0.8\textwidth}{%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ }%
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \endminipage}}}%
+ \fi
+ \else% ifnum, caption not rotated, under or over the right page
+ \hv@tempWidthA=\the\dimexpr\paperheight-\ht\hvObjectBox\relax
+ \ifdim\hv@tempWidthA > \ht\hvCaptionBox
+ \else
+ \put(\the\dimexpr1.5\paperwidth-\wd\hvObjectBox-\hvSet@bindCorrection,\the\dimexpr\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip){\makebox[0pt][c]{\parbox{\textwidth}{%%
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifhv@onlyText
+ \hv@longCap
+ \else
+ \ifx\hv@shortCap\@empty
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \fi
+ }}}%
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ \fi
+ \fi% end \ifnum#1>0
+ \newpage\if@twocolumn\null\newpage\fi
+ }%
+ }%
+}
+
+
+\def\setBottomCaption{%
+ \ifhv@twoColumnCaption
+ \begin{\hv@floatType*}[!b]%
+ \else
+ \begin{\hv@floatType}[!b]%
+ \fi
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifhv@separatorLine\drawSepLine\fi
+ \par
+ \usebox\hvCaptionBox
+ \ifhv@twoColumnCaption
+ \end{\hv@floatType*}%
+ \else
+ \end{\hv@floatType}%
+ \fi
+}
+
+\def\setPageObject{%
+ \hvfloat@typeout{>>>> setPageObject/start environment ...}%
+ \afterpage{\checkoddpage}%
+ \ifhv@star
+ \begin{\hv@floatType*}[p]%
+ \else
+ \begin{\hv@floatType}[p]%
+ \fi
+ \hv@tempcnt=\@floatpenalty% suppress "float too big" message
+ \hfuzz=\maxdimen
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifhv@FULLPAGE
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE}%
+ \@floatpenalty=\z@% no message that float too large
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-0.5\baselineskip%
+ \if@twoside
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside}%
+ \ifoddpage
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/oddpage (\thepage)}%
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \else
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/evenpage (\thepage)}%
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \fi
+ \else
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/oneside}%
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \fi
+ \hvfloat@typeout{>>>> setPageObject/FULLPAGE/set pagestyle empty}%
+ \AtBeginShipoutNext{\thispagestyle{empty}}% to prevent heading/footer
+% \afterpage{\AddToHookNext{shipout/after}{\thispagestyle{empty}}}%
+ \usebox\hvObjectBox
+ \else
+ \hvfloat@typeout{>>>> setPageObject/NO FULLPAGE}%
+ \usebox\hvObjectBox
+ \fi
+ \hvfloat@typeout{>>>> setPageObject/stop environment}%
+ \ifhv@star
+ \end{\hv@floatType*}%
+ \else
+ \end{\hv@floatType}%
+ \fi
+ \@floatpenalty=\hv@tempcnt% restore
+}
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat-2.inc b/macros/latex/contrib/hvfloat/latex/hvfloat-2.inc
new file mode 100644
index 0000000000..c930479fae
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat-2.inc
@@ -0,0 +1,114 @@
+%%
+%% Herbert Voss <hvoss@tug.org>
+%% Copyright (C) 2023
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% ||1in+evenside --- |1in+oddside ---||
+%
+
+\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}%
+ \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}}%
+ %\checkoddpage
+ \ifoddpage
+ \hvfloat@typeout{do@hvFloat@doublePAGE: oddpage}%
+ \if@twocolumn
+ \if@firstcolumn
+ \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->firstcolumn}%
+ \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
+ \else
+ \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->secondcolumn}%
+ \do@hvFloat@doublePAGECaptionRight{#1}%
+ \fi
+ \else
+ \do@hvFloat@doublePAGECaptionRight{#1}%
+ \fi
+ \else
+ \hvfloat@typeout{do@hvFloat@doublePAGE: evenpage}%
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{\afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}}%
+ \else
+ \afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}%
+ \fi
+ \else
+ \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% onecolumn/left page
+ \fi
+ \fi
+ \endgroup% startet at main macro
+}
+%
+\def\do@hvFloat@doublePAGECaptionRight#1{% image on left and right page with caption on the right ----------------------------------
+ % #1-> 0/1 caption under/right
+ \hvfloat@typeout{do@hvFloat@doublePAGECaptionRight->start}%
+ \afterpage{%
+ \hfuzz=\maxdimen
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
+ \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+ \ifx\hv@subcaption@format\@empty\else
+ \expandafter
+ \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
+ {\hv@subcaption@format}%
+ \fi
+ \ifhv@useOBox
+ \global\let\hvObjectBox\hvOBox
+ \else
+ \global\savebox\hvObjectBox{\hv@floatObject}%
+ \fi
+ \noindent
+ \global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection%
+ \global\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection%
+ \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \ifx\hv@label\@empty\else\label{\hv@label}\fi
+ \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}%
+ \ifx\hv@label\@empty\else\label{\hv@label-2}\fi
+ \begingroup
+ \ifnum#1>0
+ \medskip
+ \ifdim\dp\hvObjectBox > \z@
+ \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \ifx\relax\hv@shortCap\relax
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ }}%
+ \else
+ \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \ifx\relax\hv@shortCap\relax
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ }}%
+ \fi
+ \else% caption not rotated
+ \par\noindent
+ \parbox{\textwidth}{%
+ \expandafter\hvFloatSet\expandafter{\hv@save@setting,capFormat={font={tiny},labelsep=newline}}%
+ \ifx\relax\hv@shortCap\relax
+ \captionof{\hv@floatType}{\hv@longCap}%
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \fi
+ \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
+ }%
+ \fi
+ \endgroup
+ \newpage\if@twocolumn\null\newpage\fi
+ }%
+}
+%
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index be6acdf49b..41c8042a4c 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 723 2023-05-17 17:27:20Z herbert $
+%% $Id: hvfloat.sty 774 2023-10-16 13:44:29Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -16,8 +16,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.46}
-\def\filedate{2023/05/16}
+\def\fileversion{2.47}
+\def\filedate{2023/10/16}
\ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)]
\let\hvFloatFileVersion\fileversion
%
@@ -189,6 +189,7 @@
\newif\ifhv@fullpage
\newif\ifhv@FULLPAGE
+\newif\ifhv@doubleFullPage
\newif\ifhv@doubleFULLPAGE
\newif\ifhv@doublePAGE
\newif\ifhv@doublePage
@@ -209,33 +210,39 @@
\define@key{hvSet}{fullpage}[true]{%
\global\@nameuse{hv@fullpage#1}%
\hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
- \hv@FULLPAGEfalse
+ \hv@FULLPAGEfalse\hv@doubleFullPagefalse
\hvfloat@typeout{>>>>Option fullpage}%
}
\define@key{hvSet}{FULLPAGE}[true]{%
\global\@nameuse{hv@FULLPAGE#1}%
\hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
- \hv@fullpagefalse
+ \hv@fullpagefalse\hv@doubleFullPagefalse
\hvfloat@typeout{>>>>Option FULLPAGE}%
}
\define@key{hvSet}{doubleFULLPAGE}[true]{%
\global\@nameuse{hv@doubleFULLPAGE#1}%
\hv@doublePagefalse\hv@doublePAGEfalse
- \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse
\hvfloat@typeout{>>>>Option doubleFULLPAGE->True / doublePAGE->False}%
}
\define@key{hvSet}{doublePAGE}[true]{%
\global\@nameuse{hv@doublePAGE#1}%
\hv@doublePagefalse\hv@doubleFULLPAGEfalse
- \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse
\hvfloat@typeout{>>>>Option doublePAGE->True / doubleFULLPAGE->False}%
}
\define@key{hvSet}{doublePage}[true]{%
\global\@nameuse{hv@doublePage#1}%
\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse
- \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse
\hvfloat@typeout{>>>>Option doublepage->True / doubleFULLPAGE->False}%
}
+\define@key{hvSet}{doubleFullPage}[true]{%
+ \global\@nameuse{hv@doubleFullPage#1}%
+% \hv@doublePAGEfalse\hv@doubleFULLPAGEfalse\hv@doublePagefalse
+% \hv@fullpagefalse\hv@FULLPAGEfalse
+ \hvfloat@typeout{>>>>Option doublefullPage->True / doubleFULLPAGE->False}%
+}
\define@key{hvSet}{bindCorr}[0pt]{%
\def\hv@temp{#1}%
\ifx\hv@temp\hv@Inner
@@ -397,11 +404,21 @@
\def\Gin@eheight{\paperheight}%
\Gin@boolkey{false}{iso}%
}
+\define@key{Gin}{doubleFullPage}[true]{%
+ \def\Gin@ewidth{2\paperwidth}%
+% \def\Gin@eheight{\paperheight}%
+ \Gin@boolkey{false}{iso}%
+}
\define@key{Gin}{doublefullPage}[true]{%
\def\Gin@ewidth{\the\dimexpr2\paperwidth-2in-2\evensidemargin}%
% \def\Gin@eheight{\paperheight}%
\Gin@boolkey{true}{iso}%
}
+\define@key{Gin}{doubleFullPagebindCorr}[true]{%
+ \def\Gin@ewidth{\the\dimexpr2\paperwidth-2\hvSet@bindCorrection\relax}%
+% \def\Gin@eheight{\paperheight}%
+ \Gin@boolkey{false}{iso}%
+}
\define@key{Gin}{doubleFULLPAGEbindCorr}[true]{%
\def\Gin@ewidth{\the\dimexpr2\paperwidth-2\hvSet@bindCorrection\relax}%
\def\Gin@eheight{\paperheight}%
@@ -500,8 +517,8 @@
\def\hvFloat{\@ifnextchar*% Main macro
- {\global\hv@startrue\hv@maxImageWidth=\textwidth\hvFloat@i}%
- {\global\hv@starfalse\hv@maxImageWidth=\columnwidth\hvFloat@i*}%
+ {\checkoddpage\global\hv@startrue\hv@maxImageWidth=\textwidth\hvFloat@i}%
+ {\checkoddpage\global\hv@starfalse\hv@maxImageWidth=\columnwidth\hvFloat@i*}%
}
\def\hvFloat@i*{\@ifnextchar[{\do@hvFloat}{\do@hvFloat[]}}
@@ -618,20 +635,26 @@
\setlength\hvCapWidth{\textheight}%
\expandafter\do@hvFloat@doubleFULLPAGE\@@temp% fullpage with caption rotated or under on an odd page
\else
- \ifhv@doublePAGE
- \hvfloat@typeout{>>>> do@@hvFloat: doublePAGE true}%
- \expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page
+ \ifhv@doubleFullPage
+ \hvfloat@typeout{>>>> do@@hvFloat: doubleFullPage true}%
+ \setlength\hvCapWidth{\textwidth}%
+ \expandafter\do@hvFloat@doubleFullPage\@@temp% fullpage with caption under an odd page
\else
- \ifhv@doublePage
- \hvfloat@typeout{>>>> do@@hvFloat: doublePage true}%
- \expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page
+ \ifhv@doublePAGE
+ \hvfloat@typeout{>>>> do@@hvFloat: doublePAGE true}%
+ \expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page
\else
- \ifhv@inMargin
- \hvfloat@typeout{>>>> do@@hvFloat: inMargin true}%
- \do@@@hvFloatInMargin
+ \ifhv@doublePage
+ \hvfloat@typeout{>>>> do@@hvFloat: doublePage true}%
+ \expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page
\else
- \hvfloat@typeout{>>>> do@@hvFloat: no special caption}%
- \do@@@hvFloat
+ \ifhv@inMargin
+ \hvfloat@typeout{>>>> do@@hvFloat: inMargin true}%
+ \do@@@hvFloatInMargin
+ \else
+ \hvfloat@typeout{>>>> do@@hvFloat: no special caption}%
+ \do@@@hvFloat
+ \fi
\fi
\fi
\fi
@@ -804,7 +827,7 @@
\begin{\hv@floatType}% Start the floating environment
\fi
\fi
- \checkoddpage
+ %%\checkoddpage
\ifx\hvSet@objectPos\hv@Right\raggedleft\fi
\ifx\hvSet@objectPos\hv@Center
\ifhv@nonFloat\hspace*{\fill}\else\centering\fi
@@ -1074,7 +1097,7 @@
\ifx\hvSet@floatPos\@empty \else\@namedef{fps@\hv@floatType}{\hvSet@floatPos}\fi
\noindent
\begingroup% Start the nonfloat part
- \checkoddpage
+ %\checkoddpage
\ifx\hvSet@objectPos\hv@Right \raggedleft\fi
\ifx\hvSet@objectPos\hv@Center \hspace*{\fill}\fi
\ifx\hvSet@objectPos\hv@Outer \ifoddpage\raggedleft\fi\fi
@@ -1231,7 +1254,7 @@
\fi
\fi
\hvfloat@typeout{>>>do@@@@hvFloat: hv@capPos is \the\hv@@capPos}%
- \checkoddpage
+ %\checkoddpage
\hvfloat@typeout{>>>do@@@@hvFloat: set floattype}%
\set@caption@object{\hv@floatType}% set caption and object into a box
\ifcase\hv@@capPos% caption before object 0-> _always_ left
@@ -1426,13 +1449,13 @@
\endminipage}%
\savebox\hvObjectBox{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\ifnum#1=0\relax % no rotation, caption below
- \hvfloat@typeout{Texthöhe: \the\textheight}%
- \hvfloat@typeout{Objekthöhe: \the\ht\hvObjectBox}%
- \hvfloat@typeout{Captionhöhe: \the\ht\hvCaptionBox}%
+% \hvfloat@typeout{Texthöhe: \the\textheight}%
+% \hvfloat@typeout{Objekthöhe: \the\ht\hvObjectBox}%
+% \hvfloat@typeout{Captionhöhe: \the\ht\hvCaptionBox}%
\@tempdima=\dimexpr\ht\hvObjectBox+\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip +\textfloatsep\relax%+\floatsep\relax
- \hvfloat@typeout{Summe: \the\@tempdima}%
+% \hvfloat@typeout{Summe: \the\@tempdima}%
\ifdim\@tempdima > \dimexpr\textheight-\hv@minTextlines\relax
- \hvfloat@typeout{hvfloat: switched to floattype p}%
+% \hvfloat@typeout{hvfloat: switched to floattype p}%
\hv@switchTypetrue
\fi
\fi
@@ -1440,7 +1463,7 @@
\ifhv@forceOutput
\do@hvFloat@doublePAGECaptionRight{#1}% no cheque
\else
- \checkoddpage
+ %\checkoddpage
\ifoddpage
\hvfloat@typeout{do@hvFloat@doublePage:oddpage}%
\if@twocolumn
@@ -1456,7 +1479,7 @@
\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%}%
\fi
\else
- \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}%
+% \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}%
\ifhv@tugboat
\do@hvFloat@doublePageCaptionRight{#1}%
\else
@@ -1494,7 +1517,8 @@
\ifhv@switchType
\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
\else
- \afterpage{\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}}%
+ %\afterpage{
+ \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%}%
\fi
\fi
\else% onecolumn
@@ -1526,7 +1550,7 @@
}
%
\def\do@hvFloat@doublePageCaptionRightObjectLeft#1{% left part of the object
- \begin{\hv@floatType}[!t]
+ \begin{\hv@floatType*}[!t]
\hvfloat@typeout{>>>doublePage: begin with left side of the object \hv@floatObject}%
\hv@set@noverticalSpace
\hfuzz=\maxdimen
@@ -1552,7 +1576,7 @@
\fi
\hv@reset@noverticalSpace
\hvfloat@typeout{>>>doublePage: end with left side of the object \hv@floatObject}%
- \end{\hv@floatType}%
+ \end{\hv@floatType*}%
}
\def\do@hvFloat@doublePageCaptionRightObjectRight#1{% right part of the object
@@ -1633,579 +1657,12 @@
%
\newsavebox\hv@boxLeftPage
\newsavebox\hv@boxRightPage
-%
-%% ||1in+evenside --- |1in+oddside ---||
-%
-\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}%
- \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}}%
- \checkoddpage
- \ifoddpage
- \hvfloat@typeout{do@hvFloat@doublePAGE: oddpage}%
- \if@twocolumn
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->firstcolumn}%
- \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
- \else
- \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->secondcolumn}%
- \do@hvFloat@doublePAGECaptionRight{#1}%
- \fi
- \else
- \do@hvFloat@doublePAGECaptionRight{#1}%
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doublePAGE: evenpage}%
- \if@twocolumn
- \if@firstcolumn
- \afterpage{\afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}}%
- \else
- \afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}%
- \fi
- \else
- \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% onecolumn/left page
- \fi
- \fi
- \endgroup% startet at main macro
-}
-%
-\def\do@hvFloat@doublePAGECaptionRight#1{% image on left and right page with caption on the right ----------------------------------
- % #1-> 0/1 caption under/right
- \hvfloat@typeout{do@hvFloat@doublePAGECaptionRight->start}%
- \afterpage{%
- \hfuzz=\maxdimen
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
- \ifx\hv@subcaption@format\@empty\else
- \expandafter
- \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
- {\hv@subcaption@format}%
- \fi
- \ifhv@useOBox
- \global\let\hvObjectBox\hvOBox
- \else
- \global\savebox\hvObjectBox{\hv@floatObject}%
- \fi
- \noindent
- \global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection%
- \global\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection%
- \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
- \ifx\hv@label\@empty\else\label{\hv@label}\fi
- \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}%
- \ifx\hv@label\@empty\else\label{\hv@label-2}\fi
- \begingroup
- \ifnum#1>0
- \medskip
- \ifdim\dp\hvObjectBox > \z@
- \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
- \ifx\relax\hv@shortCap\relax
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- }}%
- \else
- \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
- \ifx\relax\hv@shortCap\relax
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- }}%
- \fi
- \else% caption not rotated
- \par\noindent
- \parbox{\textwidth}{%
- \expandafter\hvFloatSet\expandafter{\hv@save@setting,capFormat={font={tiny},labelsep=newline}}%
- \ifx\relax\hv@shortCap\relax
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- }%
- \fi
- \endgroup
- \newpage\if@twocolumn\null\newpage\fi
- }%
-}
-%
-%% ||1in+evenside --- |1in+oddside ---||
-%
-\def\do@hvFloat@doubleFULLPAGE#1{% image on left and right page with caption before/below/right/after
- % #1-> 0/1 caption under/right
- \hvfloat@typeout{>>> do@hvFloat@doubleFULLPAGE: #1}%
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
- \ifx\hv@subcaption@format\@empty\else
- \expandafter
- \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
- {\hv@subcaption@format}%
- \fi
- \ifx\hvSet@capPos\hv@After \global\hv@@capPos=1
- \else
- \ifx\hvSet@capPos\hv@Before \global\hv@@capPos=0
- \else
- \global\hv@@capPos=2 % other caption type
- \fi\fi
- \checkoddpage
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \global\hv@tempWidthA=\dimexpr-\oddsidemargin-1in-\parindent+\hvSet@bindCorrection% the width of the right side offset
- \global\hv@tempWidthB=\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection%
- \global\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection%
-% \savebox\hv@leftBox{\clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}%
-% \savebox\hv@rightBox{\clipbox*{\the\hv@leftPageObjectWidth{} \depth{} \width{} \height}{\usebox\hvObjectBox}}%
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifoddpage
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage}%
- \ifcase\hv@@capPos % =0 Caption before
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before (0)}%
- \if@twocolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn}%
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/firstcolumn}%
- \ifhv@twoColumnCaption
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/twoColumnCaption}%
- \set@Normal@Bottom@Caption*
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/oneColCaption}%
- \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/secondcolumn}%
- \set@Normal@Bottom@Caption
- \do@hvFloat@doubleFULLPAGE@CaptionBefore
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/onecolumn}%
- \set@Normal@Bottom@Caption
- \do@hvFloat@doubleFULLPAGE@CaptionBefore
- \fi
- \or % =1 Caption after
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after (1)}%
- \ifhv@twoColumnCaption
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption (1)}%
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/firstcolumn (1)}%
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/secondcolumn (1)}%
- \do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/oneColCaption (1)}%
- \if@twocolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn (1)}%
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption after/twoColCaption/twocolumn/firstcolumn (1)}%
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn/secondcolumn (1)}%
- \do@hvFloat@doubleFULLPAGE@CaptionAfter
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/onecolumn (1)}%
- \do@hvFloat@doubleFULLPAGE@CaptionAfter
- \fi
- \fi
- \else% \ifcase >1 all other Captions
- \if@twocolumn
- \if@firstcolumn
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}%
- \else
- \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}%
- \fi
- \else % \if@twocolumn
- \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}%
- \fi
- \fi% \ifcase
- \else% we have an even page
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage (1 -- \thepage)}%
- \ifcase\hv@@capPos% Before
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before (0 -- \thepage)}%
- \if@twocolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn (0 -- \thepage)}%
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn/firstcolumn (0 -- \thepage)}%
- \ifhv@twoColumnCaption
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/firstcolumn/twocolCap (0 -- \thepage)}%
- \afterpage{\afterpage\set@Normal@Bottom@Caption*\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2 -> evenpage/caption before/twocolumn/firstcolumn/oneColCap (0 -- \thepage)}%
- \afterpage{\afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}}%
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/secondcolumn (0 -- \thepage)}%
- \afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}%
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption before/onecolumn (0 -- \thepage)}%
- \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}%
- \fi
- \or % capPos after
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after (1 -- \thepage)}%
- \if@twocolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn (1 -- \thepage)}%
- \if@firstcolumn
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/firstcolumn (1 -- \thepage)}%
- \ifhv@twoColumnCaption
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/twoColCaption (1 -- \thepage)}%
- \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/oneColCaption (1 -- \thepage)}%
- \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/secondcolumn (1 -- \thepage)}%
- \ifhv@twoColumnCaption
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/twoColCaption (1 -- \thepage)}%
- \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}%
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/oneColCaption (1 -- \thepage)}%
- \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}%
- \fi
- \fi
- \else
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/onecolumn (1 -- \thepage)}%
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}%
- \fi
- \else % \ifcase Any other caption
- \if@twocolumn
- \if@firstcolumn
- \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}}%
- \else
- \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}%
- \fi
- \else
- \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}%
- \fi
- \fi% \ifcase
- \fi% main ifoddpage
- \endgroup% started at main macro \hvFloat
-}
+\input{hvfloat-2.inc}
-\def\set@Normal@Bottom@Caption{\@ifnextchar*\set@Normal@Bottom@CaptionStar\set@Normal@Bottom@Caption@}
-\def\set@Normal@Bottom@Caption@{%
- \begin{\hv@floatType}[!b]
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifhv@separatorLine\drawSepLine\fi
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \end{\hv@floatType}%
-}
-\def\set@Normal@Bottom@CaptionStar*{%
- \begin{\hv@floatType*}[!b]
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifhv@separatorLine\drawSepLine\fi
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \end{\hv@floatType*}%
-}
+\input{hvfloat-1.inc}
-\def\do@hvFloat@doubleFULLPAGE@CaptionBefore{%
- \afterpage{%
- \hfuzz=\maxdimen
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
- \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
- \thispagestyle{empty}%
- \ifx\hv@floatType\hv@figure
- \global\refstepcounter{hv@tempCNTfigB}%
- \else
- \global\refstepcounter{hv@tempCNTtabB}% before caption
- \fi
- \expandafter\label\expandafter{\hv@label}%
- \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
- \afterpage{%
- \if@twocolumn\newpage\null\newpage\fi
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \thispagestyle{empty}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
- \hspace*{\hv@tempWidthA}%
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \global\refstepcounter{hv@tempCNTfigA}%
- \else
- \global\refstepcounter{hv@tempCNTtabA}% before caption
- \fi
- \expandafter\label\expandafter{\hv@label-2}%
- \newpage\if@twocolumn\null\newpage\fi
- }}%
-}
-
-\newif\ifhv@temp
-
-\def\do@hvFloat@doubleFULLPAGE@CaptionAfter{%
- \afterpage{%
- \hfuzz=\maxdimen
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
- \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
- \thispagestyle{empty}%
- \clipbox*{0 \the\dp\hvObjectBox{} \the\hv@leftPageObjectWidth{} \the\ht\hvObjectBox}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigA}%
- \else
- \refstepcounter{hv@tempCNTtabA}% before caption
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label}\fi
- \newpage\if@twocolumn\null\newpage\fi
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \thispagestyle{empty}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
- \hspace*{\hv@tempWidthA}%
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigB}%
- \else
- \refstepcounter{hv@tempCNTtabB}% before caption
- \fi
- \expandafter\label\expandafter{\hv@label-2}%
- \newpage\if@twocolumn\null\newpage\fi
- \begin{\hv@floatType}[!b]
- \ifhv@separatorLine\drawSepLine\fi
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \end{\hv@floatType}%
- }%
-}
-
-\def\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{%
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: start} %
- \afterpage{%
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage start} %
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip
- \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
- \thispagestyle{empty}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigA}%
- \else
- \refstepcounter{hv@tempCNTtabA}% before caption
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label}\fi
- \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
- \newpage\if@twocolumn\null\newpage\fi
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: insert newpage} %
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \thispagestyle{empty}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
- \hspace*{\hv@tempWidthA}%
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigB}%
- \else
- \refstepcounter{hv@tempCNTtabB}% before caption
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-2}\fi
- \newpage\if@twocolumn\null\newpage\fi
- \begin{\hv@floatType*}[!b]
- \hv@twoColumnCaptiontrue
- \ifhv@separatorLine\drawSepLine\fi
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \end{\hv@floatType*}%
- }%
- \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage done} %
-}
-
-\def\do@hvFloat@doubleFULLPAGE@CaptionOther#1{%
- \afterpage{%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
- \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \thispagestyle{empty}%
- \hfuzz=\maxdimen
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \clipbox*{0 \depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigA}%
- \else
- \refstepcounter{hv@tempCNTtabA}% before caption
- \fi
- \label{\hv@label}%
- \afterpage{%
- \if@twocolumn\newpage\if@firstcolumn\else\null\newpage\fi\fi
- \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \thispagestyle{empty}%
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox
- \hspace*{\hv@tempWidthA}%
- \clipbox*{\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}%
- \ifx\hv@floatType\hv@figure
- \refstepcounter{hv@tempCNTfigB}%
- \else
- \refstepcounter{hv@tempCNTtabB}% before caption
- \fi
- \expandafter\label\expandafter{\hv@label-2}%
- \savebox\hvCaptionBox{\parbox{0.9\ht\hvObjectBox}{\captionof*{\hv@floatType}{\hv@longCap}}}%
- \ifnum#1 > 0\relax % rotation with 90°
-% \setlength\hv@tempWidthB{\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection}%
- \ifdim\hv@tempWidthB < 2\paperwidth
- \rotatebox[origin=lb]{90}{\makebox[\paperheight][c]{\parbox{0.8\ht\hvObjectBox}{%
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- }}}% rotatebox
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \else% ifdim: no space left on page
- \put(-2\ht\hvCaptionBox,0.5\ht\hvObjectBox){\makebox(0,0){\rotatebox{90}{\minipage{\textwidth}\centering
- \parbox{0.8\textwidth}{%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- }%
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \endminipage}}}%
- \fi
- \else% ifnum, caption not rotated, under or over the right page
- \hv@tempWidthA=\the\dimexpr\paperheight-\ht\hvObjectBox\relax
- \ifdim\hv@tempWidthA > \ht\hvCaptionBox
- \else
- \put(\the\dimexpr1.5\paperwidth-\wd\hvObjectBox-\hvSet@bindCorrection,\the\dimexpr\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip){\makebox[0pt][c]{\parbox{\textwidth}{%%
-% \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifhv@onlyText
- \hv@longCap
- \else
- \ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap}%
- \else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
- \fi
- \fi
- }}}%
- \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
- \fi
- \fi% end \ifnum#1>0
- \newpage\if@twocolumn\null\newpage\fi
- }%
- }%
-}
-
-
-\def\setBottomCaption{%
- \ifhv@twoColumnCaption
- \begin{\hv@floatType*}[!b]%
- \else
- \begin{\hv@floatType}[!b]%
- \fi
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifhv@separatorLine\drawSepLine\fi
- \par
- \usebox\hvCaptionBox
- \ifhv@twoColumnCaption
- \end{\hv@floatType*}%
- \else
- \end{\hv@floatType}%
- \fi
-}
-
-\def\setPageObject{%
- \hvfloat@typeout{>>>> setPageObject/start environment ...}%
- \afterpage{\checkoddpage}%
- \ifhv@star
- \begin{\hv@floatType*}[p]%
- \else
- \begin{\hv@floatType}[p]%
- \fi
- \hv@tempcnt=\@floatpenalty% suppress "float too big" message
- \hfuzz=\maxdimen
- \expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \ifhv@FULLPAGE
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE}%
- \@floatpenalty=\z@% no message that float too large
- \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-0.5\baselineskip%
- \if@twoside
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside}%
- \ifoddpage
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/oddpage (\thepage)}%
- \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
- \else
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/evenpage (\thepage)}%
- \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
- \fi
- \else
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE/oneside}%
- \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
- \fi
- \hvfloat@typeout{>>>> setPageObject/FULLPAGE/set pagestyle empty}%
- \AtBeginShipoutNext{\thispagestyle{empty}}% to prevent heading/footer
-% \afterpage{\AddToHookNext{shipout/after}{\thispagestyle{empty}}}%
- \usebox\hvObjectBox
- \else
- \hvfloat@typeout{>>>> setPageObject/NO FULLPAGE}%
- \usebox\hvObjectBox
- \fi
- \hvfloat@typeout{>>>> setPageObject/stop environment}%
- \ifhv@star
- \end{\hv@floatType*}%
- \else
- \end{\hv@floatType}%
- \fi
- \@floatpenalty=\hv@tempcnt% restore
-}
+\input{hvfloat-0.inc}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/hvlogos/Changes b/macros/latex/contrib/hvlogos/Changes
index 3e81878f5a..2d194ea0f6 100644
--- a/macros/latex/contrib/hvlogos/Changes
+++ b/macros/latex/contrib/hvlogos/Changes
@@ -1,4 +1,5 @@
hvlogos.sty:
+0.10 2023-10-16 - changed \MetaPost to \MP
0.09 2022-05-06 - changed almost all \def to \providecommand
0.08 2022-04-25 - added \mkII, \mkIV
0.07 2022-02-28 - fix for \dante and \eV
diff --git a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
index c279a280b2..82a77a0d48 100644
--- a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
+++ b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
index bf2e1a54ee..7243ea6db9 100644
--- a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
+++ b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
@@ -161,8 +161,6 @@ want to change only the 2nd, 3rd or 4th.
-
-
%\NewDocumentCommand\hvLaTeXTeX{ O{-0.1em} O{-0.25em} O{-0.15em} O{-0.1em} }
% {\def\LaTeXTeX{(\kern#1\hologo{La}[#2]\kern#3)\kern#4\hologo{TeX}}}
diff --git a/macros/latex/contrib/hvlogos/latex/hvlogos.sty b/macros/latex/contrib/hvlogos/latex/hvlogos.sty
index 6fab62f878..192d438f30 100644
--- a/macros/latex/contrib/hvlogos/latex/hvlogos.sty
+++ b/macros/latex/contrib/hvlogos/latex/hvlogos.sty
@@ -2,7 +2,7 @@
%%
%% This is file `hvlogos.sty',
%%
-%% Copyright (C) 2021,22 Herbert Voss
+%% Copyright (C) 2021,22,23 Herbert Voss
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -10,7 +10,7 @@
%
%
% -------------------------------------
-\ProvidesPackage{hvlogos}[2022/05/06 v. 0.09 Logos (hv)]
+\ProvidesPackage{hvlogos}[2023/10/16 v. 0.10 Logos (hv)]
%
\newif\if@dtk@newengine \@dtk@newenginetrue
%
@@ -149,7 +149,7 @@
\providecommand\MetaFun{\textffm{METAFUN}}
\let\MFun\MetaFun
\providecommand\METAPOST{\hologo{METAPOST}}
-\providecommand\MetaPost{\hologo{MetaPost}}
+\let\MetaPost\METAPOST
\providecommand\mkII{\textsf{mkII}}
\let\mkii\mkII
\providecommand\mkIV{\textsf{mkIV}}
diff --git a/macros/latex/contrib/stex/Makefile b/macros/latex/contrib/stex/Makefile
index 43942d6051..d12908d2d4 100644
--- a/macros/latex/contrib/stex/Makefile
+++ b/macros/latex/contrib/stex/Makefile
@@ -4,5 +4,3 @@ MAKEDIRS = source doc
all package doc:
@for d in $(MAKEDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) $@) || exit $$?; done
- ls
- pdflatex test.en.tex
diff --git a/macros/latex/contrib/stex/doc/packages/stex-problem.tex b/macros/latex/contrib/stex/doc/packages/stex-problem.tex
index 81315415a4..75032724f5 100644
--- a/macros/latex/contrib/stex/doc/packages/stex-problem.tex
+++ b/macros/latex/contrib/stex/doc/packages/stex-problem.tex
@@ -1,10 +1,8 @@
\begin{sfragment}{Introduction}
- The \pkg{problem} package supplies an infrastructure that allows specify problem. Problems
-are text fragments that come with auxiliary functions: hints, notes, and
-solutions\footnote{for the moment multiple choice problems are not supported, but may
- well be in a future version}. Furthermore, we can specify how long the solution to a
-given problem is estimated to take and how many points will be awarded for a perfect
-solution.
+ The \pkg{problem} package supplies an infrastructure that allows specify problem.
+ Problems are text fragments that come with auxiliary functions: hints, notes, and
+ solutions. Furthermore, we can specify how long the solution to a given problem is
+ estimated to take and how many points will be awarded for a perfect solution.
Finally, the \pkg{problem} package facilitates the management of problems in small files,
so that problems can be re-used in multiple environment.
@@ -48,7 +46,7 @@ so that problems can be re-used in multiple environment.
\begin{exnote}
Justify your answer
\end{exnote}
-\begin{solution}[for=elefants]
+\begin{solution}
Four, two in the front seats, and two in the back.
\begin{gnote}
if they do not give the justification deduct 5 pts
diff --git a/macros/latex/contrib/stex/doc/stex-doc.pdf b/macros/latex/contrib/stex/doc/stex-doc.pdf
index a978cbb2e7..1a4a1e5a14 100644
--- a/macros/latex/contrib/stex/doc/stex-doc.pdf
+++ b/macros/latex/contrib/stex/doc/stex-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/stex/doc/stex-doc.tex b/macros/latex/contrib/stex/doc/stex-doc.tex
index 6dbf566c2c..ff82e9457f 100644
--- a/macros/latex/contrib/stex/doc/stex-doc.tex
+++ b/macros/latex/contrib/stex/doc/stex-doc.tex
@@ -40,6 +40,7 @@
\end{sfragment}
\begin{sfragment}{User Manual}
+ \let\RequirePackage\documentclass
\inputref[sTeX/Documentation]{manual}
\begin{sfragment}{Additional Packages}
diff --git a/macros/latex/contrib/stex/doc/stex-docheader.tex b/macros/latex/contrib/stex/doc/stex-docheader.tex
index b8b6313be8..34d3c93eb0 100644
--- a/macros/latex/contrib/stex/doc/stex-docheader.tex
+++ b/macros/latex/contrib/stex/doc/stex-docheader.tex
@@ -5,7 +5,7 @@
\usepackage[hyperref=auto,style=alphabetic]{biblatex}
%\usepackage[mathhub=\stexdocpath/mh,usedeps]{stex}
\usepackage[lang={en,de}]{stex}
-
+\usepackage[show]{ed}
\usepackage{rustex}
\usepackage{stex-highlighting,stexthm}
@@ -36,7 +36,7 @@
\newif\ifhadtitle\hadtitlefalse
-\def\stexversion{3.3.0}
+\def\stexversion{3.4.0}
\def\changedate{\today}
\def\stextoptitle#1#2{\title{#1\thanks{Version {\stexversion} (last revised {\changedate})} }\def\thispkg{#2}}
@@ -402,4 +402,5 @@
}
-\AtBeginDocument{\catcode`_=8} \ No newline at end of file
+\AtBeginDocument{\catcode`_=8}
+
diff --git a/macros/latex/contrib/stex/doc/stex-manual.pdf b/macros/latex/contrib/stex/doc/stex-manual.pdf
index dcc5371fad..f866203912 100644
--- a/macros/latex/contrib/stex/doc/stex-manual.pdf
+++ b/macros/latex/contrib/stex/doc/stex-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/stex/doc/stex-tutorial.pdf b/macros/latex/contrib/stex/doc/stex-tutorial.pdf
index 1c380fadde..c7740a4d90 100644
--- a/macros/latex/contrib/stex/doc/stex-tutorial.pdf
+++ b/macros/latex/contrib/stex/doc/stex-tutorial.pdf
Binary files differ
diff --git a/macros/latex/contrib/stex/source/hwexam.dtx b/macros/latex/contrib/stex/source/hwexam.dtx
index 003d8a3d87..783c8c2382 100644
--- a/macros/latex/contrib/stex/source/hwexam.dtx
+++ b/macros/latex/contrib/stex/source/hwexam.dtx
@@ -41,7 +41,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{hwexam}{2023/03/19}{3.3.0}{homework assignments and exams}
+\ProvidesExplPackage{hwexam}{2023/10/13}{3.4.0}{homework assignments and exams}
\RequirePackage{l3keys2e}
\keys_define:nn {hwexam / pkg}{
@@ -63,7 +63,7 @@
\ExplSyntaxOn\makeatletter
\input{hwexam-english.ldf}
\ltx@ifpackageloaded{babel}{
- \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_set:Nx \l_tmpa_clist {\exp_args:No \tl_to_str:n \bbl@loaded}
\exp_args:NNx \clist_if_in:NnT \l_tmpa_clist {\detokenize{ngerman}}{
\input{hwexam-ngerman.ldf}
}
@@ -130,10 +130,10 @@
}\par\smallskip
\textbf{
\tl_if_empty:NF \l_stex_key_given_tl {
- \hwexam@kw@given:~\l_stex_key_given_tl\quad
+ \hwexam@kw@given :~\l_stex_key_given_tl\quad
}
\tl_if_empty:NF \l_stex_key_due_tl {
- \hwexam@kw@due:~\l_stex_key_due_tl\quad
+ \hwexam@kw@due :~\l_stex_key_due_tl\quad
}
}
\end{center}
@@ -246,26 +246,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\testemptypage}
-% \begin{macrocode}
-\newcommand\testemptypage[1][]{%
- \bool_if:NT \c__problems_test_bool {\ \vfill\begin{center}\hwexam@kw@testemptypage\end{center}\eject}
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\testspace}
-% \begin{macrocode}
-\newcommand\testspace[1]{\bool_if:NT \c__problems_test_bool {\vspace*{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\testnewpage}
-% \begin{macrocode}
-\newcommand\testnewpage{\bool_if:NT \c__problems_test_bool {\newpage}}
-% \end{macrocode}
-% \end{macro}
-%
%
% \begin{macrocode}
%</package>
diff --git a/macros/latex/contrib/stex/source/notesslides.dtx b/macros/latex/contrib/stex/source/notesslides.dtx
index c2f9f594c9..31f012240b 100644
--- a/macros/latex/contrib/stex/source/notesslides.dtx
+++ b/macros/latex/contrib/stex/source/notesslides.dtx
@@ -46,7 +46,7 @@
% \begin{macrocode}
%<*cls>
%<@@=notesslides>
-\ProvidesExplClass{notesslides}{2023/03/19}{3.3.0}{notesslides Class}
+\ProvidesExplClass{notesslides}{2023/10/13}{3.4.0}{notesslides Class}
\RequirePackage{l3keys2e}
\str_const:Nn \c_@@_class_str {article}
@@ -93,7 +93,7 @@
% now we do the same for the |notesslides| package.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{notesslides}{2023/03/19}{3.3.0}{notesslides Package}
+\ProvidesExplPackage{notesslides}{2023/10/13}{3.4.0}{notesslides Package}
\RequirePackage{l3keys2e}
\keys_define:nn{notesslides / pkg}{
diff --git a/macros/latex/contrib/stex/source/problem.dtx b/macros/latex/contrib/stex/source/problem.dtx
index c62a9242ba..9d503e0d52 100644
--- a/macros/latex/contrib/stex/source/problem.dtx
+++ b/macros/latex/contrib/stex/source/problem.dtx
@@ -19,7 +19,7 @@
%
% \begin{stexmanual}
% \begin{sfragment}{Problem Manual}
- % \input{\stexdocpath/packages/stex-problem}
+% \input{\stexdocpath/packages/stex-problem}
% \end{sfragment}
% \end{stexmanual}
%
@@ -42,7 +42,7 @@
% \begin{macrocode}
%<*package>
%<@@=problems>
-\ProvidesExplPackage{problem}{2023/03/19}{3.3.0}{Semantic Markup for Problems}
+\ProvidesExplPackage{problem}{2023/10/13}{3.4.0}{Semantic Markup for Problems}
\RequirePackage{l3keys2e}
\keys_define:nn { problem / pkg }{
@@ -74,6 +74,13 @@
}{
\solutionsfalse
}
+\newif\ifintest
+\bool_if:NTF \c_@@_test_bool {
+ \intesttrue
+}{
+ \intestfalse
+}
+
\RequirePackage{stex}
% \end{macrocode}
%
@@ -85,7 +92,7 @@
\ExplSyntaxOn\makeatletter
\input{problem-english.ldf}
\ltx@ifpackageloaded{babel}{
- \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_set:Nx \l_tmpa_clist {\exp_args:No \tl_to_str:n \bbl@loaded}
\exp_args:NNx \clist_if_in:NnT \l_tmpa_clist {\detokenize{ngerman}}{
\input{problem-ngerman.ldf}
}
@@ -110,16 +117,20 @@
% internal macros.
%
% \begin{macrocode}
+\bool_new:N \l_stex_key_autogradable_bool
\stex_keys_define:nnnn{ problem }{
\tl_set:Nn \l_stex_key_pts_tl 0
\tl_set:Nn \l_stex_key_min_tl 0
\str_clear:N \l_stex_key_name_str
\str_clear:N \l_stex_key_mhrepos_str
+ \bool_set_false:N \l_stex_key_autogradable_bool
}{
pts .tl_set:N = \l_stex_key_pts_tl,
min .tl_set:N = \l_stex_key_min_tl,
name .str_set:N = \l_stex_key_name_str,
- archive .str_set:N = \l_stex_key_mhrepos_str,
+ autogradable .bool_set:N = \l_stex_key_autogradable_bool,
+ archive .code:n = {},
+ %archive .str_set:N = \l_stex_key_mhrepos_str,
creators .code:n = {}
%imports .tl_set:N = \l_@@_prob_imports_tl,
%refnum .int_set:N = \l_@@_prob_refnum_int,
@@ -142,9 +153,26 @@
%
% \begin{environment}{sproblem}
% \begin{macrocode}
+\cs_new:Nn \_@@_activate_macros: {
+ \stex_reactivate_macro:N \solution
+ \stex_reactivate_macro:N \mcb
+ \stex_reactivate_macro:N \scb
+ \stex_reactivate_macro:N \fillinsol
+ \stex_reactivate_macro:N \hint
+ \stex_reactivate_macro:N \exnote
+ \stex_reactivate_macro:N \gnote
+}
+
\newcounter{pts}
\newcounter{min}
+\bool_new:N \l_@@_in_problem_bool
+\bool_new:N \l_@@_has_pts_bool
+\bool_new:N \l_@@_has_min_bool
+\bool_set_false:N \l_@@_in_problem_bool
\stex_new_stylable_env:nnnnnnn {problem} {O{}}{
+ \bool_if:NT \l_@@_in_problem_bool {
+ \msg_error:nn{stex}{error/nestedproblem}
+ }
\cs_if_exist:NTF \l_problem_inputproblem_keys_tl {
\tl_put_left:Nn \l_problem_inputproblem_keys_tl {#1,}
\exp_args:Nno \stex_keys_set:nn{problem}{
@@ -154,60 +182,65 @@
\stex_keys_set:nn{problem}{#1}
}
\refstepcounter{sproblem}
- \str_if_empty:NT \l_stex_key_name_str {
- \stex_file_split_off_lang:NN \l_@@_path_seq \g_stex_current_file
- \seq_get_right:NN \l_@@_path_seq \l_stex_key_name_str
- }
-
- \exp_args:No \stex_module_setup:n \l_stex_key_name_str
\stex_if_do_html:T {
+ \str_if_empty:NT \l_stex_key_name_str {
+ \stex_file_split_off_lang:NN \l_@@_path_seq \g_stex_current_file
+ \seq_get_right:NN \l_@@_path_seq \l_stex_key_name_str
+ }
\exp_args:Nne \begin{stex_annotate_env} {
- shtml:problem={\l_stex_current_module_str},
+ shtml:problem={\l_stex_key_name_str},
shtml:language={ \l_stex_current_language_str},
- shtml:signature={\l_stex_key_sig_str}
- \tl_if_empty:NF \l_stex_metatheory_uri {,
- shtml:metatheory={\stex_uri_use:N \l_stex_metatheory_uri}
- }
+ shtml:autogradable={\bool_if:NTF \l_stex_key_autogradable_bool {true}{false}}
}
- \stex_annotate_invisible:n{}
\tl_if_empty:NF \l_stex_key_title_tl {
\exp_args:No \stexdoctitle \l_stex_key_title_tl
}
+ \stex_annotate_invisible:nn{
+ shtml:problempoints={\l_stex_key_pts_tl}
+ }{ \l_stex_key_pts_tl }
}
- \stex_if_smsmode:F {
- \str_set_eq:NN \thismoduleuri \l_stex_current_module_str
- \tl_set_eq:NN \thismodulename \l_stex_key_name_str
- \tl_set_eq:NN \thistitle \l_stex_key_title_tl
- \stex_style_apply:
- \addtocounter{pts}{\l_stex_key_pts_tl}
- \addtocounter{min}{\l_stex_key_min_tl}
- \_stex_do_id:
- \_@@_record_problem:
- }
- \stex_reactivate_macro:N \solution
- \stex_reactivate_macro:N \mcb
- \stex_reactivate_macro:N \fillinsol
- \stex_smsmode_do:
+
+ \tl_set_eq:NN \thistitle \l_stex_key_title_tl
+
+ \bool_set_true:N \l_@@_in_problem_bool
+ \tl_set_eq:NN \l_@@_pts_tl \l_stex_key_pts_tl
+ \tl_set_eq:NN \l_@@_min_tl \l_stex_key_min_tl
+ \tl_if_eq:NnTF \l_@@_pts_tl {0}
+ {\bool_set_false:N \l_@@_has_pts_bool}
+ {\bool_set_true:N \l_@@_has_pts_bool}
+ \tl_if_eq:NnTF \l_@@_min_tl {0}
+ {\bool_set_false:N \l_@@_has_min_bool}
+ {\bool_set_true:N \l_@@_has_min_bool}
+ \int_gzero:N \g_@@_subproblem_int
+
+ \stex_style_apply:
+ \_stex_do_id:
+ \_@@_activate_macros:
}{
- \stex_close_module:
- \stex_if_smsmode:F \stex_style_apply:
+ \addtocounter{pts}{\l_@@_pts_tl}
+ \addtocounter{min}{\l_@@_min_tl}
+ \_@@_record_problem:
+ \stex_style_apply:
\stex_if_do_html:T{ \end{stex_annotate_env} }
}{
\par\noindent\problemheader
\bool_if:NT \c_@@_pts_bool {
- \marginpar{\l_stex_key_pts_tl{}~\problem@kw@points\smallskip}
+ \tl_if_eq:NnF \l_@@_pts_tl {0}{
+ \marginpar{\l_@@_pts_tl{}~\problem@kw@pts\smallskip}
+ }
}
\bool_if:NT \c_@@_min_bool {
- \marginpar{\l_stex_key_min_tl{}~\problem@kw@minutes\smallskip}
+ \tl_if_eq:NnF \l_@@_min_tl {0} {
+ \marginpar{\l_@@_min_tl{}~\problem@kw@minutes\smallskip}
+ }
}
- \\
+ \par
\stex_ignore_spaces_and_pars:
}{
\par\bigskip
% \bool_if:NT \c_@@_test_bool \pagebreak
}{s}
-\stex_sms_allow_env:n{sproblem}
\tl_set:Nn \problemheader {
\textbf{\sproblemautorefname{~}\thesproblem
@@ -219,7 +252,7 @@
\cs_new_protected:Nn \_@@_record_problem: {
\exp_args:NNe \iow_now:Nn \@auxout {
- \problem@restore {\thesproblem}{\l_stex_key_pts_tl}{\l_stex_key_min_tl}
+ \problem@restore {\thesproblem}{\l_@@_pts_tl}{\l_@@_min_tl}
}
}
@@ -227,6 +260,73 @@
% \end{macrocode}
% \end{environment}
%
+% \begin{environment}{subproblem}
+% \begin{macrocode}
+\int_new:N \g_@@_subproblem_int
+
+\stex_new_stylable_env:nnnnnnn {subproblem} {O{}}{
+ \stex_keys_set:nn{problem}{#1}
+ \bool_if:NF \l_@@_in_problem_bool{
+ \ifstexhtml\else
+ \par{\bfseries WARNING~subproblem~to~be~used~in~some~problem}\par
+ \fi
+ \_@@_activate_macros:
+ \bool_set_true:N \l_@@_in_problem_bool
+ \tl_set:Nn \l_@@_pts_tl{0}
+ \tl_set:Nn \l_@@_min_tl{0}
+ }
+ \str_if_empty:NT \l_stex_key_name_str {
+ \stex_file_split_off_lang:NN \l_@@_path_seq \g_stex_current_file
+ \seq_get_right:NN \l_@@_path_seq \l_stex_key_name_str
+ }
+ \stex_if_do_html:T {
+ \str_if_empty:NT \l_stex_key_name_str {
+ \stex_file_split_off_lang:NN \l_@@_path_seq \g_stex_current_file
+ \seq_get_right:NN \l_@@_path_seq \l_stex_key_name_str
+ }
+ \exp_args:Nne \begin{stex_annotate_env} {
+ shtml:subproblem={\l_stex_key_name_str},
+ shtml:language={ \l_stex_current_language_str},
+ shtml:autogradable={\bool_if:NTF \l_stex_key_autogradable_bool {true}{false}}
+ }
+ \stex_annotate_invisible:n{}
+ \tl_if_empty:NF \l_stex_key_title_tl {
+ \exp_args:No \stexdoctitle \l_stex_key_title_tl
+ }
+ }
+ \int_gincr:N \g_@@_subproblem_int
+ \bool_if:NF \l_@@_has_pts_bool {
+ \tl_gset:Nx \l_@@_pts_tl {\int_eval:n {\l_@@_pts_tl + \l_stex_key_pts_tl}}
+ }
+ \bool_if:NF \l_@@_has_min_bool {
+ \tl_gset:Nx \l_@@_min_tl {\int_eval:n {\l_@@_min_tl + \l_stex_key_min_tl}}
+ }
+ \stex_if_smsmode:F \stex_style_apply:
+}{
+ \stex_if_smsmode:F \stex_style_apply:
+ \stex_if_do_html:T{ \end{stex_annotate_env} }
+}{
+ \begin{list}{}{
+ \setlength\topsep{0pt}
+ \setlength\parsep{0pt}
+ \setlength\rightmargin{0pt}
+ }\item[\int_use:N \g_@@_subproblem_int .]
+ \bool_if:NT \c_@@_pts_bool {
+ \bool_if:NF \l_@@_has_pts_bool {
+ \marginpar{\smallskip\l_stex_key_pts_tl{}~\problem@kw@pts}
+ }
+ }
+ \bool_if:NT \c_@@_min_bool {
+ \bool_if:NF \l_@@_has_min_bool{
+ \marginpar{\smallskip\l_stex_key_min_tl{}~\problem@kw@minutes}
+ }
+ }
+}{
+ \end{list}
+}{}
+% \end{macrocode}
+% \end{environment}
+%
% \begin{macro}{\includeproblem}
% \begin{macrocode}
\stex_keys_define:nnnn{ includeproblem }{
@@ -250,10 +350,17 @@
% \begin{environment}{solution}
% \begin{macrocode}
\int_new:N \g_problem_id_counter
+\dim_new:N \l_stex_key_testspace_dim
+\stex_keys_define:nnnn{ solution }{
+ \str_clear:N \l_stex_key_answerclass_str
+ \dim_zero:N \l_stex_key_testspace_dim
+}{
+ testspace .dim_set:N = \l_stex_key_testspace_dim,
+ answerclass .str_set:N = \l_stex_key_answerclass_str
+}{id,title,style}
\cs_new_protected:Nn \_@@_solution_start:n {
- \str_set:Nn \l_stex_key_title_tl {#1}
- \str_set:Nn \l_stex_key_id_str {#1}
+ \stex_keys_set:nn{ solution }{#1}
\str_if_empty:NT \l_stex_key_id_str {
\int_gincr:N \g_problem_id_counter
\str_set:Nx \l_stex_key_id_str {
@@ -262,7 +369,8 @@
}
\stex_if_do_html:T{
\begin{stex_annotate_env}{
- shtml:solution=\l_stex_key_id_str
+ shtml:solution=\l_stex_key_id_str,
+ shtml:answerclass={\l_stex_key_answerclass_str}
}
}
\stex_style_apply:
@@ -275,6 +383,8 @@
\ifsolutions
\_@@_solution_start:n{#1}
\else
+ \stex_keys_set:nn{ solution }{#1}
+ \testspace{\l_stex_key_testspace_dim}
\setbox\l_tmpa_box\vbox\bgroup
\fi
}
@@ -293,12 +403,14 @@
\fi
}
}{
- \par\smallskip\hrule\smallskip
- \noindent\emph{Solution\str_if_empty:NF \l_stex_key_title_tl{
- {~}\l_stex_key_title_tl
+ \par\smallskip\rule[.3em]{\linewidth}{0.4pt}\newline\smallskip
+ \noindent\emph{\problem@kw@solution\tl_if_empty:NF \l_stex_key_title_tl{
+ {~}\l_stex_key_title_tl \str_if_empty:NF \l_stex_key_answerclass_str {
+ (Answer Class: \l_stex_key_answerclass_str)
+ }
} :~}
}{
- \par\smallskip\hrule
+ \par\rule[.3em]{\linewidth}{0.4pt}\newline
}{}
\stex_deactivate_macro:Nn \solution {sproblem~environments}
@@ -318,9 +430,11 @@
%
% \begin{environment}{hint}
% \begin{macrocode}
+
+\stex_keys_define:nnnn{ problemenv }{}{}{id,title,style}
+
\cs_new_protected:Nn \_@@_hint_start:n {
- \str_set:Nn \l_stex_key_title_tl {#1}
- \str_set:Nn \l_stex_key_id_str {#1}
+ \stex_keys_set:nn{ problemenv }{#1}
\str_if_empty:NT \l_stex_key_id_str {
\int_gincr:N \g_problem_id_counter
\str_set:Nx \l_stex_key_id_str {
@@ -360,21 +474,21 @@
}
}
}{
- \par\smallskip\hrule\smallskip
- \noindent\emph{Hint\str_if_empty:NF \l_stex_key_title_tl{
+ \par\smallskip\rule[.3em]{\linewidth}{0.4pt}\newline\smallskip
+ \noindent\emph{\problem@kw@hint\tl_if_empty:NF \l_stex_key_title_tl{
{~}\l_stex_key_title_tl
} :~}
}{
- \par\smallskip\hrule
+ \par\rule[.3em]{\linewidth}{0.4pt}\newline
}{}
+\stex_deactivate_macro:Nn \hint {sproblem~environments}
% \end{macrocode}
% \end{environment}
%
% \begin{environment}{exnote}
% \begin{macrocode}
\cs_new_protected:Nn \_@@_exnote_start:n {
- \str_set:Nn \l_stex_key_title_tl {#1}
- \str_set:Nn \l_stex_key_id_str {#1}
+ \stex_keys_set:nn{ problemenv }{#1}
\str_if_empty:NT \l_stex_key_id_str {
\int_gincr:N \g_problem_id_counter
\str_set:Nx \l_stex_key_id_str {
@@ -414,26 +528,29 @@
}
}
}{
- \par\smallskip\hrule\smallskip
- \noindent\emph{Note\str_if_empty:NF \l_stex_key_title_tl{
+ \par\smallskip\rule[.3em]{\linewidth}{0.4pt}\newline\smallskip
+ \noindent\emph{\problem@kw@note\tl_if_empty:NF \l_stex_key_title_tl{
{~}\l_stex_key_title_tl
} :~}
}{
- \par\smallskip\hrule
+ \par\rule[.3em]{\linewidth}{0.4pt}\newline
}{}
+\stex_deactivate_macro:Nn \exnote {sproblem~environments}
% \end{macrocode}
% \end{environment}
%% \begin{environment}{gnote}
% \begin{macrocode}
+\int_new:N \l_@@_anscls_int
+
\cs_new_protected:Nn \_@@_gnote_start:n {
- \str_set:Nn \l_stex_key_title_tl {#1}
- \str_set:Nn \l_stex_key_id_str {#1}
+ \stex_keys_set:nn{ problemenv }{#1}
\str_if_empty:NT \l_stex_key_id_str {
\int_gincr:N \g_problem_id_counter
\str_set:Nx \l_stex_key_id_str {
GNOTE_\int_use:N \g_problem_id_counter
}
}
+
\stex_if_do_html:T{
\begin{stex_annotate_env}{
shtml:problemgnote=\l_stex_key_id_str
@@ -452,6 +569,7 @@
\setbox\l_tmpa_box\vbox\bgroup
}
}
+ \stex_reactivate_macro:N \anscls
}{
\stex_if_do_html:TF{
\stex_style_apply:
@@ -467,13 +585,59 @@
}
}
}{
- \par\smallskip\hrule\smallskip
- \noindent\emph{Grading\str_if_empty:NF \l_stex_key_title_tl{
+ \par\smallskip\rule[.3em]{\linewidth}{0.4pt}\newline\smallskip
+ \noindent\emph{\problem@kw@grading\str_if_empty:NF \l_stex_key_title_tl{
{~}\l_stex_key_title_tl
} :~}
}{
- \par\smallskip\hrule
+ \par\rule[.3em]{\linewidth}{0.4pt}\newline
}{}
+\stex_deactivate_macro:Nn \gnote {sproblem~environments}
+
+
+\stex_keys_define:nnnn{ anscls }{
+ \str_clear:N \l_stex_key_pts_str
+ \tl_clear:N \l_stex_key_feedback_tl
+}{
+ pts .str_set:N = \l_stex_key_pts_str,
+ feedback .tl_set:N = \l_stex_key_feedback_str,
+ update .code:n = {}
+}{id}
+\newcommand \anscls [2][] {
+ \stex_keys_set:nn{ anscls }{#1}
+ \str_if_empty:NT \l_stex_key_id_str {
+ \int_incr:N \l_@@_anscls_int
+ \str_set:Nx \l_stex_key_id_str {
+ AC\int_use:N \l_@@_anscls_int
+ }
+ }
+ \begin{list}{}{
+ \setlength\topsep{0pt}
+ \setlength\parsep{0pt}
+ \setlength\rightmargin{0pt}
+ }\item[\l_stex_key_id_str]
+ \stex_if_do_html:TF{
+ \stex_annotate:nn{
+ shtml:answerclass={\l_stex_key_id_str}
+ \str_if_empty:NF \l_stex_key_pts_str{
+ ,shtml:answerclass-pts={\l_stex_key_pts_str}
+ }
+ \str_if_empty:NF \l_stex_key_feedback_str{
+ ,shtml:answerclass-feedback={\l_stex_key_feedback_str}
+ }
+ }{
+ #2
+ }
+ }{#2}
+ \str_if_empty:NF \l_stex_key_pts_str {\par
+ ~ \problem@kw@points:~\l_stex_key_pts_str
+ }
+ \str_if_empty:NF \l_stex_key_feedback_str {\par
+ ~ \problem@kw@feedback :~\l_stex_key_feedback_str
+ }
+ \end{list}
+}
+\stex_deactivate_macro:Nn \anscls {gnote~environments}
% \end{macrocode}
% \end{environment}
%
@@ -482,33 +646,55 @@
% \begin{macrocode}
\def\pts#1{
\bool_if:NT \c_@@_pts_bool {
- \marginpar{#1~\problem@kw@points}
- }
+ \stex_annotate:nn{shtml:problempoints={#1}}{\marginpar{#1~\problem@kw@pts}}
+ }\hbox_unpack:N\c_empty_box
}
\def\min#1{
\bool_if:NT \c_@@_min_bool {
- \marginpar{#1~\problem@kw@minutes}
- }
+ \stex_annotate:nn{shtml:problemminutes={}}{\marginpar{#1~\problem@kw@minutes}}
+ }\hbox_unpack:N\c_empty_box
}
% \end{macrocode}
%
% \begin{environment}{mcb}
%
% \begin{macrocode}
-\newenvironment{mcb}{\par
+\stex_new_stylable_env:nnnnnnn{mcb}{O{}}{
+ \stex_keys_set:nn{style}{#1}
\stex_if_do_html:T{
- \begin{stex_annotate_env}{shtml:multiple-choice-block={}}
+ \tl_set:Nn\problem_mcc_box_tl{}
+ \exp_args:Nne \begin{stex_annotate_env}{
+ shtml:multiple-choice-block={}
+ \clist_if_empty:NF \l_stex_key_style_clist {,
+ shtml:styles={\l_stex_key_style_clist}
+ }
+ }
}
\stex_deactivate_macro:Nn \mcb {sproblem~environments}
+ \stex_deactivate_macro:Nn \scb {sproblem~environments}
\stex_deactivate_macro:Nn \solution {sproblem~environments}
+ \stex_deactivate_macro:Nn \hint {sproblem~environments}
+ \stex_deactivate_macro:Nn \exnote {sproblem~environments}
+ \stex_deactivate_macro:Nn \gnote {sproblem~environments}
\stex_reactivate_macro:N \mcc
- \begin{enumerate}
+ \cs_set:Nn \_@@_mccline:n{
+ \begin{list}{}{
+ \setlength\topsep{0pt}
+ \setlength\parsep{0pt}
+ \setlength\rightmargin{0pt}
+ }\item[\problem_mcc_box_tl] ##1 \end{list}
+ }
+ \stex_style_apply:
}{
- \end{enumerate}
+ \stex_style_apply:
\stex_if_do_html:T{
\end{stex_annotate_env}
}
-}
+}{\par}{}{}
+\stexstylemcb[inline]{
+ \cs_set:Nn \_@@_mccline:n{\problem_mcc_box_tl{~} #1}
+}{}
+
\stex_deactivate_macro:Nn \mcb {sproblem~environments}
% \end{macrocode}
%
@@ -529,9 +715,7 @@
\tl_clear:N \l_stex_key_Ftext_tl
}{
feedback .tl_set:N = \l_stex_key_feedback_tl ,
- T .default:n = { false } ,
- T .bool_set:N = \l_stex_key_T_bool ,
- F .default:n = { false } ,
+ T .code:n = {\bool_set_true:N \l_stex_key_T_bool} ,
F .code:n = {\bool_set_false:N \l_stex_key_T_bool} ,
Ttext .tl_set:N = \l_stex_key_Ttext_tl ,
Ftext .tl_set:N = \l_stex_key_Ftext_tl ,
@@ -547,8 +731,8 @@
}
}
\newcommand\mcc[2][]{
- \stex_keys_set:nn{mcc}{#1}\par
- \tl_set:Nn \l_tmpb_tl {~--~
+ \stex_keys_set:nn{mcc}{#1}
+ \tl_set:Nn \l_tmpa_tl{
\bool_if:NTF \l_stex_key_T_bool {
\tl_if_empty:NTF \l_stex_key_Ttext_tl \problem@kw@correct \l_stex_key_Ttext_tl
}{
@@ -558,51 +742,217 @@
\\\emph{\l_stex_key_feedback_tl}
}
}
- \tl_set:Nn \l_tmpa_tl {
- #2
- \stex_if_do_html:TF{
- \stex_annotate:nn{shtml:mcc-solution={}}{\l_tmpb_tl}
+
+ \_@@_mccline:n{
+ \stex_if_do_html:TF{
+ \stex_annotate:nn{shtml:mcc={
+ \bool_if:NTF \l_stex_key_T_bool {true}{false}
+ }}{
+ #2\stex_annotate:nn{shtml:mcc-solution={}}{\l_tmpa_tl}
+ }
}{
- \ifsolutions\l_tmpb_tl\fi
+ #2\ifsolutions\footnote{\l_tmpa_tl}\fi
}
}
- \item[\problem_mcc_box_tl]{}~
- \stex_if_do_html:TF{
- \stex_annotate:nn{shtml:mcc={
- \bool_if:NTF \l_stex_key_T_bool {true}{false}
- }}{\l_tmpa_tl}
- }{\l_tmpa_tl}
}
\stex_deactivate_macro:Nn \mcc {mcb~environments}
% \end{macrocode}
% \end{macro}
+% \end{environment}
+%
+% \begin{environment}{scb}
+%
+% \begin{macrocode}
+
+\tl_set:Nn\problem_scc_box_tl{$\bigcirc$}
+
+\stex_new_stylable_env:nnnnnnn{scb}{O{}}{
+ \stex_keys_set:nn{style}{#1}
+ \stex_if_do_html:T{
+ \exp_args:Nne\begin{stex_annotate_env}{
+ shtml:single-choice-block={}
+ \clist_if_empty:NF \l_stex_key_style_clist {,
+ shtml:styles={\l_stex_key_style_clist}
+ }
+ }
+ \tl_set:Nn\problem_scc_box_tl{}
+ }
+ \stex_deactivate_macro:Nn \mcb {sproblem~environments}
+ \stex_deactivate_macro:Nn \scb {sproblem~environments}
+ \stex_deactivate_macro:Nn \solution {sproblem~environments}
+ \stex_deactivate_macro:Nn \hint {sproblem~environments}
+ \stex_deactivate_macro:Nn \exnote {sproblem~environments}
+ \stex_deactivate_macro:Nn \gnote {sproblem~environments}
+ \stex_reactivate_macro:N \scc
+ \cs_set:Nn \_@@_sccline:n{
+ \begin{list}{}{
+ \setlength\topsep{0pt}
+ \setlength\parsep{0pt}
+ \setlength\rightmargin{0pt}
+ }\item[\problem_scc_box_tl] ##1 \end{list}
+ }
+ \stex_style_apply:
+}{
+ \stex_style_apply:
+ \stex_if_do_html:T{
+ \end{stex_annotate_env}
+ }
+}{\par}{}{}
+\stexstylescb[inline]{
+ \cs_set:Nn \_@@_sccline:n{\problem_scc_box_tl{~} #1}
+}{}
+
+\stex_deactivate_macro:Nn \scb {sproblem~environments}
+% \end{macrocode}
+%
+% \begin{macro}{\scc}
+% \begin{macrocode}
+
+\newcommand\scc[2][]{
+ \stex_keys_set:nn{mcc}{#1}
+ \tl_set:Nn \l_tmpa_tl{
+ \bool_if:NTF \l_stex_key_T_bool {
+ \tl_if_empty:NTF \l_stex_key_Ttext_tl \problem@kw@correct \l_stex_key_Ttext_tl
+ }{
+ \tl_if_empty:NTF \l_stex_key_Ftext_tl \problem@kw@wrong \l_stex_key_Ftext_tl
+ }
+ \tl_if_empty:NF \l_stex_key_feedback_tl {
+ \\\emph{\l_stex_key_feedback_tl}
+ }
+ }
+
+ \_@@_sccline:n{
+ \stex_if_do_html:TF{
+ \stex_annotate:nn{shtml:scc={
+ \bool_if:NTF \l_stex_key_T_bool {true}{false}
+ }}{
+ #2\stex_annotate:nn{shtml:scc-solution={}}{\l_tmpa_tl}
+ }
+ }{
+ #2\ifsolutions\footnote{\l_tmpa_tl}\fi
+ }
+ }
+}
+\stex_deactivate_macro:Nn \scc {scb~environments}
+
+
+\newcommand\yesTnoF{
+ \begin{scb}[style=inline]
+ \scc[T]{yes}~\scc[F]{no}
+ \end{scb}
+}
+\newcommand\yesFnoT{
+ \begin{scb}[style=inline]
+ \scc[F]{yes}~\scc[T]{no}
+ \end{scb}
+}
+\newcommand\trueTfalseF{
+ \begin{scb}[style=inline]
+ \scc[T]{true}~\scc[F]{false}
+ \end{scb}
+}
+\newcommand\trueFfalseT{
+ \begin{scb}[style=inline]
+ \scc[F]{true}~\scc[T]{false}
+ \end{scb}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{environment}
%
% \begin{macro}{\fillinsol}
% \begin{macrocode}
+\stex_keys_define:nnnn{fillinsol}{
+ \tl_clear:N \l_@@_fillin_solution_tl
+ \dim_zero:N \l_stex_key_testspace_dim
+}{
+ testspace .dim_set:N = \l_stex_key_testspace_dim,
+ exact .code:n = {\_@@_parse_fillin_arg:nnnn{exact}#1 },
+ numrange .code:n = {\_@@_parse_fillin_arg:nnnn{numrange}#1 },
+ regex .code:n = {\_@@_parse_fillin_arg:nnnn{regex}#1 }
+}{}
+
+\cs_new:Nn \_@@_parse_fillin_arg:nnnn {
+ \stex_if_do_html:TF{
+ \tl_set:Nn \l_tmpa_tl{#3}
+ \tl_set:Nn \l_tmpb_tl{T}
+ \stex_annotate_invisible:nn{
+ shtml:fillin-case={#1},
+ shtml:fillin-case-value={#2},
+ shtml:fillin-case-verdict={
+ \tl_if_eq:NNTF\l_tmpa_tl\l_tmpb_tl{true}{false}
+ },
+ }{#4}
+ }{
+ \tl_put_right:Nn \l_@@_fillin_solution_tl {
+ #1{~} & #2{~} & #3{~} & #4{~} \\
+ }
+ }
+}
+
\newcommand\fillinsol[2][]{
\quad
+ \mode_if_math:TF{
+ \hbox{\_@@_fillinsol:nn{#1}{$#2$}}
+ }{
+ \_@@_fillinsol:nn{#1}{#2}
+ }
+ \quad
+}
+\cs_new_protected:Nn \_@@_fillinsol:nn {
+ \stex_keys_set:nn{fillinsol}{#1}
\stex_if_do_html:TF{
- \stex_annotate:nn{shtml:fillinsol={}}{ \_stex_annotate_force_break:n{#2} }
+ \stex_annotate:nn{shtml:fillinsol={}}{ \_stex_annotate_force_break:n{
+ #2
+ \l_@@_fillin_solution_tl
+ } }
}{
\ifsolutions
\textcolor{red}{\fbox{#2}}
- \else
- \fbox{
- \tl_if_empty:nTF{#1}{
- \phantom{\huge{#2}}
- }{
- \hspace{#1}
+ \tl_if_empty:NF \l_@@_fillin_solution_tl {
+ \footnote{
+ \halign{ ##\hfil & ##\hfil &##\hfil&##\hfil \cr
+ \textbf{type }&\textbf{case }&\textbf{verdict }&\textbf{feedback }\cr
+ \l_@@_fillin_solution_tl
+ }
}
}
+ \else
+ \fbox{\dim_compare:nNnTF\l_stex_key_testspace_dim={0pt}{
+ \phantom{\huge{#2}}
+ }{
+ \hspace{\l_stex_key_testspace_dim}
+ }}
\fi
}
- \quad
}
\stex_deactivate_macro:Nn \fillinsol {sproblem~environments}
% \end{macrocode}
% \end{macro}
%
-% \end{environment}
+%
+% \begin{macro}{\testemptypage}
+% \begin{macrocode}
+\newcommand\testemptypage[1][]{%
+ \bool_if:NT \c_@@_test_bool {\ \vfill\begin{center}\hwexam@kw@testemptypage\end{center}\eject}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\testspace}
+% \begin{macrocode}
+\newcommand\testspace[1]{\bool_if:NT \c_@@_test_bool {\vspace*{#1}}}
+\newcommand\testsmallspace{\testspace{1cm}}
+\newcommand\testmedspace{\testspace{2cm}}
+\newcommand\testbigspace{\testspace{3cm}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\testnewpage}
+% \begin{macrocode}
+\newcommand\testnewpage{\bool_if:NT \c_@@_test_bool {\newpage}}
+% \end{macrocode}
+% \end{macro}
%
%
% \begin{macrocode}
diff --git a/macros/latex/contrib/stex/source/stex.dtx b/macros/latex/contrib/stex/source/stex.dtx
index dcbc4dfe7a..b128f38dd1 100644
--- a/macros/latex/contrib/stex/source/stex.dtx
+++ b/macros/latex/contrib/stex/source/stex.dtx
@@ -36,7 +36,10 @@
%%%%%%%%%%%%% stex.dtx %%%%%%%%%%%%%
\RequirePackage{expl3,l3keys2e}
-\ProvidesExplClass{stex}{2023/03/19}{3.3.0}{sTeX document class}
+\ProvidesExplClass{stex}{2023/10/13}{3.4.0}{sTeX document class}
+\IfFileExists{stex-expl-compat.sty}{
+ \usepackage{stex-expl-compat}
+}{}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{stex}}
\ProcessOptions
@@ -52,11 +55,14 @@
% \begin{macrocode}
%<*package>
\RequirePackage{expl3,l3keys2e,ltxcmds}
-\ProvidesExplPackage{stex}{2023/03/19}{3.3.0}{sTeX package}
+\ProvidesExplPackage{stex}{2023/10/13}{3.4.0}{sTeX package}
+\IfFileExists{stex-expl-compat.sty}{
+ \usepackage{stex-expl-compat}
+}{}
\RequirePackage{stex-logo} % externalized for backwards-compatibility reasons
\RequirePackage{standalone}
-\message{^^J*~This~is~sTeX~version~3.3.0~*^^J}
+\message{^^J*~This~is~sTeX~version~3.4.0~*^^J}
% \end{macrocode}
%
% Package options:
@@ -70,6 +76,7 @@
writesms .bool_set:N = \c_stex_persist_write_mode_bool ,
checkterms .bool_set:N = \c_stex_check_terms_bool ,
image .bool_set:N = \c_tikzinput_image_bool,
+ nofrontmatter .bool_set:N = \c_stex_no_frontmatter_bool,
unknown .code:n = {}
}
\exp_args:NNo \clist_set:Nn \c_stex_debug_clist \c_stex_debug_clist
@@ -185,11 +192,11 @@
}
\exp_args:NNo \clist_if_in:NnTF \c_stex_debug_clist {\tl_to_str:n{all}} {
- \msg_redirect_module:nnn{ stex }{ none }{ term }
+ \msg_redirect_module:nnn{ stex }{ none }{ warning }
\stex_debug:nn{all}{Logging~everything!}
}{
\clist_map_inline:Nn \c_stex_debug_clist {
- \msg_redirect_name:nnn{ stex }{ debug / #1 }{ term }
+ \msg_redirect_name:nnn{ stex }{ debug / #1 }{ warning }
\stex_debug:nn{#1}{Logging~#1}
}
}
@@ -547,8 +554,8 @@
% \begin{macrocode}
\cs_new_protected:Nn \stex_deactivate_macro:Nn {
\tl_set_eq:cN{\tl_to_str:n{#1}~-~orig}#1
- \tl_set:Nn#1{
- \msg_error:nnnn{stex}{error/deactivated-macro}{\detokenize{#1}}{#2}
+ \cs_set_protected:Npn#1{
+ \exp_args:Nnno\msg_error:nnnn{stex}{error/deactivated-macro}{#1}{#2}
}
}
\cs_new_protected:Nn \stex_reactivate_macro:N {
@@ -1915,46 +1922,48 @@
}
\AtBeginDocument{
- \cs_if_exist:NTF\frontmatter{
- \let\_@@_orig_frontmatter\frontmatter
- \let\frontmatter\relax
- }{
- \tl_set:Nn\_@@_orig_frontmatter{
- \clearpage
- %\@mainmatterfalse
- \pagenumbering{roman}
+ \bool_if:NF \c_stex_no_frontmatter_bool {
+ \cs_if_exist:NTF\frontmatter{
+ \let\_@@_orig_frontmatter\frontmatter
+ \let\frontmatter\relax
+ }{
+ \tl_set:Nn\_@@_orig_frontmatter{
+ \clearpage
+ %\@mainmatterfalse
+ \pagenumbering{roman}
+ }
}
- }
- \cs_if_exist:NTF\backmatter{
- \let\_@@_orig_backmatter\backmatter
- \let\backmatter\relax
- }{
- \tl_set:Nn\_@@_orig_backmatter{
- \clearpage
- %\@mainmatterfalse
- \pagenumbering{roman}
+ \cs_if_exist:NTF\backmatter{
+ \let\_@@_orig_backmatter\backmatter
+ \let\backmatter\relax
+ }{
+ \tl_set:Nn\_@@_orig_backmatter{
+ \clearpage
+ %\@mainmatterfalse
+ \pagenumbering{roman}
+ }
}
- }
- \newenvironment{frontmatter}{
- \_@@_orig_frontmatter
- }{
- \cs_if_exist:NTF\mainmatter{
- \mainmatter
+ \newenvironment{frontmatter}{
+ \_@@_orig_frontmatter
}{
- \clearpage
- %\@mainmattertrue
- \pagenumbering{arabic}
+ \cs_if_exist:NTF\mainmatter{
+ \mainmatter
+ }{
+ \clearpage
+ %\@mainmattertrue
+ \pagenumbering{arabic}
+ }
}
- }
- \newenvironment{backmatter}{
- \_@@_orig_backmatter
- }{
- \cs_if_exist:NTF\mainmatter{
- \mainmatter
+ \newenvironment{backmatter}{
+ \_@@_orig_backmatter
}{
- \clearpage
- %\@mainmattertrue
- \pagenumbering{arabic}
+ \cs_if_exist:NTF\mainmatter{
+ \mainmatter
+ }{
+ \clearpage
+ %\@mainmattertrue
+ \pagenumbering{arabic}
+ }
}
}
}
@@ -2320,7 +2329,10 @@
}
\cs_new_protected:Nn \stex_ref_new_sym_target:n {
- \exp_args:Ne \label{\tl_to_str:n{sref@sym@ #1}}
+ \cs_if_exist:NT \hypertarget{
+ \exp_args:Ne \hypertarget{\tl_to_str:n{sref@sym@ #1}}{}
+ \str_gset:cx{\tl_to_str:n{r@sref@sym@ #1}}{\tl_to_str:n{sref@sym@ #1}}
+ }
}
\cs_new_protected:Nn \stex_ref_new_sym_target:nn {
@@ -2342,8 +2354,8 @@
}
\cs_new_protected:Npn \_@@_do_internal_link:nn #1 {
- \cs_if_exist:NTF \hyperref {
- \hyperref[{#1}]
+ \cs_if_exist:NTF \hyperlink {
+ \hyperlink{#1}
}\use:n
}
@@ -2352,7 +2364,7 @@
}
\cs_new_protected:Npn \_@@_sym_aux:nn #1 {
- \cs_if_exist:cTF{r@sref@sym@\tl_to_str:n{#1}}{
+ \cs_if_exist:cTF{\tl_to_str:n{r@sref@sym@#1}}{
\exp_args:Ne \_@@_do_internal_link:nn{\tl_to_str:n{sref@sym@#1}}
}{
\str_if_exist:cTF{g_stex_sref_sym_#1_label}{
@@ -2448,9 +2460,9 @@
}
}{
\IfFileExists{ \stex_file_use:N \c_stex_mathhub_file / #1 / source / #2 }{
- \par\stex_annotate_invisible:nn{shtml:inputref={
+ \ifvmode\noindent\fi\stex_annotate_invisible:nn{shtml:inputref={
\l_tmpa_str / #2
- }}{~}
+ }}{}
}{
\input{ \stex_file_use:N \c_stex_mathhub_file / #1 / source / #2 }
}
@@ -2536,7 +2548,9 @@
\bool_while_do:nn { ! \seq_if_empty_p:N \l_@@_id_seq }{
\str_set:Nx \l_@@_path_str {\stex_file_use:N \l_@@_path_seq / meta-inf / lib / #1.#2}
\IfFileExists{ \l_@@_path_str }{
- \seq_put_right:No \l_@@_libinput_files_seq \l_@@_path_str
+ \exp_args:NNo \seq_if_in:NnF \l_@@_libinput_files_seq \l_@@_path_str {
+ \seq_put_right:No \l_@@_libinput_files_seq \l_@@_path_str
+ }
}{}
\seq_pop_left:NN \l_@@_id_seq \l_@@_path_str
\seq_put_right:No \l_@@_path_seq \l_@@_path_str
@@ -2544,7 +2558,9 @@
\str_set:Nx \l_@@_path_str {\stex_file_use:N \l_@@_path_seq / lib / #1.#2}
\IfFileExists{ \l_@@_path_str }{
- \seq_put_right:No \l_@@_libinput_files_seq \l_@@_path_str
+ \exp_args:NNo \seq_if_in:NnF \l_@@_libinput_files_seq \l_@@_path_str {
+ \seq_put_right:No \l_@@_libinput_files_seq \l_@@_path_str
+ }
}{}
}
@@ -2637,7 +2653,7 @@
%
% \begin{macro}{\libusetikzlibrary}
% \begin{macrocode}
-\cs_new_protected:Nn \_@@_usetikzlibrary:nn {
+\cs_new_protected:Nn \_@@_usetikzlibrary_i:nn {
\pgfkeys@spdef\pgf@temp{#1}
\expandafter\ifx\csname tikz@library@\pgf@temp @loaded\endcsname\relax%
\expandafter\global\expandafter\let\csname tikz@library@\pgf@temp @loaded\endcsname=\pgfutil@empty%
@@ -2653,17 +2669,25 @@
\catcode`\$=\csname tikz@library@#1@dollarcode\endcsname
}
-\cs_new_protected:Npn \libusetikzlibrary #1 {
- \cs_if_exist:NF \usetikzlibrary {
- \msg_error:nnx{stex}{error/notikz}{\tl_to_str:n{\libusetikzlibrary}}
- }
+\cs_new_protected:Nn \_@@_usetikzlibrary:n{
\_@@_up_archive:nn{tikzlibrary#1}{code.tex}
\int_compare:nNnTF {\seq_count:N \l_@@_libinput_files_seq} = 1 {
- \exp_args:Nne \_@@_usetikzlibrary:nn{#1}{ \seq_item:Nn \l_@@_libinput_files_seq 1 }
+ \exp_args:Nne \_@@_usetikzlibrary_i:nn{#1}{ \seq_item:Nn \l_@@_libinput_files_seq 1 }
}{
\stex_fatal_error:nnn{error/nofile}{\libusetikzlibrary}{tikzlibrary#1.code.tex}
}
}
+
+\newcommand \libusetikzlibrary [2][] {
+ \cs_if_exist:NF \usetikzlibrary {
+ \msg_error:nnx{stex}{error/notikz}{\tl_to_str:n{\libusetikzlibrary}}
+ }
+ \tl_if_empty:nTF{#1}{
+ \_@@_usetikzlibrary:n{#2}
+ }{
+ \stex_in_archive:nn{#1}{\_@@_usetikzlibrary:n{#2}}
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -4370,11 +4394,14 @@
\str_clear:N \l_@@_name_str
\str_clear:N \l_@@_newname_str
\tl_clear:N \l_@@_ass_tl
+ \stex_debug:nn{morphisms}{Parsing~#1}
\exp_args:NNe \seq_set_split:Nnn \l_@@_seq {\tl_to_str:n{@}} {#1}
\int_compare:nNnTF {\seq_count:N \l_@@_seq} = 1 {
+ \stex_debug:nn{morphisms}{No~@}
\seq_pop_left:NN \l_@@_seq \l_@@_next_tl
}{
\seq_pop_left:NN \l_@@_seq \l_@@_name_str
+ \stex_debug:nn{morphisms}{Name:~\l_@@_name_str}
\exp_args:NNo \str_set:Nn \l_@@_name_str \l_@@_name_str
\tl_set:Nx \l_@@_next_tl {\seq_use:Nn \l_@@_seq @}
}
@@ -4449,7 +4476,7 @@
}{}
\stex_deactivate_macro:Nn \interpretmod {module~environments}
\stex_every_module:n {
- \stex_reactivate_macro:N \iterpretmod
+ \stex_reactivate_macro:N \interpretmod
}
\stex_sms_allow_escape:N\interpretmod
@@ -4553,12 +4580,14 @@
\tl_clear:N \l_stex_key_type_tl
\tl_clear:N \l_stex_key_def_tl
\tl_clear:N \l_stex_key_return_tl
+ \str_clear:N \l_stex_key_wikidata_str
\clist_clear:N \l_stex_key_argtypes_clist
}{
name .str_set:N = \l_stex_key_name_str ,
return .tl_set:N = \l_stex_key_return_tl ,
argtypes .clist_set:N = \l_stex_key_argtypes_clist ,
+ wikidata .str_set:N = \l_stex_key_wikidata_str ,
type .tl_set:N = \l_stex_key_type_tl ,
def .tl_set:N = \l_stex_key_def_tl ,
@@ -4640,6 +4669,9 @@
\str_if_empty:NF \l_stex_macroname_str {,
shtml:macroname={\l_stex_macroname_str}
}
+ \str_if_empty:NF \l_stex_key_wikidata_str {,
+ shtml:wikidata={\l_stex_key_wikidata_str}
+ }
\str_if_empty:NF \l_stex_key_assoc_str {,
shtml:assoctype={\l_stex_key_assoc_str}
}
@@ -5036,7 +5068,11 @@
intent .str_set:N = \l_stex_key_intent_str ,
argnames .clist_set:N = \l_stex_key_intent_args_clist ,
unknown .code:n = {
- \str_set_eq:NN \l_stex_key_variant_str \l_keys_key_str
+ \str_if_empty:NTF \l_keys_key_str {
+ \str_set:Nx \l_stex_key_variant_str {\l_keys_key_tl}
+ }{
+ \str_set_eq:NN \l_stex_key_variant_str \l_keys_key_str
+ }
}
}{style}
% \end{macrocode}
@@ -5368,10 +5404,21 @@
}
\cs_new_protected:Nn \_stex_notation_set_default:n{
- \stex_module_add_notation:eoeoo{#1}{}
- {\int_use:N \l_stex_get_symbol_arity_int}
- \l_stex_notation_macrocode_cs
- \l_stex_key_op_tl
+ \stex_if_in_module:TF{
+ \stex_module_add_notation:eoeoo{#1}{}
+ {\int_use:N \l_stex_get_symbol_arity_int}
+ \l_stex_notation_macrocode_cs
+ \l_stex_key_op_tl
+ }{
+ \cs_set_eq:cN {l_stex_notation_
+ \l_stex_get_symbol_mod_str?\l_stex_get_symbol_name_str
+ __cs}\l_stex_notation_macrocode_cs
+ \tl_if_empty:NF \l_stex_key_op_tl {
+ \cs_set_eq:cN{l_stex_notation_
+ \l_stex_get_symbol_mod_str?\l_stex_get_symbol_name_str
+ _op__cs}\l_stex_key_op_tl
+ }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -7278,7 +7325,11 @@
}{
this .tl_set:N = \l_stex_current_this_tl ,
unknown .code:n = {
- \str_set_eq:NN \l_@@_name_str \l_keys_key_str
+ \str_if_empty:NTF \l_keys_key_str {
+ \str_set:Nx \l_@@_name_str {\l_keys_key_tl}
+ }{
+ \str_set_eq:NN \l_@@_name_str \l_keys_key_str
+ }
}
}{}
@@ -8304,7 +8355,7 @@
\NewDocumentCommand \premise {O{} m} {
\tl_if_empty:nF {#1} {
\stex_debug:nn{Here:}{Variable~#1}
- \exp_args:NNx\exp_args:Nnx\vardef{v#1}{#1}
+ \exp_args:Nne\use:nn{\vardef}{{v#1}[name=#1]{#1}}
}
\stex_annotate:nn{shtml:premise={#1}}{#2}
}
@@ -8684,7 +8735,7 @@
\stex_keys_set:nn{spfsteps}{##2}
\str_if_empty:NF \l_stex_key_name_str {
\stex_debug:nn{Here:}{Variable~\l_stex_key_name_str}
- \exp_args:NNx\exp_args:Nnx\vardef{v\l_stex_key_name_str}{\l_stex_key_name_str}
+ \exp_args:Nne\use:nn{\vardef}{{v\l_stex_key_name_str}[name=\l_stex_key_name_str]{\l_stex_key_name_str}}
}
\begin{spfstepenv}
@@ -8983,6 +9034,51 @@
% \end{macrocode}
% \end{macro}
%
+% VoLL-KI Annotations
+% \begin{macrocode}
+\newcommand\precondition[2]{
+ \str_clear:N \l_stex_get_symbol_name_str
+ \stex_get_symbol:n{#2}
+ \str_if_empty:NTF \l_stex_get_symbol_name_str{
+ \errmessage{Unknown~symbol~#2}
+ }{
+ \str_case:nnTF {#1}{
+ {remember}{}
+ {understand}{}
+ {analyze}{}
+ {evaluate}{}
+ {apply}{}
+ {create}{}
+ }{
+ \stex_annotate_invisible:nn{
+ shtml:preconditionsymbol={\l_stex_get_symbol_mod_str ? \l_stex_get_symbol_name_str},
+ shtml:preconditiondimension={#1}
+ }{}
+ }{\errmessage{Unknown~cognitive~dimension~#1}}
+ }
+}
+\newcommand\objective[2]{
+ \str_clear:N \l_stex_get_symbol_name_str
+ \stex_get_symbol:n{#2}
+ \str_if_empty:NTF \l_stex_get_symbol_name_str{
+ \errmessage{Unknown~symbol~#2}
+ }{
+ \str_case:nnTF {#1}{
+ {remember}{}
+ {understand}{}
+ {analyze}{}
+ {evaluate}{}
+ {apply}{}
+ {create}{}
+ }{
+ \stex_annotate_invisible:nn{
+ shtml:objectivesymbol={\l_stex_get_symbol_mod_str ? \l_stex_get_symbol_name_str},
+ shtml:objectivedimension={#1}
+ }{}
+ }{\errmessage{Unknown~cognitive~dimension~#1}}
+ }
+}
+% \end{macrocode}
%
% \begin{macrocode}
\seq_if_empty:NT \g_stex_current_file {
diff --git a/macros/latex/contrib/stex/source/tikzinput.dtx b/macros/latex/contrib/stex/source/tikzinput.dtx
index 988d483b12..da4615fbbe 100644
--- a/macros/latex/contrib/stex/source/tikzinput.dtx
+++ b/macros/latex/contrib/stex/source/tikzinput.dtx
@@ -42,7 +42,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{tikzinput}{2023/03/19}{3.3.0}{tikzinput package}
+\ProvidesExplPackage{tikzinput}{2023/10/13}{3.4.0}{tikzinput package}
\RequirePackage{l3keys2e}
\keys_define:nn { tikzinput } {
diff --git a/macros/latex/contrib/stex/tex/etc/hwexam-default.header b/macros/latex/contrib/stex/tex/etc/hwexam-default.header
index d36a97c718..fa70218e14 100644
--- a/macros/latex/contrib/stex/tex/etc/hwexam-default.header
+++ b/macros/latex/contrib/stex/tex/etc/hwexam-default.header
@@ -3,7 +3,7 @@ Matriculation Number:\hspace*{2cm}\strut\\[1ex]
\begin{center}
\Large\textbf{\@title}\\[1ex]
- \large\@date\\[3ex]
+ \large\@date\strut\\[3ex]
\end{center}
\textbf{You have {\hwexamminutes} (sharp) for the test};\\
@@ -22,11 +22,9 @@ You will only need {\hwexam@reqpts} points for a perfect score, i.e.
\vfill
\begin{center}
{
- \Large\em You have ample time, so take it slow and avoid rushing
- to mistakes!\\[2ex]
Different problems test different skills and knowledge, so do not
get stuck on one problem.
}\vfill
\correction@table\\[3ex]
-\end{center} \ No newline at end of file
+\end{center}
diff --git a/macros/latex/contrib/stex/tex/etc/lststex.sty b/macros/latex/contrib/stex/tex/etc/lststex.sty
index 423e0b4a20..7d127fddc5 100644
--- a/macros/latex/contrib/stex/tex/etc/lststex.sty
+++ b/macros/latex/contrib/stex/tex/etc/lststex.sty
@@ -15,6 +15,7 @@
symdef,symdecl,notation,sref},
morekeywords={smodule,sdefinition,sassertion,sparagraph,
inputref,
+ sproblem,hint,exnote,solution,gnote,
sproof,spfstep,spfcases,spfcase,justification,premise}}
\definecolor{backcolor}{gray}{.96}
@@ -71,8 +72,10 @@
classoffset=5,keywordstyle=\color{magenta},morekeywords={
smodule,sdefinition,sassertion,sparagraph,sexample,
sproof,subproof,spfcases,spfcase,spfstep,spfcomment,spfblock,
+ sproblem,subproblem,solution,hint,exnote,mcb,scb,
\\spfidea,\\spfsketch,\\spfcasesketch,\\sproofend,
\\spfjust,\\premise,\\justarg,\\inlinedef,\\inlineex,\\inlineass,
+ \\scc,\\mcc,\\objective,
\\varbind,
copymodule,interpretmodule,mathstructure,sexample,extstructure,
extstructure*,realization
@@ -125,11 +128,21 @@
}
},
unknown .code:n = {
- \tl_if_empty:nTF{#1}{
- \exp_args:NNo \clist_put_right:Nn \l_lststex_pass_on_args_clist \l_keys_key_str
+ \str_if_empty:NTF \l_keys_key_str {
+ \tl_if_empty:nTF{#1}{
+ \exp_args:NNo \clist_put_right:Nn \l_lststex_pass_on_args_clist \l_keys_key_tl
+ }{
+ \exp_args:NNx \clist_put_right:Nn \l_lststex_pass_on_args_clist {
+ \l_keys_key_tl = \exp_not:n{{#1}}
+ }
+ }
}{
- \exp_args:NNx \clist_put_right:Nn \l_lststex_pass_on_args_clist {
- \l_keys_key_str = \exp_not:n{{#1}}
+ \tl_if_empty:nTF{#1}{
+ \exp_args:NNo \clist_put_right:Nn \l_lststex_pass_on_args_clist \l_keys_key_str
+ }{
+ \exp_args:NNx \clist_put_right:Nn \l_lststex_pass_on_args_clist {
+ \l_keys_key_str = \exp_not:n{{#1}}
+ }
}
}
}
diff --git a/macros/latex/contrib/stex/tex/etc/stex-highlighting.sty b/macros/latex/contrib/stex/tex/etc/stex-highlighting.sty
index 0cd04872a1..ec0058d519 100644
--- a/macros/latex/contrib/stex/tex/etc/stex-highlighting.sty
+++ b/macros/latex/contrib/stex/tex/etc/stex-highlighting.sty
@@ -1,5 +1,16 @@
%\RequirePackage{xcolor}
\RequirePackage{pdfcomment}
+\RequirePackage{l3keys2e}
+\ExplSyntaxOn
+
+\keys_define:nn { stexhighlighting / pkg}{
+ boxes .default:n = {true},
+ boxes .bool_set:N = \c_stexhighlighting_boxes_bool,
+}
+
+\ProcessKeysOptions{ stexhighlighting / pkg}
+
+\ExplSyntaxOff
\def\compemph#1{%
\ifcsname textcolor\endcsname
@@ -28,20 +39,40 @@
}
\def\varemph#1{\ifcsname textcolor\endcsname\textcolor{gray}{#1}\else#1\fi}
-\protected\def\compemph@uri#1#2{%
- \pdftooltip{%
- \srefsymuri{#2}{\compemph{#1}}%
- }{%
- URI:~\detokenize{#2}%
- }%
+\ExplSyntaxOn
+
+\bool_if:NTF\c_stexhighlighting_boxes_bool{
+ \protected\def\compemph@uri#1#2{
+ \pdftooltip{
+ \srefsymuri{#2}{\compemph{#1}}
+ }{
+ URI:~\detokenize{#2}
+ }
+ }
+ \protected\def\symrefemph@uri#1#2{
+ \pdftooltip{
+ \srefsymuri{#2}{\symrefemph{#1}}
+ }{
+ URI:~\detokenize{#2}
+ }
+ }
+}{
+ \protected\def\compemph@uri#1#2{
+ \pdftooltip{{\hypersetup{pdfborder={0~0~0}}
+ \srefsymuri{#2}{\compemph{#1}}
+ }}{
+ URI:~\detokenize{#2}
+ }
+ }
+ \protected\def\symrefemph@uri#1#2{
+ \pdftooltip{{\hypersetup{pdfborder={0~0~0}}
+ \srefsymuri{#2}{\symrefemph{#1}}
+ }}{
+ URI:~\detokenize{#2}
+ }
+ }
}
-\protected\def\symrefemph@uri#1#2{%
- \pdftooltip{%
- \srefsymuri{#2}{\symrefemph{#1}}%
- }{%
- URI:~\detokenize{#2}%
- }%
- }
+
\protected\def\defemph@uri#1#2{%
\pdftooltip{%
\defemph{#1}%
@@ -56,3 +87,5 @@
Variable~\detokenize{#2}%
}%
}
+
+\ExplSyntaxOff \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/etc/stex-logo.sty b/macros/latex/contrib/stex/tex/etc/stex-logo.sty
index 1bcb487aba..cc4c6154ac 100644
--- a/macros/latex/contrib/stex/tex/etc/stex-logo.sty
+++ b/macros/latex/contrib/stex/tex/etc/stex-logo.sty
@@ -1,7 +1,7 @@
\RequirePackage{xspace}
\protected\def\stex{%
\@ifundefined{texorpdfstring}{\raisebox{-.5ex}S\kern-.5ex\TeX}{%
- \texorpdfstring{\raisebox{-.5ex}S\kern-.5ex\TeX}{sTeX}\xspace%
- }%
+ \texorpdfstring{\raisebox{-.5ex}S\kern-.5ex\TeX}{sTeX}%
+ }\xspace%
}
-\let\sTeX\stex \ No newline at end of file
+\let\sTeX\stex
diff --git a/macros/latex/contrib/stex/tex/etc/stex.cls.ltxml b/macros/latex/contrib/stex/tex/etc/stex.cls.ltxml
deleted file mode 100644
index 6915d0db92..0000000000
--- a/macros/latex/contrib/stex/tex/etc/stex.cls.ltxml
+++ /dev/null
@@ -1,10 +0,0 @@
-package LaTeXML::Package::Pool;
-use strict;
-use warnings;
-use LaTeXML::Package;
-
-RequirePackage('xparse');
-
-InputDefinitions('stex', type => 'cls', noltxml => 1);
-
-1; \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/etc/stex.sty.ltxml b/macros/latex/contrib/stex/tex/etc/stex.sty.ltxml
deleted file mode 100644
index 44e30b44c5..0000000000
--- a/macros/latex/contrib/stex/tex/etc/stex.sty.ltxml
+++ /dev/null
@@ -1,23 +0,0 @@
-package LaTeXML::Package::Pool;
-use strict;
-use warnings;
-use LaTeXML::Package;
-
-RequirePackage('xparse');
-
-DefPrimitive('\csname stex_kpsewhich:Nn\endcsname Token {}',sub {
- my ($stomach, $target, $value) = @_;
- $value = ToString(Expand($value));
- my $out = ToString(`kpsewhich $value`);
- $out =~ s/^\s+//;
- $out =~ s/\s+$//;
- Note("Here: $value => $out");
- my @ret = Explode($out);
- DefMacroI($target, undef, Tokens(@ret));
-},locked=>1);
-
-\DefMacroI('\stex@backend',undef,Explode("latexml"));
-
-InputDefinitions('stex', type => 'sty', noltxml => 1);
-
-1; \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/etc/stexthm.sty b/macros/latex/contrib/stex/tex/etc/stexthm.sty
index 4b89af5b39..7c37c2678a 100644
--- a/macros/latex/contrib/stex/tex/etc/stexthm.sty
+++ b/macros/latex/contrib/stex/tex/etc/stexthm.sty
@@ -1,4 +1,4 @@
-\ProvidesExplPackage{stexthm}{2023/03/19}{3.3.0}{Default Typesetting for sTeX Statements}
+\ProvidesExplPackage{stexthm}{2023/10/13}{3.4.0}{Default Typesetting for sTeX Statements}
\RequirePackage{stex}
\RequirePackage{amsthm}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-english.ldf b/macros/latex/contrib/stex/tex/ldf/problem-english.ldf
index bd202814e6..137b9cbe9e 100644
--- a/macros/latex/contrib/stex/tex/ldf/problem-english.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/problem-english.ldf
@@ -3,7 +3,9 @@
\tl_set:Nn \problem@kw@hint{Hint}
\tl_set:Nn \problem@kw@note{Note}
\tl_set:Nn \problem@kw@grading{Grading}
-\tl_set:Nn \problem@kw@points{pt}
+\tl_set:Nn \problem@kw@pts{pt}
\tl_set:Nn \problem@kw@minutes{min}
\tl_set:Nn \problem@kw@correct{Correct}
-\tl_set:Nn \problem@kw@wrong{Wrong} \ No newline at end of file
+\tl_set:Nn \problem@kw@wrong{Wrong}
+\tl_set:Nn \problem@kw@feedback{Feedback}
+\tl_set:Nn \problem@kw@points{Points}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf b/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf
index 11fc490c4a..63718739b0 100644
--- a/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf
@@ -12,7 +12,9 @@
\tl_set:Nn \problem@kw@hint{Hint}
\tl_set:Nn \problem@kw@note{Note}
\tl_set:Nn \problem@kw@grading{Grading}
-\tl_set:Nn \problem@kw@points{pt}
+\tl_set:Nn \problem@kw@pts{pt}
\tl_set:Nn \problem@kw@minutes{min}
\tl_set:Nn \problem@kw@correct{Correct}
\tl_set:Nn \problem@kw@wrong{Wrong}
+\tl_set:Nn \problem@kw@schema{Schema}
+\tl_set:Nn \problem@kw@points{Points}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-french.ldf b/macros/latex/contrib/stex/tex/ldf/problem-french.ldf
index bdcae874b2..53004d1f39 100644
--- a/macros/latex/contrib/stex/tex/ldf/problem-french.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/problem-french.ldf
@@ -12,7 +12,9 @@
\tl_set:Nn \problem@kw@hint{Hint}
\tl_set:Nn \problem@kw@note{Note}
\tl_set:Nn \problem@kw@grading{Grading}
-\tl_set:Nn \problem@kw@points{pt}
+\tl_set:Nn \problem@kw@pts{pt}
\tl_set:Nn \problem@kw@minutes{min}
\tl_set:Nn \problem@kw@correct{Correct}
\tl_set:Nn \problem@kw@wrong{Wrong}
+\tl_set:Nn \problem@kw@schema{Schema}
+\tl_set:Nn \problem@kw@points{Points}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf b/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf
index 0747555783..beea10724a 100644
--- a/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf
@@ -11,8 +11,9 @@
\tl_set:Nn \problem@kw@hint{Hinweis}
\tl_set:Nn \problem@kw@note{Bemerkung}
\tl_set:Nn \problem@kw@grading{Bewertung}
-\tl_set:Nn \problem@kw@points{Pkt}
+\tl_set:Nn \problem@kw@pts{Pkt}
\tl_set:Nn \problem@kw@minutes{Min}
\tl_set:Nn \problem@kw@correct{Korrekt}
\tl_set:Nn \problem@kw@wrong{Falsch}
-
+\tl_set:Nn \problem@kw@feedback{Rückmeldung}
+\tl_set:Nn \problem@kw@points{Punkte}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf b/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf
index f0a08c7761..7aa362391c 100644
--- a/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf
@@ -11,7 +11,9 @@
\tl_set:Nn \problem@kw@hint{Подсказка}
\tl_set:Nn \problem@kw@note{Примечание}
\tl_set:Nn \problem@kw@grading{Grading}
-\tl_set:Nn \problem@kw@points{бл}
+\tl_set:Nn \problem@kw@pts{бл}
\tl_set:Nn \problem@kw@minutes{мин}
\tl_set:Nn \problem@kw@correct{Correct}
-\tl_set:Nn \problem@kw@wrong{Wrong} \ No newline at end of file
+\tl_set:Nn \problem@kw@wrong{Wrong}
+\tl_set:Nn \problem@kw@schema{Schema}
+\tl_set:Nn \problem@kw@points{Points}
diff --git a/macros/latex/contrib/stex/tex/ldf/stex-en.ldf b/macros/latex/contrib/stex/tex/ldf/stex-en.ldf
index 1501a92c82..04a11c6208 100644
--- a/macros/latex/contrib/stex/tex/ldf/stex-en.ldf
+++ b/macros/latex/contrib/stex/tex/ldf/stex-en.ldf
@@ -3,7 +3,7 @@
}
\msg_set:nnn{stex}{warning/nomathhub}{
MATHHUB~system~variable~not~found~and~no~
- \tl_to_str:n{\mathhub}-value~set!
+ \tl_to_str:n{\mathhub}-value~set!^^JUsing~HOME/MathHub.
}
\msg_set:nnn{stex}{error/deactivated-macro}{
The~\tl_to_str:n{#1}~command~is~only~allowed~in~#2!
@@ -129,6 +129,9 @@
\msg_set:nnn{stex}{error/nomorphism}{
No~morphism~#1~found~in~domain~of~morphism
}
+\msg_set:nnn{stex}{error/nestedproblem}{
+ Nested~problem;~sproblem~not~allowed~in~another~sproblem
+}
\str_set:Nn \spfsketchenvautorefname {Proof~sketch}
\str_set:Nn \sproofautorefname {Proof}
\str_set:Nn \spfstepautorefname {Proof~step} \ No newline at end of file