summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-12-15 03:01:41 +0000
committerNorbert Preining <norbert@preining.info>2020-12-15 03:01:41 +0000
commit2e0b1124510825b03d99a6bfbf50dc2a8391a635 (patch)
tree6ebb25de75664b553d91d7335dec42590ba22002 /macros/latex
parent5fc9e4626c1b64fd01838f967954fc43a268398e (diff)
CTAN sync 202012150301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/beamer/CHANGELOG.md16
-rw-r--r--macros/latex/contrib/beamer/base/beamer.cls2
-rw-r--r--macros/latex/contrib/beamer/base/beamerarticle.sty2
-rw-r--r--macros/latex/contrib/beamer/base/beamerbaseboxes.sty146
-rw-r--r--macros/latex/contrib/beamer/base/beamerbasecolor.sty2
-rw-r--r--macros/latex/contrib/beamer/base/beamerbasefont.sty2
-rw-r--r--macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty24
-rw-r--r--macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemeinmargin.sty7
-rw-r--r--macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty46
-rw-r--r--macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdfbin148965 -> 323861 bytes
-rw-r--r--macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdfbin353413 -> 531323 bytes
-rw-r--r--macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdfbin316918 -> 425061 bytes
-rw-r--r--macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex2
-rw-r--r--macros/latex/contrib/beamer/doc/beamerug-elements.tex2
-rw-r--r--macros/latex/contrib/beamer/doc/beamerug-globalstructure.tex4
-rw-r--r--macros/latex/contrib/beamer/doc/beamerug-guidelines.tex2
-rw-r--r--macros/latex/contrib/beamer/doc/beameruserguide.pdfbin1629442 -> 1837397 bytes
-rw-r--r--macros/latex/contrib/beamer/doc/beameruserguide.tex2
-rw-r--r--macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-prosper.tex5
-rw-r--r--macros/latex/contrib/beamer/doc/examples/a-conference-talk/beamerexample-conference-talk.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-style.tex2
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.en.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex1
-rw-r--r--macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex1
-rw-r--r--macros/latex/contrib/snotez/README12
-rw-r--r--macros/latex/contrib/snotez/snotez.sty297
-rw-r--r--macros/latex/contrib/snotez/snotez_en.pdfbin457084 -> 446647 bytes
-rw-r--r--macros/latex/contrib/snotez/snotez_en.tex631
34 files changed, 589 insertions, 627 deletions
diff --git a/macros/latex/contrib/beamer/CHANGELOG.md b/macros/latex/contrib/beamer/CHANGELOG.md
index 1dee6206af..0b681d414e 100644
--- a/macros/latex/contrib/beamer/CHANGELOG.md
+++ b/macros/latex/contrib/beamer/CHANGELOG.md
@@ -8,6 +8,19 @@ a major and minor version only.
## [Unreleased]
+## [v3.60]
+
+### Changed
+
+- added translations for author, institute and date indicator of inmargin theme (see #616)
+- re-introducing transparent shadows from v3.51 (see #492)
+
+### Fixed
+
+- Margins in frame title color box (see #614)
+- adding font substitution (see #630)
+- delaying fixes for biblatex styles until the bibliography (see #625)
+
## [v3.59]
### Changed
@@ -102,7 +115,8 @@ a major and minor version only.
- Support for `noxcolor` with `beamerarticle` (see #483)
- Treatment of mixed overlay/alert specifications
-[Unreleased]: https://github.com/josephwright/beamer/compare/v3.59...HEAD
+[Unreleased]: https://github.com/josephwright/beamer/compare/v3.60...HEAD
+[v3.60]: https://github.com/josephwright/beamer/compare/v3.59...v3.60
[v3.59]: https://github.com/josephwright/beamer/compare/v3.58...v3.59
[v3.58]: https://github.com/josephwright/beamer/compare/v3.57...v3.58
[v3.57]: https://github.com/josephwright/beamer/compare/v3.56...v3.57
diff --git a/macros/latex/contrib/beamer/base/beamer.cls b/macros/latex/contrib/beamer/base/beamer.cls
index 376c5d7aa9..c776f7d4d3 100644
--- a/macros/latex/contrib/beamer/base/beamer.cls
+++ b/macros/latex/contrib/beamer/base/beamer.cls
@@ -12,7 +12,7 @@
% See the file doc/licenses/LICENSE for more details.
\ProvidesClass{beamer}
- [2020/07/22 v3.59 A class for typesetting presentations]
+ [2020/11/26 v3.60 A class for typesetting presentations]
% Setup modes and check for article option
% Also loads packages required by both beamer and beamerarticle
diff --git a/macros/latex/contrib/beamer/base/beamerarticle.sty b/macros/latex/contrib/beamer/base/beamerarticle.sty
index 90b6b97afc..8cc1969bc6 100644
--- a/macros/latex/contrib/beamer/base/beamerarticle.sty
+++ b/macros/latex/contrib/beamer/base/beamerarticle.sty
@@ -12,7 +12,7 @@
% See the file doc/licenses/LICENSE for more details.
\ProvidesPackage{beamerarticle}
- [2020/07/22 v3.59 beamer input in article mode]
+ [2020/11/26 v3.60 beamer input in article mode]
% Setup modes and check for article option
% Also loads packages required by both beamer and beamerarticle
diff --git a/macros/latex/contrib/beamer/base/beamerbaseboxes.sty b/macros/latex/contrib/beamer/base/beamerbaseboxes.sty
index ee3ecd9064..566393c88f 100644
--- a/macros/latex/contrib/beamer/base/beamerbaseboxes.sty
+++ b/macros/latex/contrib/beamer/base/beamerbaseboxes.sty
@@ -23,9 +23,9 @@
\newif\ifbmb@shadow
\newbox\bmb@box
\newbox\bmb@colorbox
-\newbox\bmb@boxshadow
-\newbox\bmb@boxshadowball
-\newbox\bmb@boxshadowballlarge
+\newdimen\bmb@boxwidth
+\newdimen\bmb@boxheight
+\newdimen\bmb@prevheight
\newdimen\bmb@temp
\newdimen\bmb@dima
\newdimen\bmb@dimb
@@ -110,11 +110,6 @@
\nointerlineskip%
\vskip-0.5pt%
\fi%
- \ifbmb@shadow%
- \setbox\bmb@boxshadow=\hbox{\pgfuseshading{bmb@shadow}}%
- \setbox\bmb@boxshadowball=\hbox{\pgfuseshading{bmb@shadowball}}%
- \setbox\bmb@boxshadowballlarge=\hbox{\pgfuseshading{bmb@shadowballlarge}}%
- \fi%
\setbox\bmb@colorbox=\hbox{{\pgfpicturetrue\pgfsetcolor{lower.bg}}}%
\setbox\bmb@box=\hbox\bgroup\begin{minipage}[b]{\bmb@width}%
\vskip2pt%
@@ -126,49 +121,66 @@
\def\endbeamerboxesrounded{%
\end{minipage}\egroup%
- \wd\bmb@box=\bmb@width%
\bmb@temp=\dp\bmb@box%
\advance\bmb@temp by.5pt%
\setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
\dp\bmb@box=0pt%
- \bmb@temp=\wd\bmb@box%
+ \bmb@boxwidth=\bmb@width%
+ \bmb@boxheight=\ht\bmb@box%
+ \advance\bmb@boxheight by4bp%
+ \advance\bmb@boxheight by\bmb@prevheight%
+ \ifbmb@shadow%
+ \pgfdeclareradialshading{bmb@shadowball}{\pgfpointorigin}
+ {%
+ color(0bp)=(pgftransparent!50);
+ color(4bp)=(pgftransparent!100)
+ }%
+ \pgfdeclareradialshading{bmb@shadowballlarge}{\pgfpointorigin}
+ {%
+ color(0bp)=(pgftransparent!0);
+ color(8bp)=(pgftransparent!100)
+ }%
+ \pgfdeclarehorizontalshading{bmb@shadowhorz\the\bmb@boxheight}{\bmb@boxheight-6bp}
+ {%
+ color(0bp)=(pgftransparent!0);
+ color(8bp)=(pgftransparent!100)
+ }%
+ \pgfdeclareverticalshading{bmb@shadowvert\the\bmb@boxwidth}{\bmb@boxwidth-4bp}
+ {%
+ color(0bp)=(pgftransparent!100);
+ color(8bp)=(pgftransparent!0)
+ }%
+ \pgfdeclarefading{bmb@shadowmask\the\bmb@boxwidth\the\bmb@boxheight}
+ {%
+ \begin{pgfpicture}
+ \pgftext[at=\pgfpoint{4bp}{4bp}]{\pgfuseshading{bmb@shadowball}}
+ \pgftext[at=\pgfpoint{\bmb@boxwidth}{8bp}]{\pgfuseshading{bmb@shadowballlarge}}
+ \pgftext[at=\pgfpoint{\bmb@boxwidth+4bp}{\bmb@boxheight+2bp}]{\pgfuseshading{bmb@shadowball}}
+ \pgftext[left, at=\pgfpoint{4bp}{4bp}]{\pgfuseshading{bmb@shadowvert\the\bmb@boxwidth}}
+ \pgftext[base, at=\pgfpoint{\bmb@boxwidth+4bp}{8bp}]{\pgfuseshading{bmb@shadowhorz\the\bmb@boxheight}}
+ %
+ % clipping is needed because shadow is typeset on top of box
+ \begin{pgfscope}
+ \pgfsetcolor{black}
+ \pgfpathrectangle{\pgfpoint{4bp}{8bp}}{\pgfpoint{\bmb@boxwidth-0.2bp}{\bmb@boxheight-2bp}}
+ \pgfusepath{fill}
+ \end{pgfscope}
+ \end{pgfpicture}
+ }%
+ \fi%
+ \bmb@temp=\bmb@width%
\bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
\bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
\hbox{%
\begin{pgfpicture}{0bp}{0bp}{0bp}{0bp}
\ifbmb@shadow%
- {\pgftransformshift{\pgfpoint{4bp}{-3bp}}\pgftext{\copy\bmb@boxshadowball}}
- \begin{pgfscope}
- {%
- \advance\bmb@temp by-1bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{-7bp}}{\pgfpoint{9bp}{9bp}}%
- \pgfusepath{clip}
- }%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{1bp}}\pgftext{\box\bmb@boxshadowballlarge}}
- \end{pgfscope}
- \begin{pgfscope}
- \advance\bmb@temp by-4bp%
- \pgfpathrectangle{\pgfpoint{4bp}{-7bp}}{\pgfpoint{\bmb@temp}{5bp}}
- \pgfusepath{clip}
- {\pgftransformshift{\pgfpoint{4bp}{-7bp}}\pgftext[left,base]{\copy\bmb@boxshadow}}%
- \end{pgfscope}
- \begin{pgfscope}
- \advance\bmb@temp by 4bp%
- \bmb@dima=\ht\bmb@box%
- \advance\bmb@dima by\bmb@prevheight%
- \advance\bmb@dima by 4bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
- \pgfusepath{clip}
- \advance\bmb@dima by-4bp%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{\bmb@dima}}\pgftext{\box\bmb@boxshadowball}}
- \advance\bmb@dima by-1bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
- \pgfusepath{clip}
- \advance\bmb@temp by4bp%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{-3bp}}%
- \pgftransformrotate{90}%
- \pgftext[left,base]{\box\bmb@boxshadow}}%
- \end{pgfscope}
+ \begin{pgfscope}
+ \pgfpathrectangle{\pgfpoint{0bp}{-7bp}}
+ {\pgfpoint{\bmb@boxwidth+8bp}{\bmb@boxheight+6bp}}
+ \pgfsetfading{bmb@shadowmask\the\bmb@boxwidth\the\bmb@boxheight}{%
+ \pgftransformshift{\pgfpoint{0.5\bmb@boxwidth+6bp}{0.5\bmb@boxheight-4bp}}}
+ \pgfusepath{fill}
+ \end{pgfscope}
\fi%
\unhbox\bmb@colorbox%
\pgfpathqmoveto{-4bp}{1bp}
@@ -179,47 +191,11 @@
{\pgfpoint{\the\bmb@dimb}{-1.2bp}}%
{\pgfpoint{\the\bmb@dimb}{1bp}}%
{
- \bmb@dima=\ht\bmb@box%
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
- \pgfusepath{fill}
- }
- \ifbmb@shadow%
- {
- \color{black!50!bg}
- \pgfsetlinewidth{0pt}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{-.5bp}}
\bmb@dima=\ht\bmb@box%
- \advance\bmb@dima by\bmb@prevheight%
- \advance\bmb@dima by 1bp%
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \bmb@temp=\bmb@dima
- \advance\bmb@dima by 1bp%
- \color{black!31!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1bp%
- \advance\bmb@temp by 1bp%
- \color{black!19!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
\pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1bp%
- \advance\bmb@temp by 1bp%
- \color{black!6!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1.5bp%
- \advance\bmb@temp by 1bp%
- \color{bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
+ \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
+ \pgfusepath{fill}
}
- \fi
\end{pgfpicture}%
\box\bmb@box%
}%
@@ -231,17 +207,7 @@
\egroup% of \vbox\bgroup
}
-%
% Shadings
-%
-
-% Shadows
-\pgfdeclareradialshading[black,bg]{bmb@shadowball}{\pgfpointorigin}{%
- color(0bp)=(black!50!bg); color(4bp)=(bg)}
-\pgfdeclareradialshading[black,bg]{bmb@shadowballlarge}{\pgfpointorigin}{%
- color(0bp)=(black!50!bg); color(4bp)=(black!50!bg); color(8bp)=(bg)}
-\pgfdeclareverticalshading[black,bg]{bmb@shadow}{200cm}{%
- color(0bp)=(bg); color(4bp)=(black!50!bg); color(8bp)=(black!50!bg)}
% Transition line
\pgfdeclareverticalshading[lower.bg,upper.bg]{bmb@transition}{200cm}{%
diff --git a/macros/latex/contrib/beamer/base/beamerbasecolor.sty b/macros/latex/contrib/beamer/base/beamerbasecolor.sty
index 6818db39bd..83393f62df 100644
--- a/macros/latex/contrib/beamer/base/beamerbasecolor.sty
+++ b/macros/latex/contrib/beamer/base/beamerbasecolor.sty
@@ -214,7 +214,7 @@
\hskip-\beamer@colbox@colseps%
}\fi%
\ifdim\wd\beamer@tempbox>\textwidth%
- \setbox\beamer@tempbox=\hbox to\textwidth{\hskip0pt minus\beamer@leftmargin\relax\box\beamer@tempbox\hskip0pt minus\beamer@leftmargin\relax}%
+ \setbox\beamer@tempbox=\hbox to\textwidth{\hskip0pt minus\beamer@leftmargin\relax\box\beamer@tempbox\hskip0pt minus\beamer@rightmargin\relax}%
\fi%
\box\beamer@tempbox%
\fi%
diff --git a/macros/latex/contrib/beamer/base/beamerbasefont.sty b/macros/latex/contrib/beamer/base/beamerbasefont.sty
index 1a611e3f92..01fdd9b6bb 100644
--- a/macros/latex/contrib/beamer/base/beamerbasefont.sty
+++ b/macros/latex/contrib/beamer/base/beamerbasefont.sty
@@ -176,7 +176,7 @@
<3><4><5><6><7><8><9>cmssbx10%
<10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssbx10%
}{}
-
+\DeclareFontShape{OT1}{cmss}{b}{n}{<->ssub * cmss/bx/n}{}
\newcommand*{\beamer@font@check}{%
\def\beamer@cmr{cmr}%
diff --git a/macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty b/macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty
index c0d85832b5..453275f6b4 100644
--- a/macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty
+++ b/macros/latex/contrib/beamer/base/beamerbaselocalstructure.sty
@@ -503,19 +503,23 @@
\mode<presentation>{\setbeamertemplate{bibliography item}{\insertbiblabel}}}
\csappto{blx@filehook@postload@authoryear.bbx}{%
\mode<presentation>{%
- \newlength{\beamer@bibiconwidth}
- \settowidth\beamer@bibiconwidth{\usebeamertemplate*{bibliography item}}
- \setlength{\labelwidth}{-\beamer@bibiconwidth}
- \addtolength{\labelwidth}{2\labelsep}
- \addtolength{\bibhang}{\labelsep}
+ \pretocmd{\bibsetup}{%
+ \newlength{\beamer@bibiconwidth}%
+ \settowidth\beamer@bibiconwidth{\usebeamertemplate*{bibliography item}}%
+ \setlength{\labelwidth}{-\beamer@bibiconwidth}%
+ \addtolength{\labelwidth}{2\labelsep}%
+ \addtolength{\bibhang}{\labelsep}%
+ }{}{}%
}}
\csappto{blx@filehook@postload@authortitle.bbx}{%
\mode<presentation>{%
- \newlength{\beamer@bibiconwidth}
- \settowidth\beamer@bibiconwidth{\usebeamertemplate*{bibliography item}}
- \setlength{\labelwidth}{-\beamer@bibiconwidth}
- \addtolength{\labelwidth}{2\labelsep}
- \addtolength{\bibhang}{\labelsep}
+ \pretocmd{\bibsetup}{%
+ \newlength{\beamer@bibiconwidth}%
+ \settowidth\beamer@bibiconwidth{\usebeamertemplate*{bibliography item}}%
+ \setlength{\labelwidth}{-\beamer@bibiconwidth}%
+ \addtolength{\labelwidth}{2\labelsep}%
+ \addtolength{\bibhang}{\labelsep}%
+ }{}{}%
}}
diff --git a/macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemeinmargin.sty b/macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemeinmargin.sty
index 534d3cd9d7..276dab1075 100644
--- a/macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemeinmargin.sty
+++ b/macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemeinmargin.sty
@@ -52,11 +52,10 @@
{\leavevmode%
\inserttocsubsubsection\par\vskip.5ex}
-
\def\inserttitleindicator{}
-\def\insertauthorindicator{Who?}
-\def\insertinstituteindicator{From?}
-\def\insertdateindicator{When?}
+\def\insertauthorindicator{\translate{Who?}}
+\def\insertinstituteindicator{\translate{From?}}
+\def\insertdateindicator{\translate{When?}}
\defbeamertemplate*{title page}{inmargin}
{
diff --git a/macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty b/macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty
index 9e4385341d..de2c9775cb 100644
--- a/macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty
+++ b/macros/latex/contrib/beamer/base/themes/outer/beamerouterthemeshadow.sty
@@ -12,30 +12,33 @@
\useoutertheme{split}
-
\setbeamercolor{frametitle}{parent=subsection in head/foot}
\setbeamercolor{frametitle right}{parent=section in head/foot}
-
\pgfdeclarehorizontalshading[frametitle.bg,frametitle right.bg]{beamer@frametitleshade}{\paperheight}{%
color(0pt)=(frametitle.bg);
- color(\paperwidth)=(frametitle right.bg)}
+ color(\paperwidth)=(frametitle right.bg)
+}
-\AtBeginDocument{
- \pgfdeclareverticalshading{beamer@topshade}{\paperwidth}{%
- color(0pt)=(bg);
- color(4pt)=(black!50!bg)}
+\pgfdeclareverticalshading{beamer@topshade}{2\paperwidth}{%
+ color(0pt)=(pgftransparent!100);
+ color(8pt)=(pgftransparent!0)
}
+\pgfdeclarefading{beamer@topshadowmask}{\pgfuseshading{beamer@topshade}}
+
\addtobeamertemplate{headline}
{}
{%
- \vskip-0.2pt
- \pgfuseshading{beamer@topshade}
+ \vskip0pt
+ \begin{pgfpicture}
+ \pgfpathrectangle{\pgfpoint{0pt}{-4pt}}{\pgfpoint{\paperwidth}{4pt}}%
+ \pgfsetfading{beamer@topshadowmask}{}%
+ \pgfusepath{fill}%
+ \end{pgfpicture}
\vskip-2pt
}
-
\defbeamertemplate*{frametitle}{shadow theme}
{%
\nointerlineskip%
@@ -61,23 +64,26 @@
\beamer@tempdim=\ht\beamer@tempbox%
\advance\beamer@tempdim by 2pt%
\begin{pgfpicture}{0pt}{0pt}{\paperwidth}{\beamer@tempdim}
- \usebeamercolor{frametitle right}
- \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}}
- \pgfusepath{clip}
- \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}}
+ \begin{pgfscope}
+ \pgfsetfillcolor{black}%
+ \pgfpathrectangle{\pgfpoint{0pt}{-4pt}}{\pgfpoint{\paperwidth}{8pt}}%
+ \pgfsetfading{beamer@topshadowmask}{}%
+ \pgfusepath{fill}%
+ \end{pgfscope}
+ \begin{pgfscope}
+ \usebeamercolor{frametitle right}%
+ \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}}%
+ \pgfusepath{clip}%
+ \pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}}%
+ \end{pgfscope}
\end{pgfpicture}
\hskip-\paperwidth%
\box\beamer@tempbox%
}%
\hskip-\Gm@rmargin%
}%
- \nointerlineskip
- \vskip-0.2pt
- \hbox to\textwidth{\hskip-\Gm@lmargin\pgfuseshading{beamer@topshade}\hskip-\Gm@rmargin}
- \vskip-2pt
+ \vskip-2pt
}
-
-
\mode
<all>
diff --git a/macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdf b/macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdf
index b05dc1386d..de9e15bfbf 100644
--- a/macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdf
+++ b/macros/latex/contrib/beamer/doc/beamerexample-conference-talk.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdf b/macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdf
index e5c8a0d6dc..b9dfe363a9 100644
--- a/macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdf
+++ b/macros/latex/contrib/beamer/doc/beamerexample-lecture-beamer-version.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdf b/macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdf
index 1869a743bc..d23e1dfcee 100644
--- a/macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdf
+++ b/macros/latex/contrib/beamer/doc/beamerexample-lecture-print-version.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex b/macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex
index e537d7cd3a..4b8ce8ca96 100644
--- a/macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex
+++ b/macros/latex/contrib/beamer/doc/beamerthemeexamplebase.tex
@@ -12,8 +12,6 @@
\beamertemplatesolidbackgroundcolor{black!5}
\beamertemplatetransparentcovered
-\usepackage{times}
-
\title{There Is No Largest Prime Number}
\subtitle{With an introduction to a new proof technique}
diff --git a/macros/latex/contrib/beamer/doc/beamerug-elements.tex b/macros/latex/contrib/beamer/doc/beamerug-elements.tex
index b3ac8910c9..cf05fe2a37 100644
--- a/macros/latex/contrib/beamer/doc/beamerug-elements.tex
+++ b/macros/latex/contrib/beamer/doc/beamerug-elements.tex
@@ -72,6 +72,8 @@ In the following examples, the color themes |seahorse| and |rose| are used to sh
This theme is a ``dirty'' inner theme since it messes with things that an inner theme should not mess with. In particular, it changes the width of the left sidebar to a large value. However, you can still use it together with most outer themes.
Using columns inside this theme is problematic. Most of the time, the result will not be what you expect.
+
+ The indicators for the title page can be adjusted by redefining |\inserttitleindicator|, |\insertauthorindicator|, |\insertinstituteindicator| and |\insertdateindicator|.
\end{innerthemeexample}
diff --git a/macros/latex/contrib/beamer/doc/beamerug-globalstructure.tex b/macros/latex/contrib/beamer/doc/beamerug-globalstructure.tex
index 943a1b098e..d24d9cf460 100644
--- a/macros/latex/contrib/beamer/doc/beamerug-globalstructure.tex
+++ b/macros/latex/contrib/beamer/doc/beamerug-globalstructure.tex
@@ -579,7 +579,7 @@ sectionstyle=show/shaded,subsectionstyle=show/show/shaded
\articlenote
The options are ignored in |article| mode.
- \begin{element}{section/subsection in toc}\semiyes\no\no
+ \begin{element}{sections/subsections in toc}\semiyes\no\no
This is a parent template, whose children are |section in toc| and |subsection in toc|. This means that if you use the |\setbeamertemplate| command on this template, the command is instead called for both of these children (with the same arguments).
\begin{templateoptions}
@@ -602,7 +602,7 @@ sectionstyle=show/shaded,subsectionstyle=show/show/shaded
If none of the above options suits you, you have to change the templates |section in toc| and |subsection in toc| directly.
\end{element}
- \begin{element}{section/subsection in toc shaded}\semiyes\no\no
+ \begin{element}{sections/subsections in toc shaded}\semiyes\no\no
A parent template with children |section in toc shaded| and |subsection in toc shaded|. They are used to render section and subsection entries when they are currently shaded; like all non-current subsections in |\tableofcontents[currentsubsection]|.
\begin{templateoptions}
diff --git a/macros/latex/contrib/beamer/doc/beamerug-guidelines.tex b/macros/latex/contrib/beamer/doc/beamerug-guidelines.tex
index 0aef255f40..36a994a397 100644
--- a/macros/latex/contrib/beamer/doc/beamerug-guidelines.tex
+++ b/macros/latex/contrib/beamer/doc/beamerug-guidelines.tex
@@ -26,7 +26,7 @@ When you start to create a presentation, the very first thing you should worry a
\item
A simple rule for the number of frames is that you should have at most one frame per minute.
\item
- In most situations, you will have less time for your presentation that you would like.
+ In most situations, you will have less time for your presentation than you would like.
\item
\emph{Do not try to squeeze more into a presentation than time allows for.} No matter how important some detail seems to you, it is better to leave it out, but get the main message across, than getting neither the main message nor the detail across.
\end{itemize}
diff --git a/macros/latex/contrib/beamer/doc/beameruserguide.pdf b/macros/latex/contrib/beamer/doc/beameruserguide.pdf
index 9475391209..81b81739c1 100644
--- a/macros/latex/contrib/beamer/doc/beameruserguide.pdf
+++ b/macros/latex/contrib/beamer/doc/beameruserguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer/doc/beameruserguide.tex b/macros/latex/contrib/beamer/doc/beameruserguide.tex
index 1f315dcfd2..fa16f72b30 100644
--- a/macros/latex/contrib/beamer/doc/beameruserguide.tex
+++ b/macros/latex/contrib/beamer/doc/beameruserguide.tex
@@ -13,7 +13,7 @@
\documentclass{ltxdoc}
-\def\beamerugversion{3.59}
+\def\beamerugversion{3.60}
\def\beamerugpgfversion{1.00}
\def\beamerugxcolorversion{2.00}
diff --git a/macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-prosper.tex b/macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-prosper.tex
index 4e8ba17d19..6aad848d79 100644
--- a/macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-prosper.tex
+++ b/macros/latex/contrib/beamer/doc/emulation-examples/beamerexample-prosper.tex
@@ -9,7 +9,9 @@
% $Header$
-\documentclass[notes]{beamer}
+\documentclass{beamer}
+
+\setbeameroption{show notes}
% You might wish to try this instead of the above line:
%\documentclass[class=article]{beamer}
@@ -24,7 +26,6 @@
\definecolor{sidebackground}{RGB}{230,242,250}
\color{beamerstructure}
\usetheme{Goettingen}
- \usepackage{times}
\userightsidebarcolortemplate{\color{sidebackground}}
\beamertemplateballitem
}
diff --git a/macros/latex/contrib/beamer/doc/examples/a-conference-talk/beamerexample-conference-talk.tex b/macros/latex/contrib/beamer/doc/examples/a-conference-talk/beamerexample-conference-talk.tex
index f5faef720e..1c8faa4c8d 100644
--- a/macros/latex/contrib/beamer/doc/examples/a-conference-talk/beamerexample-conference-talk.tex
+++ b/macros/latex/contrib/beamer/doc/examples/a-conference-talk/beamerexample-conference-talk.tex
@@ -31,7 +31,6 @@
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
-\usepackage{times}
\usepackage[T1]{fontenc}
diff --git a/macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-style.tex b/macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-style.tex
index e24a409cfb..6e76330447 100644
--- a/macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-style.tex
+++ b/macros/latex/contrib/beamer/doc/examples/a-lecture/beamerexample-lecture-style.tex
@@ -12,10 +12,8 @@
\usepackage[german]{babel}
\usepackage[latin1]{inputenc}
-\usepackage{times}
\mode<article>
{
- \usepackage{times}
\usepackage{mathptmx}
\usepackage[left=1.5cm,right=6cm,top=1.5cm,bottom=3cm]{geometry}
}
diff --git a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex
index 7f602b7347..1ef3fc74e2 100644
--- a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.de.tex
@@ -40,7 +40,6 @@
\usepackage[latin1]{inputenc}
% oder was auch immer
-\usepackage{times}
\usepackage[T1]{fontenc}
% Oder was auch immer. Zu beachten ist, das Font und Encoding passen
% müssen. Falls T1 nicht funktioniert, kann man versuchen, die Zeile
diff --git a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.en.tex b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.en.tex
index 6b9195dc67..a862251513 100644
--- a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.en.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.en.tex
@@ -39,7 +39,6 @@
\usepackage[latin1]{inputenc}
% or whatever
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or whatever. Note that the encoding and the font should match. If T1
% does not look nice, try deleting the line with the fontenc.
diff --git a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex
index cf7d86018b..5130d341ef 100644
--- a/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/conference-talks/conference-ornate-20min.fr.tex
@@ -38,7 +38,6 @@
\usepackage[latin1]{inputenc}
% or autre
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or autre. Notez que le codage et la fonte doivent être assortis. Si T1
% ne paraît pas très esthétique, essayer d'effacer la ligne contenant fontenc.
diff --git a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex
index ea2729cd8c..a120adaff0 100644
--- a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex
@@ -41,7 +41,6 @@
\usepackage[latin1]{inputenc}
% oder was auch immer
-\usepackage{times}
\usepackage[T1]{fontenc}
% Oder was auch immer. Zu beachten ist, das Font und Encoding passen
% müssen. Falls T1 nicht funktioniert, kann man versuchen, die Zeile
diff --git a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex
index a07a6f15df..00eb0ad756 100644
--- a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex
@@ -39,7 +39,6 @@
\usepackage[latin1]{inputenc}
% or whatever
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or whatever. Note that the encoding and the font should match. If T1
% does not look nice, try deleting the line with the fontenc.
diff --git a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex
index e75f14788d..05dee8bc86 100644
--- a/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex
@@ -42,7 +42,6 @@
\usepackage[latin1]{inputenc}
% or autre
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or autre. Notez que le codage et la fonte doivent être assortis. Si T1
% ne paraît pas très esthétique, essayer d'effacer la ligne contenant fontenc.
diff --git a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex
index a64b6e3ac4..7c7d6d88ea 100644
--- a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex
@@ -37,7 +37,6 @@
\usepackage[latin1]{inputenc}
% Oder was auch immer
-\usepackage{times}
\usepackage[T1]{fontenc}
% Oder was auch immer. Zu beachten ist, das Font und Encoding passen
% müssen. Falls T1 nicht funktioniert, kann man versuchen, die Zeile
diff --git a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex
index 35a654a384..b3cae19bda 100644
--- a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex
@@ -37,7 +37,6 @@
\usepackage[latin1]{inputenc}
% or whatever
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or whatever. Note that the encoding and the font should match. If T1
% does not look nice, try deleting the line with the fontenc.
diff --git a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex
index d7b3969d12..7b0e4ab39b 100644
--- a/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex
+++ b/macros/latex/contrib/beamer/doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex
@@ -38,7 +38,6 @@ shading][bottom=white,top=structure.fg!25]
\usepackage[latin1]{inputenc}
% or autre
-\usepackage{times}
\usepackage[T1]{fontenc}
% Or autre. Notez que le codage et la fonte doivent être assortis. Si T1
% ne paraît pas très esthétique, essayer d'effacer la ligne contenant fontenc.
diff --git a/macros/latex/contrib/snotez/README b/macros/latex/contrib/snotez/README
index 7e380fb034..75671c058b 100644
--- a/macros/latex/contrib/snotez/README
+++ b/macros/latex/contrib/snotez/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the SNOTEZ package v0.3 2013/04/21
+the SNOTEZ package v0.5a 2020/12/14
Sidenotes for LaTeX2e
@@ -8,15 +8,15 @@ Clemens Niederberger
Web: https://bitbucket.org/cgnieder/snotez/
E-Mail: contact@mychemistry.eu
--------------------------------------------------------------------------
-Copyright 2012--2013 Clemens Niederberger
+Copyright 2012--2020 Clemens Niederberger
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008/05/04 or later.
This work has the LPPL maintenance status `maintained'.
@@ -27,4 +27,4 @@ The snotez package consists of the files
--------------------------------------------------------------------------
If you have any ideas, questions, suggestions or bugs to report, please
feel free to contact me.
--------------------------------------------------------------------------- \ No newline at end of file
+--------------------------------------------------------------------------
diff --git a/macros/latex/contrib/snotez/snotez.sty b/macros/latex/contrib/snotez/snotez.sty
index 62c0c2d53a..0891f93dfe 100644
--- a/macros/latex/contrib/snotez/snotez.sty
+++ b/macros/latex/contrib/snotez/snotez.sty
@@ -8,28 +8,22 @@
% Web: https://bitbucket.org/cgnieder/enotez/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2013 Clemens Niederberger
+% Copyright 2012--2020 Clemens Niederberger
%
% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008/05/04 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
-% The snotez package consists of the files
-% - snotez.sty, snotez_en.tex, snotez_en.pdf, README
-% --------------------------------------------------------------------------
-% If you have any ideas, questions, suggestions or bugs to report, please
-% feel free to contact me.
-% --------------------------------------------------------------------------
-\def\snotez@date{2013/04/21}
-\def\snotez@version{v0.3}
+\def\snotez@date{2020/12/14}
+\def\snotez@version{v0.5a}
\def\snotez@description{sidenote support for LaTeX 2e (CN)}
\NeedsTeXFormat{LaTeX2e}
@@ -41,49 +35,45 @@
{\AtEndPreamble{\RequirePackage{perpage}}}
% --------------------------------------------------------------------------
-% message handling
-\def\snotez@create@message#1{%
- \ifstrequal{#1}{Error}
- {%
- \lowercase{\csdef{snotez@#1}}##1##2{%
- \csuse{Package#1}{snotez}{##1}{##2}}%
- }{%
- \lowercase{\csdef{snotez@#1}}##1{%
- \csuse{Package#1}{snotez}{##1}}%
- }}
-\snotez@create@message{Error}
-\snotez@create@message{Warning}
-\snotez@create@message{WarningNoLine}
-\snotez@create@message{Info}
-
-% --------------------------------------------------------------------------
% package options:
\newbool{snotez@marginnote}
\newbool{snotez@perpage}
\newbool{snotez@footnote}
\newbool{snotez@dblarg}
-\booltrue{snotez@dblarg}
-\def\snotez@note@mark@sep{\space}
-\def\snotez@note@mark@format#1{\@textsuperscript{\normalfont#1}}
-\def\snotez@format{\footnotesize}
-\def\snotez@text@mark@format#1{\@textsuperscript{\normalfont#1}}
+\newcommand*\snotez@note@mark@sep{\space}
+\newcommand*\snotez@note@mark@format[1]{\@textsuperscript{\normalfont#1}}
+\newcommand*\snotez@format{\normalfont\footnotesize}
+\newcommand*\snotez@text@mark@format[1]{\@textsuperscript{\normalfont#1}}
\pgfkeys{
snotez/.cd,
% all sidenotes use \marginnote:
marginnote/.is if = snotez@marginnote ,
- text-format/.code = \def\snotez@format{#1} ,
+ % formatting of the note text:
+ text-format/.code = \renewcommand*\snotez@format{#1} ,
text-format+/.code =
- \expandafter\def\expandafter\snotez@format\expandafter{\snotez@format#1} ,
+ \expandafter\renewcommand
+ \expandafter*%
+ \expandafter\snotez@format
+ \expandafter{\snotez@format#1} ,
% make sidenotes counted per page:
perpage/.is if = snotez@perpage ,
- note-mark-sep/.code = \def\snotez@note@mark@sep{#1} ,
- note-mark-format/.code = \def\snotez@note@mark@format##1{#1} ,
- text-mark-format/.code = \def\snotez@text@mark@format##1{#1} ,
+ % formatting of the note mark:
+ note-mark-sep/.code = \renewcommand*\snotez@note@mark@sep{#1} ,
+ note-mark-format/.code = \renewcommand*\snotez@note@mark@format[1]{#1} ,
+ text-mark-format/.code = \renewcommand*\snotez@text@mark@format[1]{#1} ,
% make all footnotes sidenotes:
footnote/.is if = snotez@footnote ,
- dblarg/.is if = snotez@dblarg
+ % change optional argument input:
+ dblarg/.is if = snotez@dblarg ,
+ % formmatting of the sidefloats' contents:
+ sidefloat-format/.code = \renewcommand*\snotez@sidefloat@format{#1} ,
+ sidefloat-format+/.code =
+ \expandafter\renewcommand
+ \expandafter*%
+ \expandafter\snotez@sidefloat@format
+ \expandafter{\snotez@sidefloat@format#1}
}
\ProcessPgfOptions*
@@ -93,54 +83,62 @@
% --------------------------------------------------------------------------
% the \sidenote command
\ifbool{snotez@dblarg}{
- % syntax:
- % - \sidenote{text}
- % - \sidenote[mark]{text}
- % - \sidenote[offset][mark]{text}
\newrobustcmd*\sidenote{%
- \@ifnextchar[%
- {\snotez@sidenote@aux@i}
- {\snotez@sidenote@aux@ii{}[]}% no option
- }
-
- \def\snotez@sidenote@aux@i[#1]{%
- \@ifnextchar[%
- {\snotez@sidenote@aux@ii{#1}}% two options
- {\snotez@sidenote@aux@ii{}[{#1}]}% one option
+ \snotez@sidenote@dblarg
}
}{
- % syntax:
- % - \sidenote{text}
- % - \sidenote[mark]{text}
- % - \sidenote(offset){text}
- % - \sidenote(offset)[mark]{text}
\newrobustcmd*\sidenote{%
- \@ifnextchar(%
- {\snotez@sidenote@aux@i}% offset
- {%
- \@ifnextchar[
- {\snotez@sidenote@aux@ii{}}% no offset nut mark
- {\snotez@sidenote@aux@ii{}[]}% no offset and no mark
- }%
+ \snotez@sidenote@nodblarg
}
+}
- \def\snotez@sidenote@aux@i(#1){%
- \@ifnextchar[%
- {\snotez@sidenote@aux@ii{#1}}% mark
- {\snotez@sidenote@aux@ii{#1}[]}% no mark
- }
+% syntax:
+% - \sidenote{text}
+% - \sidenote[mark]{text}
+% - \sidenote[offset][mark]{text}
+\newrobustcmd*\snotez@sidenote@dblarg{%
+ \@ifnextchar[%
+ {\snotez@sidenote@dblarg@aux}
+ {\snotez@sidenote@aux{}[]}% no option
+}
+
+\protected\def\snotez@sidenote@dblarg@aux[#1]{%
+ \@ifnextchar[%
+ {\snotez@sidenote@aux{#1}}% two options
+ {\snotez@sidenote@aux{}[{#1}]}% one option
+}
+
+% syntax:
+% - \sidenote{text}
+% - \sidenote[mark]{text}
+% - \sidenote(offset){text}
+% - \sidenote(offset)[mark]{text}
+\newrobustcmd*\snotez@sidenote@nodblarg{%
+ \@ifnextchar(%
+ {\snotez@sidenote@nodblarg@aux}% offset
+ {%
+ \@ifnextchar[
+ {\snotez@sidenote@aux{}}% no offset but mark
+ {\snotez@sidenote@aux{}[]}% no offset and no mark
+ }%
+}
+
+\protected\def\snotez@sidenote@nodblarg@aux(#1){%
+ \@ifnextchar[%
+ {\snotez@sidenote@aux{#1}}% mark
+ {\snotez@sidenote@aux{#1}[]}% no mark
}
% #1: offset
% #2: mark
% #3: text
-\long\def\snotez@sidenote@aux@ii#1[#2]#3{%
+\long\def\snotez@sidenote@aux#1[#2]#3{%
\snotez@mark{#2}%
\snotez@text{#1}{#3}%
}
% this one is very much \@footnotemark from latex.ltx:
-\def\snotez@write@mark#1{%
+\newrobustcmd*\snotez@write@mark[1]{%
\leavevmode
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
#1%
@@ -148,17 +146,23 @@
\relax
}
-\def\snotez@mark#1{%
+\newrobustcmd*\snotez@mark[1]{%
\ifblank{#1}% or \ifstrempty?
- {\refstepcounter{sidenote}\protected@xdef\@the@snotez@mark{\thesidenote}}
- {\protected@edef\@currentlabel{#1}\protected@xdef\@the@snotez@mark{#1}}%
- \snotez@write@mark{\hbox{\snotez@text@mark@format{\@the@snotez@mark}}}%
+ {%
+ \refstepcounter{sidenote}%
+ \protected@xdef\@the@snotez@mark{\thesidenote}%
+ }
+ {%
+ \protected@edef\@currentlabel{#1}%
+ \protected@xdef\@the@snotez@mark{#1}%
+ }%
+ \snotez@write@mark{%
+ \hbox{\snotez@text@mark@format{\@the@snotez@mark}}}%
}
-\ifcsdef{c@chapter}
+\ifltxcounter{chapter}
{\newcounter{sidenote}[chapter]}
- {\newcounter{sidenote}%
-}
+ {\newcounter{sidenote}}
% --------------------------------------------------------------------------
% the \sidenotemark command
@@ -167,55 +171,63 @@
% --------------------------------------------------------------------------
% the \sidenotetext command
\ifbool{snotez@dblarg}{
- % syntax:
- % - \sidenotetext{text}
- % - \sidenotetext[mark]{text}
- % - \sidenotetext[offset][mark]{text}
\newrobustcmd*\sidenotetext{%
- \@ifnextchar[%
- {\snotez@sidenotetext@aux@i}
- {\snotez@sidenotetext@aux@ii{}[]}% no option
- }
-
- \def\snotez@sidenotetext@aux@i[#1]{%
- \@ifnextchar[%
- {\snotez@sidenotetext@aux@ii{#1}}% two options
- {\snotez@sidenotetext@aux@ii{}[{#1}]}% one option
+ \snotez@sidenotetext@dblarg
}
}{
- % syntax:
- % - \sidenotetext{text}
- % - \sidenotetext[mark]{text}
- % - \sidenotetext(offset){text}
- % - \sidenotetext(offset)[mark]{text}
\newrobustcmd*\sidenotetext{%
- \@ifnextchar(%
- {\snotez@sidenotetext@aux@i}% offset
- {%
- \@ifnextchar[
- {\snotez@sidenotetext@aux@ii{}}% no offset nut mark
- {\snotez@sidenotetext@aux@ii{}[]}% no offset and no mark
- }%
+ \snotez@sidenotetext@nodblarg
}
+}
- \def\snotez@sidenotetext@aux@i(#1){%
- \@ifnextchar[%
- {\snotez@sidenotetext@aux@ii{#1}}% mark
- {\snotez@sidenotetext@aux@ii{#1}[]}% no mark
- }
+% syntax:
+% - \sidenotetext{text}
+% - \sidenotetext[mark]{text}
+% - \sidenotetext[offset][mark]{text}
+\newrobustcmd*\snotez@sidenotetext@dblarg{%
+ \@ifnextchar[%
+ {\snotez@sidenotetext@dblarg@aux}
+ {\snotez@sidenotetext@aux{}[]}% no option
+}
+
+\protected\def\snotez@sidenotetext@dblarg@aux[#1]{%
+ \@ifnextchar[%
+ {\snotez@sidenotetext@aux{#1}}% two options
+ {\snotez@sidenotetext@aux{}[{#1}]}% one option
+}
+
+% syntax:
+% - \sidenotetext{text}
+% - \sidenotetext[mark]{text}
+% - \sidenotetext(offset){text}
+% - \sidenotetext(offset)[mark]{text}
+\newrobustcmd*\snotez@sidenotetext@nodblarg{%
+ \@ifnextchar(%
+ {\snotez@sidenotetext@nodblarg@aux}% offset
+ {%
+ \@ifnextchar[
+ {\snotez@sidenotetext@aux{}}% no offset nut mark
+ {\snotez@sidenotetext@aux{}[]}% no offset and no mark
+ }%
+}
+
+\protected\def\snotez@sidenotetext@nodblarg@aux(#1){%
+ \@ifnextchar[%
+ {\snotez@sidenotetext@aux{#1}}% mark
+ {\snotez@sidenotetext@aux{#1}[]}% no mark
}
% #1: offset
% #2: mark
% #3: text
-\long\def\snotez@sidenotetext@aux@ii#1[#2]#3{%
+\long\protected\def\snotez@sidenotetext@aux#1[#2]#3{%
\ifblank{#2}{}{\protected@xdef\@the@snotez@mark{#2}}%
\snotez@text{#1}{#3}%
}
% #1: offset
% #2: text
-\def\snotez@text#1#2{%
+\newrobustcmd*\snotez@text[2]{%
\ifblank{#1}
{%
\snotez@marginpar{%
@@ -228,22 +240,54 @@
\snotez@format
\snotez@write@mark{\snotez@note@mark@format{\@the@snotez@mark}}%
\snotez@note@mark@sep#2%
- }[\snotez@if@nblskip{#1}{\@cdr#1\@nil\baselineskip}{#1}]%
+ }[\snotez@if@nblskip{#1}]%
}%
}
-\def\snotez@if@nblskip#1{%
+\newcommand*\snotez@if@nblskip[1]{%
+ % if #1 starts with * gobble it and add \baselineskip:
\expandafter\ifx\@car#1\@nil*%
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
+ {\@cdr#1\@nil\baselineskip}%
+ {#1}%
}
\let\snotez@marginpar\marginpar
\let\snotez@marginnote\marginnote
% --------------------------------------------------------------------------
+% margin floats with captions, based on an idea in tufte-latex
+\newsavebox\snotez@sidefloat@box
+\newcommand*\snotez@sidefloat@format{\raggedright}
+
+\newenvironment{snotez@sidefloat}[2]
+ {%
+ \def\@captype{#1}%
+ \begin{lrbox}{\snotez@sidefloat@box}%
+ \minipage{\marginparwidth}%
+ \snotez@sidefloat@format#2%
+ }
+ {
+ \endminipage
+ \end{lrbox}%
+ \marginpar{\unhbox\snotez@sidefloat@box}%
+ }
+
+\newrobustcmd*\snotez@new@sidefloat[2]{%
+ \newenvironment{side#1}
+ {\snotez@sidefloat{#1}{#2}}
+ {\endsnotez@sidefloat}%
+}
+
+\newrobustcmd*\newsnotezfloat[2][]{\snotez@new@sidefloat{#2}{#1}}
+
+\newsnotezfloat{figure}
+\newsnotezfloat{table}
+
+% --------------------------------------------------------------------------
% process preamble options:
\AtBeginDocument{
% if option `footnote=true' let \footnote to \sidenote:
@@ -252,13 +296,17 @@
\let\footnote\sidenote
\let\footnotemark\sidenotemark
\let\footnotetext\sidenotetext
+ \ifdef\multfootnote{%
+ \let\multfootnote\multsidenote
+ }{}%
}{}
% if option `marginnote=true' use \marginnote for all notes:
\ifbool{snotez@marginnote}
{%
\let\snotez@marginpar\marginnote
- \snotez@info{All sidenotes are now using \string\marginnote^^J
- instead of \string\marginpar}%
+ \PackageInfo{snotez}
+ {All sidenotes are now using \string\marginnote^^J
+ instead of \string\marginpar}%
}%
{}
}
@@ -268,19 +316,6 @@
\ifbool{snotez@perpage}
{\MakeSortedPerPage{sidenote}}
{\MakeSorted{sidenote}}%
- \@ifpackageloaded{fnpct}
- {%
- \ifbool{snotez@dblarg}
- {}
- {%
- \snotez@error
- {When you're using the `fnpct' package together with^^J
- `snotez' you need to enable the `dblarg' option!}
- {When you're using the `fnpct' package together with^^J
- `snotez' you need to enable the `dblarg' option!}%
- }%
- }
- {}%
}
\endinput
@@ -296,4 +331,10 @@
- allow `*' syntax for offsets that are multiples of
\baselineskip
- syntax change in optional arguments; option `dblarg'
- provides previous syntax
+ provides previous syntax >> this is the default
+2013/06/13 v0.3a - better separation of definition of \sidenote and
+ \sidenotetext commands and the internal commands
+2013/11/21 v0.4 - robustify commands where appropriate
+ - use cnltx-base
+2020/01/12 v0.5 - remove dependency on `cnltx-base'
+2020/12/14 v0.5a - fix issue #1
diff --git a/macros/latex/contrib/snotez/snotez_en.pdf b/macros/latex/contrib/snotez/snotez_en.pdf
index 99a82c7f66..54b0b73423 100644
--- a/macros/latex/contrib/snotez/snotez_en.pdf
+++ b/macros/latex/contrib/snotez/snotez_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/snotez/snotez_en.tex b/macros/latex/contrib/snotez/snotez_en.tex
index 5859ff025f..c488fd49bb 100644
--- a/macros/latex/contrib/snotez/snotez_en.tex
+++ b/macros/latex/contrib/snotez/snotez_en.tex
@@ -1,7 +1,3 @@
-% arara: pdflatex
-% arara: biber
-% arara: pdflatex
-% arara: pdflatex
% --------------------------------------------------------------------------
% the SNOTEZ package
%
@@ -12,401 +8,348 @@
% Web: https://bitbucket.org/cgnieder/snotez/
% E-Mail: contact@mychemistry.eu
% --------------------------------------------------------------------------
-% Copyright 2012--2013 Clemens Niederberger
+% Copyright 2012--2020 Clemens Niederberger
%
% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008/05/04 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
-% The snotez package consists of the files
-% - snotez.sty, snotez_en.tex, snotez_en.pdf, README
-% --------------------------------------------------------------------------
-% If you have any ideas, questions, suggestions or bugs to report, please
-% feel free to contact me.
-% --------------------------------------------------------------------------
-% in order to compile this documentation you need the document class
-% `cnpkgdoc' which you can get here:
-% https://bitbucket.org/cgnieder/cnpkgdoc/
-%
-\PassOptionsToPackage{supstfm=libertinesups}{superiors}
-\documentclass[toc=index,toc=bib,mpinclude]{cnpkgdoc}
+\documentclass[load-preamble+]{cnltx-doc}
+\setlength\textwidth{\dimexpr\textwidth-1.2\marginparwidth\relax}
\setlength{\marginparwidth}{2\marginparwidth}
-\docsetup{
- pkg={[footnote,perpage,dblarg]snotez},
- subtitle=sidenote support for \LaTeXe
-}
-\addcmds{
- RaggedRight,
- sidenote,setsidenotes,superiors@spaced,
- textsu
-}
-% Layout:
-\cnpkgusecolorscheme{friendly}
-\renewcommand*\othersectionlevelsformat[3]{%
- \textcolor{main}{#3\autodot}\enskip}
-\renewcommand*\partformat{%
- \textcolor{main}{\partname~\thepart\autodot}}
-\usepackage{fnpct}
-\AdaptNoteOpt\sidenote\multsidenote
-\pagestyle{headings}
-
-\usepackage[biblatex]{embrac}[2013/03/22]
-\ChangeEmph{[}[,.02em]{]}[.055em,-.08em]
-\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em]
-\robustify\snotez
-
-\usepackage{libertinehologopatch}
-\usepackage{ragged2e}
-
-\normalmarginpar
-
-% Index:
-\usepackage{imakeidx}
-\usepackage{filecontents}
-\begin{filecontents*}{\jobname.ist}
- heading_prefix "{\\bfseries "
- heading_suffix "\\hfil}\\nopagebreak\n"
- headings_flag 1
- delim_0 "\\dotfill\\hyperpage{"
- delim_1 "\\dotfill\\hyperpage{"
- delim_2 "\\dotfill\\hyperpage{"
- delim_r "}\\textendash\\hyperpage{"
- delim_t "}"
- suffix_2p "\\nohyperpage{\\,f.}"
- suffix_3p "\\nohyperpage{\\,ff.}"
-\end{filecontents*}
-\indexsetup{othercode=\footnotesize}
-\makeindex[options={-s \jobname.ist},intoc,columns=3]
-
-\usepackage[backend=biber,style=alphabetic]{biblatex}
-\addbibresource{\jobname.bib}
-\begin{filecontents}{\jobname.bib}
-@package{pkg:chngcntr,
- title = {\paket*{chngcntr}},
- author = {Peter Wilson and Will Robertson},
- date = {2009-09-02},
- version = {1.0a},
- url = {http://mirror.ctan.org/macros/latex/contrib/chngcntr}
-}
-@package{pkg:etoolbox,
- title = {\paket*{etoolbox}},
- author = {Philipp Lehman},
- date = {2011-01-21},
- version = {2.1},
- url = {http://mirror.ctan.org/macros/latex/contrib/etoolbox}
-}
-@package{pkg:fnpct,
- title = {\paket*{fnpct}},
- author = {Clemens Niederberger},
- date = {2013-04-07},
- version = {0.2k},
- url = {http://mirror.ctan.org/macros/latex/contrib/fnpct}
-}
-@package{pkg:marginnote,
- title = {\paket*{marginnote}},
- author = {Markus Kohm},
- date = {2012-03-29},
- version = {1.1i},
- url = {http://mirror.ctan.org/macros/latex/contrib/marginnote}
-}
-@package{cls:memoir,
- title = {\klasse{memoir}},
- author = {Lars Madsen and Peter Wilson},
- date = {2011-03-06},
- version = {3.6j patch 6.0g},
- url = {http://mirror.ctan.org/macros/latex/contrib/memoir}
-}
-@package{pkg:perpage,
- title = {\paket*{perpage}},
- author = {David Kastrup},
- date = {2006-07-15},
- version = {1.12},
- url = {http://mirror.ctan.org/macros/latex/contrib/perpage}
-}
-@package{pkg:pgfopts,
- title = {\paket*{pgfopts}},
- author = {Joseph Wright},
- date = {2011-06-02},
- version = {2.1},
- url = {http://mirror.ctan.org/macros/latex/contrib/pgfopts}
-}
-@package{pkg:ragged2e,
- title = {\paket*{ragged2e}},
- author = {Martin Schröder},
- date = {2009-05-21},
- version = {2.1},
- url = {http://mirror.ctan.org/macros/latex/contrib/ragged2e}
-}
-@package{pkg:sidenotes,
- title = {\paket*{sidenotes}},
- author = {Andy Thomas and Oliver Schebaum},
- date = {2012-11-09},
- version = {0.92},
- url = {http://mirror.ctan.org/macros/latex/contrib/sidenotes}
-}
-@package{pkg:superiors,
- title = {\paket*{superiors}},
- author = {Michael Sharpe},
- date = {2012-08-13},
- version = {1.02},
- url = {http://mirror.ctan.org/macros/latex/contrib/superiors}
-}
-@package{cls:tufte,
- title = {\klasse{tufte-latex}},
- author = {Kevin Godby and Bil Kleb and Bill Wood},
- date = {2009-12-11},
- version = {3.5.0},
- url = {http://mirror.ctan.org/macros/latex/contrib/sidenotes}
+\usepackage[footnote,perpage]{snotez}
+\setcnltx{
+ package = snotez ,
+ authors = Clemens Niederberger ,
+ email = contact@mychemistry.eu ,
+ url = https://bitbucket.org/cgnieder/snotez ,
+ info = sidenote support for \LaTeXe ,
+ add-cmds = {
+ newsnotezfloat ,
+ setsidenotes ,
+ sidenote ,
+ sidenotemark ,
+ sidenotetext ,
+ thesidenote ,
+ } ,
+ add-silent-cmds = {
+ @captype, @car ,@cdr , @currentlabel , @nil ,
+ @the@snotez@mark ,
+ @x@sf ,
+ cnltx@create@generic@message ,
+ ifltxcounter ,
+ MakeSorted , MakeSortedPerPage ,
+ marginnote ,
+ pgfkeys , pgfqkeys ,
+ protected@edef , protected@xdef ,
+ RaggedRight ,
+ snotez@date ,
+ snotez@description ,
+ snotez@error ,
+ snotez@error@message ,
+ snotez@format ,
+ snotez@if@nblskip ,
+ snotez@marginnote , snotez@marginpar ,
+ snotez@mark ,
+ snotez@new@sidefloat ,
+ snotez@note@mark@format ,
+ snotez@note@mark@sep ,
+ snotez@sidefloat@box ,
+ snotez@sidefloat@format ,
+ snotez@sidenote@aux ,
+ snotez@sidenote@dblarg ,
+ snotez@sidenote@dblarg@aux ,
+ snotez@sidenote@nodblarg ,
+ snotez@sidenote@nodblarg@aux ,
+ snotez@sidenotetext@aux ,
+ snotez@sidenotetext@dblarg ,
+ snotez@sidenotetext@dblarg@aux ,
+ snotez@sidenotetext@nodblarg ,
+ snotez@sidenotetext@nodblarg@aux ,
+ snotez@text ,
+ snotez@text@mark@format ,
+ snotez@version ,
+ snotez@write@mark ,
+ snotez@warning ,
+ textsu
+ } ,
+ makeindex-setup = {columns=3, columnsep=1em}
}
-\end{filecontents}
-\newcommand*\Default[1]{%
- \hfill\llap{%
- \ifblank{#1}
- {(initially~empty)}
- {Default:~\code{#1}}%
- }\newline
-}
+\defbibheading{bibliography}[\bibname]{\addsec{References}}
\makeatletter
-\providecommand*\sinceversion[1]{%
- \@bsphack
- \marginnote{%
- \footnotesize\sffamily\RaggedRight
- \textcolor{black!75}{Introduced in version~#1}}%
- \@esphack}
-\providecommand*\changedversion[1]{%
- \@bsphack
- \marginnote{%
- \footnotesize\sffamily\RaggedRight
- \textcolor{black!75}{Changed in version~#1}}%
- \@esphack}
-
\newcommand*\defaultsidenotes{%
\setsidenotes{
- note-mark-format = \@textsuperscript{\normalfont##1},
- text-format = \footnotesize
+ note-mark-format = \@textsuperscript{\normalfont\normalcolor##1},
+ text-format = \normalfont\normalcolor\footnotesize
}}
+\makeatother
\setsidenotes{
note-mark-format=#1.,
- text-mark-format=\textsu{\hspace*{\superiors@spaced}#1},
+ text-mark-format=\textsu{\hspace*{.04em}#1},
text-format+=\RaggedRight
}
-\makeatother
+
+\renewrobustcmd*\sinceversion[1]{%
+ \sidenote{\GetTranslation{cnltx-introduced}~#1}%
+}
+\renewrobustcmd*\changedversion[1]{%
+ \sidenote{\GetTranslation{cnltx-changed}~#1}%
+}
+
+\newname\kohm{Markus Kohm}
+\newname\tennent{Bob Tennent}
+\newname\thomas{Andy Thomas}
\begin{document}
-\section{License and Requirements}\label{sec:license}\secidx{License}
-\snotez is placed under the terms of the \LaTeX{} Project Public License,
-version 1.3 or later (\url{http://www.latex-project.org/lppl.txt}). It has the
-status ``maintained.''
+\section{License and Requirements}\label{sec:license}
+\license
-\snotez needs and loads the packages
-\paket*{etoolbox}\sidenote[*-2][]{\textcite{pkg:etoolbox}},
-\paket*{pgfopts}\sidenote[*-][]{\textcite{pkg:pgfopts}},
-\paket*{marginnote}\sidenote{\textcite{pkg:marginnote}} and
-\paket*{perpage}\sidenote{\textcite{pkg:perpage}}.
-\secidx*{License}
+\snotez\ needs and loads the packages
+\pkg{etoolbox}\sidenote(*-2){\textcite{pkg:etoolbox}},
+\pkg{pgfopts}\sidenote(*-1){\textcite{pkg:pgfopts}},
+\pkg{marginnote}\sidenote{\textcite{pkg:marginnote}} and
+\pkg{perpage}\sidenote{\textcite{pkg:perpage}}.
-\section{Motivation}
+\section{Motivation}\label{sec:motivation}
This has just been an exercise on a lazy
-afternoon\sidenote[*-2][]{\url{http://www.youtube.com/watch?v=PPRiaYH1iTk}}.
-Well, more or less at least. Since there already is Andy Thomas' \paket*{sidenotes}
-package\sidenote[*-][]{\textcite{pkg:sidenotes}} there is probably
-no real need for \snotez. Moreover, the tufte classes\sidenote{\textcite{cls:tufte}}
-as well as \klasse{memoir}\sidenote{\textcite{cls:memoir}} also provide corresponding
-mechanisms. Besides the fun I had my motivation was also based on the fact that
-I didn't like some smaller things (\emph{not} bugs) done by the \paket{sidenotes}
-package such as inserting kerns and superscripted commas for multiple marks. I
-prefer to let my \paket*{fnpct}\sidenote{\textcite{pkg:fnpct}} package handle
-these things. Anyways, here it is and it seems to be working as intended so I
-don't see a reason why it shouldn't be available for use.
+afternoon\sidenote{\url{https://www.youtube.com/watch?v=OU6EyXcFBxA}}. Well,
+in the beginning at least. Since there already is \thomas' \pkg{sidenotes}
+package\sidenote{\textcite{pkg:sidenotes}} there is probably no real need for
+\snotez. Moreover, the tufte classes\sidenote{\textcite{cls:tufte}} as well
+as \cls{memoir}\sidenote{\textcite{cls:memoir}} also provide corresponding
+mechanisms. Besides the fun I had my motivation was also based on the fact
+that I didn't like some things done by the \pkg{sidenotes} package such as
+inserting kerns and superscripted commas for multiple marks. I prefer to let
+my \pkg{fnpct}\sidenote{\textcite{pkg:fnpct}} package handle these things.
+Anyways, here it is and it seems to be working as intended so I don't see a
+reason why it shouldn't be available for use.
-By the way: the \paket*{fnpct} package v0.2k and later knows about \snotez and
-automatically adapts the note commands. Please note that you need to enable
-the \key{dblarg} option (see page~\pageref{key:dblarg}) when you're using
-\paket*{fnpct} together with \snotez!
+By the way: the \pkg{fnpct} package~v0.2k and later knows about \snotez\ and
+automatically adapts the note commands!
-\section{Introduction}\secidx{Introduction}
-The \snotez Package introduces a \cmd{sidenote} command%
+\section{Introduction}\label{sec:introduction}
+The \snotez\ package introduces a \cs{sidenote} command%
\begingroup\defaultsidenotes
\sidenote{This is an example demonstrating the default appearance.}
\endgroup
-that typesets sidenotes the
-same way \cmd{footnote} typesets footnotes. It provides some options that allow
-formatting the appearance of the sidenotes\sidenote[*][]{In all sidenotes in this
-document the mark is typeset on the baseline and the text is set ragged right.}.
-As a default sidenotes are typeset in a \cmd{marginpar} but there are possibilities
-using Markus Kohm's \paket{marginnote}~\cite{pkg:marginnote} package as well.
+that typesets sidenotes the same way \cs*{footnote} typesets footnotes. It
+provides some options that allow formatting the appearance of the
+sidenotes\sidenote{In all sidenotes in this document the mark is typeset
+ on the baseline and the text is set ragged right.}. As a default sidenotes
+are typeset in a \cs*{marginpar} but there are possibilities using \kohm's
+\pkg{marginnote}~\cite{pkg:marginnote} package as well.
As with footnotes it is possible to set mark and text separately using the
-equivalent commands \cmd{sidenotemark} and \cmd{sidenotetext}, respectively.
-Instead of lots of code examples this documentation will use the \cmd{sidenote}
-macro itself extensively. It is assumend you know how to use \cmd{footnote} and
-are able to transfer your knowledge.
-\secidx*{Introduction}
+equivalent commands \cs{sidenotemark} and \cs{sidenotetext}, respectively.
+Instead of lots of code examples this documentation will use the \cs{sidenote}
+macro itself extensively. It is assumend you know how to use \cs*{footnote}
+and are able to transfer your knowledge.
-\section{Usage}\secidx{Usage}
-The basic usage is the very same as with \LaTeX's \cmd{footnote}, \cmd{footnotemark}
-and \cmd{footnotetext}. Unsurprisingly the presented commands are these:
-\begin{beschreibung}
- \Befehl{sidenote}\oa{<mark>}\ma{<text>}\newline
- The basic command. The syntax is the very same as for \cmd{footnote}.
- \Befehl{sidenote}\oa{<offset>}\oa{<mark>}\ma{<text>}\newline
- Actually I lied: \cmd{sidenote} has a second option that smuggles itself
- before the \oa{<mark>} option if you use it: an argument for a vertical offset
- that takes a length. An empty second option assumes you want the automatic
- mark. If you use this argument the note is set with the \cmd{marginnote}
- command\sidenote[*-3][]{From the \paket{marginnote} package}.
- Please see its documentation\sidenote[*-2][]{For example with \texttt{texdoc
- marginnote} on your command line.}~\cite{pkg:marginnote} for the \da{<offset>}
- argument. \snotez only passes the value on.\par
- \sinceversion{0.3} Actually, this is only part of the truth: while typing this
- documentation I repeatedly found myself shifting notes by multiples of
- \cmd{baselineskip} so the argument accepts a shortcut for this. A star \code{*}
- followed by a (positive or negative) number denotes a multiple of \cmd{baselineskip}.
- By the way: a positive value shifts the note \emph{down}.\par
- When you're using the \key{dblarg}{false} option this second optional argument
- has parentheses instead of square brackets!
- \Befehl{sidenotemark}\oa{<text>}\newline
- This command has the same purpose as \cmd{footnotemark} but for sidenotes.
- \Befehl{sidenotetext}\oa{<mark>}\ma{<text>}\newline
- The same as \cmd{footnotetext} but for sidenotes. Beware where you place it:
- it calls \cmd{marginpar} or \cmd{marginnote} and thus determines where the
- actual note is placed.
- \Befehl{sidenotetext}\oa{<offset>}\oa{<mark>}\ma{<text>}\newline
- I lied again: \cmd{sidenotetext} also has the second optional argument
- \oa{<offset>} that again smuggles itself before the \oa{<mark>} option if you
- use it. For details see the second description of the \cmd{sidenote} command.
-\end{beschreibung}
+\section{Usage}\label{sec:usage}
+The basic usage is the very same as with \LaTeX's \cs*{footnote},
+\cs*{footnotemark} and \cs*{footnotetext}. Unsurprisingly the presented
+commands are these:
+\begin{commands}
+ \command{sidenote}[\oarg{mark}\marg{text}]
+ The basic command. The syntax is the very same as for \cs*{footnote}.
+ \command{sidenote}[\darg{offset}\oarg{mark}\marg{text}]
+ Actually I lied: \cs{sidenote} has a second option that smuggles itself
+ before the \meta{mark} option if you use it: an argument for a vertical
+ offset that takes a length. An empty second option assumes you want the
+ automatic mark. If you use this argument the note is set with the
+ \cs*{marginnote} command\sidenote(*-1){From the \pkg{marginnote}
+ package}. Please see its documentation\sidenote{For example with
+ \code{texdoc marginnote} on your command line.}~\cite{pkg:marginnote}
+ for the \meta{offset} argument. \snotez\ only passes the value on.
+
+ Actually, this is only part of the truth: while typing this documentation
+ I repeatedly found myself shifting notes by multiples of
+ \cs*{baselineskip} so the argument accepts a shortcut for this. A star
+ \code{*} followed by a (positive or negative) number denotes a multiple of
+ \cs*{baselineskip}. By the way: a positive value shifts the note
+ \emph{down}.
+
+ When you're using the \keyis{dblarg}{true} option the \meta{offset}
+ argument has square brackets instead of parentheses!
+ \command{sidenotemark}[\oarg{marg}]
+ This command has the same purpose as \cs*{footnotemark} but for
+ sidenotes.
+ \command{sidenotetext}[\oarg{mark}\marg{text}]
+ The same as \cs*{footnotetext} but for sidenotes. Beware where you place
+ it: it calls \cs*{marginpar} or \cs*{marginnote} and thus determines where
+ the actual note is placed.
+ \command{sidenotetext}[\darg{offset}\oarg{mark}\marg{text}]
+ I lied again: \cs{sidenotetext} also has the second optional argument
+ \meta{offset} that again smuggles itself before the \meta{mark} option if
+ you use it. For details see the second description of the \cs{sidenote}
+ command.
+\end{commands}
Here is one short example of the usage.
-\begin{beispiel}[code only]
- % produces a sidenote with automatic number in a
- % \marginpar:
- \sidenote{A note}
-
- % produces a sidenote with mark `a' in a
- % \marginpar:
- \sidenote[a]{A note}
-
- % produces a sidenote with automatic number in a
- % \marginnote:
- \sidenote[][]{A note}
- % alternative syntax (dblarg=false):
- \sidenote(){A note}
+\begin{sourcecode}
+ % produces a sidenote with automatic number in a
+ % \marginpar:
+ \sidenote{A note}
+
+ % produces a sidenote with mark `a' in a
+ % \marginpar:
+ \sidenote[a]{A note}
+
+ % produces a sidenote with automatic number in a
+ % \marginnote:
+ \sidenote(){A note}
+ % alternative syntax (dblarg=true):
+ \sidenote[][]{A note}
+
+ % produces a sidenote with automatic number in a
+ % \marginnote shifted down by \baselineskip:
+ \sidenote(*){A note}
+ % alternative syntax (dblarg=true):
+ \sidenote[*][]{A note}
+
+ % produces a sidenote with automatic number in a
+ % \marginnote shifted up by 2ex:
+ \sidenote(-2ex){A note}
+ % alternative syntax (dblarg=true):
+ \sidenote[-2ex][]{A note}
+
+ % produces a sidenote with mark `a' in a
+ % \marginnote shifted down by 2\baselineskip:
+ \sidenote(*2)[a]{A note}
+ % alternative syntax (dblarg=true):
+ \sidenote[*2][a]{A note}
+\end{sourcecode}
- % produces a sidenote with automatic number in a
- % \marginnote shifted down by \baselineskip:
- \sidenote[*][]{A note}
- % alternative syntax (dblarg=false):
- \sidenote(*){A note}
+\section{Figures in the Margin}\label{sec:figures-margin}
+In the case of small figures or tables one might want to place them in the
+margin, too. Especially in a document with a larger margin than it is in the
+standard classes.
- % produces a sidenote with automatic number in a
- % \marginnote shifted up by 2ex:
- \sidenote[-2ex][]{A note}
- % alternative syntax (dblarg=false):
- \sidenote(-2ex){A note}
+For these cases \snotez\ provides\sinceversion{0.5} these environments:
+\begin{environments}
+ \environment{sidefigure}
+ Places a figure in the margin within a \cs*{marginpar}. \cs*{caption} can
+ be used in the usual way.
+ \environment{sidetable}
+ Places a table in the margin within a \cs*{marginpar}. \cs*{caption} can
+ be used in the usual way.
+\end{environments}
- % produces a sidenote with mark `a' in a
- % \marginnote shifted down by 2\baselineskip:
- \sidenote[*2][a]{A note}
- % alternative syntax (dblarg=false):
- \sidenote(*2)[a]{A note}
-\end{beispiel}
-\secidx*{Usage}
+In order to be able to place other floats in the margin, too, \snotez\
+provides the following command:
+\begin{commands}
+ \command{newsnotezfloat}[\oarg{code}\marg{name}]
+ This defines a new environment \code{side}\meta{name}. \meta{code} would
+ be placed after the formatting from \option{sidefloat-format} but before
+ the environment's contents.
+\end{commands}
+Both existing environments have been defined with this command.
+\begin{sourcecode}
+ \newsnotezfloat{figure}
+ \newsnotezfloat{table}
+\end{sourcecode}
-\section{Options}\secidx{Options}
+\section{Options}\label{sec:options}
Although all options can be used as package option you can also set all options
(locally) with a setup command:
-\begin{beschreibung}
- \Befehl{setsidenotes}{<options>}
-\end{beschreibung}
+\begin{commands}
+ \command{setsidenotes}[\marg{options}]
+ Set options as a comma-separated list of key/value pairs.
+\end{commands}
Available options are these:
-\begin{beschreibung}
- \Option{dblarg}{\default{true}|false}\Default{true}
- \sinceversion{0.3}\emph{This option can only be used as a package option!}
- Prior to version~0.3 \snotez' \cmd{sidenote} and \cmd{sidenotetext} had both
- their optional arguments with square brackets where the use of one argument
- referred to the mark but when both were used the first argument referred to
- the offset and the second to the mark. This syntax is kept with this option.
- Setting it to \code{false} changes the \oa{<offset>} argument syntax into
- \da{<offset>}.\par
- \emph{If you're using \snotez together with the \paket*{fnpct} package~\cite{pkg:fnpct}
- you cannot set \key{dblarg} to \code{false}. Otherwise the \da{<offset>}
- argument get's lost!}
- \Option{marginnote}{\default{true}|false}\Default{false}
- Use \paket{marginnote}'s \cmd{marginnote}~\cite{pkg:marginnote} for all
- \cmd{sidenote}s. In the default setting \cmd{sidenote} uses \cmd{marginpar}s
- to set the sidenote unless you use the \oa{<offset>} argument. If you use
- this option \emph{all} sidenotes are set with \cmd{marginnote}. \emph{This
- option can only be used in the preamble}.
- \Option{text-format}{<code>}\Default{\cmd*{footnotesize}}
- The format of the sidenote text.
- \Option{text-format+}{<code>}\Default{}
- Code to be appended to the format set with \key{text-format}\sidenote{This
- document, for example, appends \paket*{ragged2e}'s \cmd*{RaggedRight}~\cite{pkg:ragged2e}
- to the sidenote's format.}.
- \Option{perpage}{\default{true}|false}\Default{false}
- Make sidenotes counter per page. \emph{This option can only be set in the
- preamble}. It uses package \paket{perpage}'s~\cite{pkg:perpage}
- \cmd{MakeSortedPerPage} macro for the task. Otherwise the macro
- \cmd{MakeSorted} is used. In the default setting sidenotes are counted per
- chapter. If you want sidenotes counted document-wise together with a class
- that defines a counter \code{chapter} then use for example the package
- \paket*{chngcntr}~\cite{pkg:chngcntr} and issue
- \cmd*{counterwithout}{sidenote}\ma{chapter} after loading \snotez.
- This documentation is an example for the use of the option.
- \Option{note-mark-sep}{<code>}\Default{\cmd*{space}}
- The separator between sidenote mark and sidenote text in the sidenote.
- \Option{note-mark-format}{<code>}\Default{\cmd*{@textsuperscript}\{\cmd*{normalfont}\#1\}}
- The format of the sidenote mark in the sidenote. Please refer to the actual
- mark with \code{\#1}.
- \Option{text-mark-format}{<code>}\Default{\cmd*{@textsuperscript}\{\cmd*{normalfont}\#1\}}
- The format of the sidenote mark in the text\sidenote[*-][]{This document uses
- Michael Sharpe's \paket*{superiors} package~\cite{pkg:superiors} and redefines
- the mark formats to use its \cmd*{textsu} command.}. Please refer to the actual
- mark with \code{\#1}.
- \Option{footnote}{\default{true}|false}\Default{false}
- Let\sidenote[*][]{In the sense of \cmd*{let}} \cmd{footnote} to be \cmd{sidenote},
- \cmd{footnotemark} to be \cmd{sidenotemark} and \cmd{footnotetext} to be
- \cmd{sidenotetext}. \emph{This option can only be used in the preamble}.
-\end{beschreibung}
+\begin{options}
+ \keybool{dblarg}\Default{false}\label{key:dblarg}%
+ Prior to version~0.3 \snotez' \cs{sidenote} and \cs{sidenotetext} had both
+ their optional arguments with square brackets where the use of one argument
+ referred to the mark but when both were used the first argument referred
+ to the offset and the second to the mark. This syntax is kept with this
+ option. Setting it to \code{true} changes the \darg{offset} argument
+ syntax into \oarg{offset}.
+ \keybool{marginnote}\Default{false}
+ Use \pkg{marginnote}'s \cs*{marginnote}~\cite{pkg:marginnote} for all
+ \cs{sidenote}s. In the default setting \cs{sidenote} uses
+ \cs*{marginpar}s to set the sidenote unless you use the \meta{offset}
+ argument. If you use this option \emph{all} sidenotes are set with
+ \cs*{marginnote}. \emph{This option can only be used in the preamble}.
+ \keyval{text-format}{code}\Default{\cs*{normalfont}\cs*{footnotesize}}
+ The format of the sidenote text.
+ \keyval{text-format+}{code}\Default
+ Code to be appended to the format set with
+ \option{text-format}\sidenote{This document, for example, appends
+ \pkg{ragged2e}'s \cs*{RaggedRight}~\cite{pkg:ragged2e} to the
+ sidenote's format.}.
+ \keybool{perpage}\Default{false}
+ \emph{This option can only be set in the preamble}. Make sidenotes
+ counter per page. It uses package \pkg{perpage}'s~\cite{pkg:perpage}
+ \cs*{MakeSortedPerPage} macro for the task. Otherwise the macro
+ \cs*{MakeSorted} is used. In the default setting sidenotes are counted
+ per chapter. If you want sidenotes counted document-wise together with a
+ class that defines a counter \code{chapter} then use for example the
+ package \pkg{chngcntr}~\cite{pkg:chngcntr} and issue
+ \cs*{counterwithout}\Marg{sidenote}\Marg{chapter} after loading \snotez.
+ This documentation is an example for the use of the option.
+ \keyval{note-mark-sep}{code}\Default{\cs*{space}}
+ The separator between sidenote mark and sidenote text in the sidenote.
+ \keyval{note-mark-format}{code}\Default{\cs*{@textsuperscript}\Marg{\cs*{normalfont}\#1}}
+ The format of the sidenote mark in the sidenote. Please refer to the
+ actual mark with \code{\#1}.
+ \keyval{text-mark-format}{code}\Default{\cs*{@textsuperscript}\Marg{\cs*{normalfont}\#1}}
+ The format of the sidenote mark in the text\sidenote(*-1){This document
+ uses \tennent's \pkg{libertine} package~\cite{pkg:libertine} and
+ redefines the mark formats to use its \cs*{textsu} command.}. Please
+ refer to the actual mark with \code{\#1}.
+ \keybool{footnote}\Default{false}
+ \emph{This option can only be used in the preamble}. Let\sidenote{In
+ the sense of \cs*{let}} \cs*{footnote} to be \cs{sidenote},
+ \cs*{footnotemark} to be \cs{sidenotemark} and \cs*{footnotetext} to be
+ \cs{sidenotetext}.
+ \keyval{sidefloat-format}{code}\Default{\cs*{raggedright}}
+ The format of the contents of a sidefloat environment
+ text\sinceversion{0.5}.
+ \keyval{sidefloat-format+}{code}
+ Code to be appended to the format set with
+ \option{sidefloat-format}\sinceversion{0.5}.
+\end{options}
+\clearpage
As a short example this is how the sidenotes for this document are formatted:
-\begin{beispiel}[code only]
-\setsidenotes{
- note-mark-format=#1.,
- text-mark-format=\textsu{\hspace*{\superiors@spaced}#1},
- text-format+=\RaggedRight,
- perpage=true
-}
-\end{beispiel}
-\secidx*{Options}
+\begin{sourcecode}
+ \setsidenotes{
+ note-mark-format=#1.,
+ text-mark-format=\textsu{\hspace*{.04em}#1},
+ text-format+=\RaggedRight,
+ perpage=true
+ }
+\end{sourcecode}
-\setlength{\linewidth}{\dimexpr\textwidth+.5\marginparwidth}
-\printbibliography
\section{Implementation}
In the following code the lines 1--30 have been omitted. They only repeat the
license statement which has already been mentioned in section~\ref{sec:license}.
-\implementation[linerange={31-1000},firstnumber=31]
+\implementation[
+ linerange={31-1000},
+ firstnumber=31,
+ basicstyle=\ttfamily\footnotesize
+]{snotez.sty}
-\indexprologue{\noindent Section titles are indicated \textbf{bold}, packages
-\textsf{sans serif}, commands \code{\textbackslash\textcolor{code}{brown}}
- and options \textcolor{key}{\code{yellow}}.\par\bigskip}
+\indexprologue{\noindent Package names are indicated {\packageformat sans
+ serif}, commands \code{\textbackslash\textcolor{cs}{brown}} and options
+ \textcolor{option}{\code{yellow}}.\par\bigskip}
-\printindex
+% \printindex
-\end{document} \ No newline at end of file
+\end{document}