summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex-dev/latex-lab
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-16 21:01:50 +0000
committerKarl Berry <karl@freefriends.org>2022-03-16 21:01:50 +0000
commitedc4da5fa2ccf95dc2d8e78bd12c6532e6074098 (patch)
tree2cbeacd10abcd62cbf748f76a086d6dfb171b5d4 /Master/texmf-dist/doc/latex-dev/latex-lab
parent68a75026205e8146e3f641432ffc7e569d4465f0 (diff)
latex-lab-dev (16mar22)
git-svn-id: svn://tug.org/texlive/trunk@62742 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex-dev/latex-lab')
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/README.md10
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/changes.txt6
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-code.pdfbin511324 -> 511154 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-doc.pdfbin375470 -> 375201 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-footnotes.pdfbin0 -> 614456 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-new-or.pdfbin0 -> 528960 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-prototype.pdfbin0 -> 525128 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-testphase.pdfbin304289 -> 291005 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotemark.txt186
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotetext.txt842
-rw-r--r--Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-kern-kern.txt80
11 files changed, 1123 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/README.md b/Master/texmf-dist/doc/latex-dev/latex-lab/README.md
index 3d71aa821c7..39f7f74d696 100644
--- a/Master/texmf-dist/doc/latex-dev/latex-lab/README.md
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/README.md
@@ -1,5 +1,9 @@
# LaTeX laboratory
+Release 2022-06-01 pre-release 2
+
+## Overview
+
This bundle holds optional files that are loaded in certain situations
by kernel code (if available). For example, the new (as of 2021/12)
`\DocumentMetadata` command in the kernel loads a file from here holding
@@ -20,6 +24,10 @@ to documents already using the new functionality.
### Support for `\DocumentMetadata`
+### New output routine code (under development)
+
+ - so far there is a first implementation of footnote support
+
## License
@@ -30,5 +38,5 @@ The license is LPPL 1.3c.
This README file is
-Copyright (C) 2021
+Copyright (C) 2021-2022
The LaTeX Project
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/changes.txt b/Master/texmf-dist/doc/latex-dev/latex-lab/changes.txt
index 9551d74b797..e146c5a0fbe 100644
--- a/Master/texmf-dist/doc/latex-dev/latex-lab/changes.txt
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/changes.txt
@@ -1,3 +1,9 @@
+2022-03-08 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex-lab-prototype.dtx
+ New file re-implementing ideas from on xtemplate.dtx using updated
+ keyval support
+
2021-12-30 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* documentmeta-support.dtx:
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-code.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-code.pdf
index 674a5b97318..0f698d80809 100644
--- a/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-code.pdf
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-doc.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-doc.pdf
index b7a32c69047..b2eeed8d7ed 100644
--- a/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-doc.pdf
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/documentmetadata-support-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-footnotes.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-footnotes.pdf
new file mode 100644
index 00000000000..8d905d055bf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-footnotes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-new-or.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-new-or.pdf
new file mode 100644
index 00000000000..3d7c9318a16
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-new-or.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-prototype.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-prototype.pdf
new file mode 100644
index 00000000000..06e1e123d69
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-prototype.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-testphase.pdf b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-testphase.pdf
index bd2644efb41..4aa0d75725b 100644
--- a/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-testphase.pdf
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/latex-lab-testphase.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotemark.txt b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotemark.txt
new file mode 100644
index 00000000000..684a695faa1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotemark.txt
@@ -0,0 +1,186 @@
+% packages that alter \@footnotemark ...
+
+
+% bibarts
+
+\let\ba@footnmark=\@footnotemark
+\def\@footnotemark{\ifhmode{\nobreak \hskip 0.04em plus 0.01em}\else\leavevmode\fi\ba@footnmark}%
+
+
+% ./bxjscls/bxjsja-minimal.def
+
+\def\bxjs@cjk@loaded{%
+ \def\@footnotemark{%
+ \leavevmode
+ \ifhmode
+ \edef\@x@sf{\the\spacefactor}%
+ \ifdim\lastkern>\z@\ifdim\lastkern<5sp\relax
+ \unkern\unkern
+ \ifdim\lastskip>\z@ \unskip \fi
+ \fi\fi
+ \nobreak
+ \fi
+ \@makefnmark
+ \ifhmode \spacefactor\@x@sf \fi
+ \relax}%
+ \let\bxjs@cjk@loaded\relax
+}
+
+% ./arabtex/afoot.sty
+
+\let \a@@footnotemark \@footnotemark
+
+\def \a@footnotemark {% inside Arabic environment
+\iftrans \unskip \unskip \nobreak \@makefnmark \fi
+\ifarab \a@spacefalse \putwordb@x \@makefnmark \a@spacetrue \fi }
+
+% ./hyperref/hyperref.sty
+
+ \def\@footnotemark{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \stepcounter{Hfootnote}%
+ \global\let\Hy@saved@currentHref\@currentHref
+ \hyper@makecurrent{Hfootnote}%
+ \global\let\Hy@footnote@currentHref\@currentHref
+ \global\let\@currentHref\Hy@saved@currentHref
+ \hyper@linkstart{link}{\Hy@footnote@currentHref}%
+ \@makefnmark
+ \hyper@linkend
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax
+ }%
+
+
+% ./hypdvips/hypdvips.sty
+
+ \def\@footnotemark{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \stepcounter{Hfootnote}%
+ \global\let\Hy@saved@currentHref\@currentHref
+ \hyper@makecurrent{Hfootnote}%
+ \global\let\Hy@footnote@currentHref\@currentHref
+ \global\let\@currentHref\Hy@saved@currentHref
+ \ifHy@draft%
+ \@makefnmark%
+ \else%
+ \pp@hyperfootnote%
+ \fi%
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax
+ }
+
+ \newcommand{\pp@hyperfootnote}{%
+ \ifx\pp@activerect\pp@true%
+ \@makefnmark%
+ \else%
+ \ifpp@smallfootnotes%
+ \let\pp@backup@@thefnmark\@thefnmark%
+ \renewcommand{\@thefnmark}{\pdf@rect{\pp@backup@@thefnmark}}%
+ \Hy@colorlink\@footnotecolor%
+ \@makefnmark%
+ \Hy@endcolorlink%
+ \pdfmark{%
+ pdfmark=/ANN,%
+ linktype=footnote,%
+ Subtype=/Link,%
+ AcroHighlight=\@pdfhighlight,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=\@footnotebordercolor,%
+ Dest=\Hy@footnote@currentHref,%
+ Raw=H.B%
+ }%
+ \let\@thefnmark\pp@backup@@thefnmark%
+ \else%
+ \pdfmark[\@makefnmark]{%
+ pdfmark=/ANN,%
+ linktype=footnote,%
+ Subtype=/Link,%
+ AcroHighlight=\@pdfhighlight,%
+ Border=\@pdfborder,%
+ BorderStyle=\@pdfborderstyle,%
+ Color=\@footnotebordercolor,%
+ Dest=\Hy@footnote@currentHref%
+ }%
+ \fi%
+ \fi%
+ }
+
+
+% ./memoir/memhfixc.sty
+
+\ifHy@hyperfootnotes
+ \def\@footnotemark{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}%
+ \m@mmf@check% <--- added
+ \nobreak\fi
+ \stepcounter{Hfootnote}%
+ \global\let\Hy@saved@currentHref\@currentHref
+ \hyper@makecurrent{Hfootnote}%
+ \global\let\Hy@footnote@currentHref\@currentHref
+ \global\let\@currentHref\Hy@saved@currentHref
+ \hyper@linkstart{link}{\Hy@footnote@currentHref}%
+ \@makefnmark
+ \hyper@linkend
+ \m@mmf@prepare% <--- added
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax
+ }%
+\fi
+
+
+% caption3.sty
+
+% this is altering the top-level when inside a float
+
+
+% ./koma-script/scrlttr2.cls
+
+\newcommand*{\scr@footnotemark}{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi
+ \@makefnmark
+ \csname FN@mf@prepare\endcsname
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax}
+
+% tested against this ...
+
+\newcommand*{\scr@saved@footnotemark}{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \@makefnmark
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax}
+
+
+% ./chextras/chextras.sty
+
+\ifstd@notes\else
+ \let\std@footnotemark\@footnotemark
+ \def\alt@footnotemark{\unskip\thinspace\std@footnotemark}
+ \let\@footnotemark\alt@footnotemark
+
+% footmisx.sty
+
+ \newcommand*\@footmisxnotemark{%
+ \leavevmode
+ \ifhmode
+ \edef\@x@sf{\the\spacefactor}%
+ \FN@mf@check
+ \nobreak
+ \fi
+ \@footmicx@makefnmark
+ \ifFN@pp@towrite
+ \FN@pp@writetemp
+ \FN@pp@towritefalse
+ \fi
+ \FN@mf@prepare
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax
+ }
+
+
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotetext.txt b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotetext.txt
new file mode 100644
index 00000000000..48a31728433
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-footnotetext.txt
@@ -0,0 +1,842 @@
+
+% ./bibarts/bibarts.sty
+
+\let\ba@footnotetext=\@footnotetext
+\long\def\@footnotetext#1{\ba@footnotetext{%
+ \global\let\thisto@ba=-%
+ \global\let\thisti@ba=-%
+ \global\let\thisp@ba=-%
+ \global\let\thisvol@ba=-%
+ \global\let\thiss@ba=-%
+ \global\let\thisn@ba=-%
+ \global\let\pos@ba=0%
+ \kern 0.1em\nulskip@ba{\@footnotetrue\ignorespaces
+ #1\nulskip@ba\ba@textmode}\global\let\lastto@ba=\thisto@ba
+ \global\let\lastti@ba=\thisti@ba
+ \global\let\lastp@ba=\thisp@ba
+ \global\let\lastvol@ba=\thisvol@ba
+ \global\let\lasts@ba=\thiss@ba
+ \global\let\lastn@ba=\thisn@ba}}%
+
+
+% ./fnbreak/fnbreak.sty
+
+ \let\fnb@orig@footnotetext\@footnotetext
+ \long\def\@footnotetext#1{\fnb@orig@footnotetext{\fnb@fnstart#1\fnb@fnend}}%
+
+
+% ./revtex4-1/revtex4-1.cls ./revtex/ltxutil.sty ./revtex/revtex4-2.cls ...
+
+\long\def\@footnotetext{%
+ \insert\footins\bgroup
+ \make@footnotetext
+}%
+\long\def\@mpfootnotetext{%
+ \minipagefootnote@pick
+ \make@footnotetext
+}%
+\long\def\make@footnotetext#1{%
+ \set@footnotefont
+ \set@footnotewidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@\@mpfn\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1%
+ \@finalstrut\strutbox\vadjust{\vskip\z@skip}%
+ }%
+ \color@endgroup
+ \minipagefootnote@drop
+}%
+
+
+% ./nrc/nrc1.cls ./nrc/nrc2.cls
+
+% this is missing the \par at the end and \@currentcounter
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \reset@font\smallt
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox
+ }%
+ \color@endgroup
+ }%
+}%
+
+%-------------------------------------
+
+% ./bigfoot/bigfoot.sty
+
+ \def\@footnotetext{\Footnotetextdefault{}}%
+
+%-------------------------------------
+
+
+% ./uafthesis/uafthesis.cls
+
+% this is missing the \par at the end and \@currentcounter
+
+%% this little gem provides for single-spaced footnotes
+\long\def\@footnotetext#1{\insert\footins{%
+ \ssp
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}}}
+
+%-------------------------------------
+
+
+
+% ./resphilosophica/resphilosophica.cls
+
+% I wonder if this \, is really intended below ...
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \normalfont\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep \splitmaxdepth \dp\strutbox
+ \floatingpenalty\@MM \hsize\columnwidth
+ \@parboxrestore \parindent\normalparindent \sloppy
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \@makefntext{%
+ \,\rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
+
+%-------------------------------------
+
+
+
+% ./setspace/setspace.sty
+
+% this is missing the \par at the end and \@currentcounter
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+% GT: Next line added. Hook desired here!
+ \def\baselinestretch {\setspace@singlespace}%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+%-------------------------------------
+
+
+
+% ./linguex/linguex.sty
+
+
+\let\predefinedfootnotetext=\@footnotetext
+\long\def\@footnotetext#1{\@noftnotefalse\predefinedfootnotetext{#1}%
+ \@noftnotetrue}
+
+
+%-------------------------------------
+
+
+% ./fnpara/fnpara.sty
+
+\long\def\@footnotetext#1{\insert\footins{%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \setbox0=\hbox{%
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox
+ \penalty -10
+ \hskip\footglue
+ }%
+ }%
+ \dp0=0pt \ht0=\fudgefactor\wd0 \box0
+ \color@endgroup}}
+
+%-------------------------------------
+
+
+% ./footmisc/footmisc.sty (para option)
+
+% this is missing the \par at the end and \@currentcounter
+
+ \long\def\FN@footnotetext#1{%
+ \insert\footins{%
+ \ifFN@setspace
+ \let\baselinestretch\FN@baselinestretch
+ \fi
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox
+ \floatingpenalty\@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \setbox\FN@tempboxa\hbox{%
+ \@makefntext{\ignorespaces#1\strut
+ \penalty-10\relax
+ \hskip\footglue
+ }% end of \@makefntext parameter
+ }% end of \hbox
+ \dp\FN@tempboxa\z@
+ \ht\FN@tempboxa\dimexpr\wd\FN@tempboxa *%
+ \footnotebaselineskip / \columnwidth\relax
+ \box\FN@tempboxa
+ \color@endgroup
+ }%
+ \FN@mf@prepare
+ }
+
+%-------------------------------------
+
+
+% ./footmisc/footmisc.sty (normal)
+
+% this is missing the \par at the end and \@currentcounter
+
+ \long\def\FN@footnotetext#1{%
+ \insert\footins{%
+ \ifFN@setspace
+ \let\baselinestretch\FN@baselinestretch
+ \fi
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox
+ \floatingpenalty\@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep
+ \ignorespaces#1\@finalstrut\strutbox
+ }%
+ \color@endgroup
+ }%
+ \FN@mf@prepare
+ }%
+
+
+
+%-------------------------------------
+
+
+% ./footmisc/footmisc.sty (side option)
+
+ \long\def\FN@footnotetext#1{%
+ \marginpar{%
+ \ifFN@setspace
+ \let\baselinestretch\FN@baselinestretch
+ \fi
+ \reset@font\footnotesize
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \ignorespaces#1%
+ }%
+ \color@endgroup
+ }%
+ \FN@mf@prepare
+ }%
+
+
+
+%-------------------------------------
+
+
+
+% ./bxjscls/bxjsarticle.cls ./bxjscls/bxjsbook.cls ...
+
+\long\def\@footnotetext{%
+ \insert\footins\bgroup
+ \normalfont\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces}%
+ \futurelet\jsc@next\jsc@fo@t}
+\def\jsc@fo@t{\ifcat\bgroup\noexpand\jsc@next \let\jsc@next\jsc@f@@t
+ \else \let\jsc@next\jsc@f@t\fi \jsc@next}
+\def\jsc@f@@t{\bgroup\aftergroup\jsc@@foot\let\jsc@next}
+\def\jsc@f@t#1{#1\jsc@@foot}
+\def\jsc@@foot{\@finalstrut\strutbox\color@endgroup\egroup
+ \ifx\pltx@foot@penalty\@undefined\else
+ \ifhmode\null\fi
+ \ifnum\pltx@foot@penalty=\z@\else
+ \penalty\pltx@foot@penalty
+ \pltx@foot@penalty\z@
+ \fi
+ \fi}
+
+
+not covered so far supports \footnote{ catcode changes ...} but also
+\foonote A --- the latter is questionable I would say
+
+
+%-------------------------------------
+
+
+% ./fn2end/fn2end.sty
+
+obsolete I guess, ignored in evaluation
+
+
+%-------------------------------------
+
+
+% ./hyperref/hyperref.sty
+
+ \long\def\@footnotetext#1{%
+ \H@@footnotetext{%
+ \ifHy@nesting
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ {%
+ \expandafter\hyper@@anchor\expandafter{%
+ \Hy@footnote@currentHref
+ }{\ignorespaces #1}%
+ }{%
+ \Hy@raisedlink{%
+ \expandafter\hyper@@anchor\expandafter{%
+ \Hy@footnote@currentHref
+ }{\relax}%
+ }%
+ \let\@currentHref\Hy@footnote@currentHref
+ \let\@currentlabelname\@empty
+ \ignorespaces #1%
+ }%
+ }%
+ }%
+
+
+Handling of anchors (in nested context) I guess. This needs to be
+married with the anchor setting that the tagging currently does and
+the latter improved/adjusted
+
+
+%-------------------------------------
+
+% ./biblatex-gb7714-2015/gb7714-2015ms.bbx ./biblatex-gb7714-2015/gb7714-2015mx.bbx ...
+
+ \long\def\@footnotetext##1{\insert\footins{%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \leftskip \footbibmargin%增加的左侧缩进
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces##1\@finalstrut\strutbox%
+ }%
+ \color@endgroup}}%
+
+fits the structure
+%-------------------------------------
+
+
+% ./amscls/amsbook.cls ./amscls/amsproc.cls ./amscls/amsart.cls ...
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \normalfont\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep \splitmaxdepth \dp\strutbox
+ \floatingpenalty\@MM \hsize\columnwidth
+ \@parboxrestore \parindent\normalparindent \sloppy
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
+
+fits the structure
+%-------------------------------------
+
+
+% ./umich-thesis/umich-thesis.cls
+
+% change LaTeX's footnotes to get vertical spacing correct
+\skip\footins \baselinestretch2\skip\footins
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \def\baselinestretch {\setspace@singlespace}%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \vskip 1.2\baselineskip
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+fits the structure
+%-------------------------------------
+
+
+% ./nostarch/nostarch.cls
+
+\long\def\@footnotetext#1{\insert\footins{%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@{13.5pt}\ignorespaces#1}%
+ \color@endgroup}}%
+
+fixed \footsep, probably very old
+fits the structure
+%-------------------------------------
+
+
+
+% ./coursepaper/coursepaper.cls
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \def\baselinestretch {1}%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+fits the structure
+%-------------------------------------
+
+
+
+% ./ucthesis/ucthesis.cls
+
+% Single-space footnotes.
+\long\def\@footnotetext#1{\insert\footins{\ssp\reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}}}
+
+fits the structure
+%-------------------------------------
+
+
+
+% ./jura/jura.cls
+
+\long\def\@footnotetext#1{\insert\footins{%
+ \linespread{\J@FootnoteSpread}\reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}%
+
+fits the structure
+%-------------------------------------
+
+
+% ./asaetr/asaesub.sty
+
+2.09
+
+%-------------------------------------
+
+
+% ./lineno/fnlineno.sty
+
+%% |\FNLN@@text| stores the `\@footnotetext' found,
+%% we might check if it is `\FNLN@ltx@fntext' ... %% TODO
+\let\FNLN@@text\@footnotetext
+\def\@footnotetext{%
+ \ifLineNumbers \expandafter \FNLN@text
+ \else \expandafter \FNLN@@text
+ \fi}
+
+
+\def \FNLN@text {% %% 2010/12/31 arg read later
+ \vadjust{\penalty-\FNLN@M@swap@codepen}%
+%% Standard \LaTeX's `\@footnotetext' expands `\@thefnmark'
+%% to produce the footnote mark at the page bottom,
+%% right after it has been determined for the mark
+%% in the main text. \emph{Here} the footnote text
+%% will be typeset only when \emph{other} footnote marks
+%% may have been formed for typesetting the main text
+%% paragraph before.
+%% %%% (TODO clearer wording)
+%% In the \strong{footnote list}
+%% macro |\FNLN@list|, the (\dqtd{`&\protect'ed})
+%% \emph{current} expansion <mark> of `\@thefnmark'
+%% is stored as an item preceding the footnote text
+%% <text>. One footnote entry in `\FNLN@list'
+%% thus has the form \lq`<mark>\@lt<text>\@lt'\rq.
+%% \LaTeX's internal `\g@addto@macro' is used to \emph{append}
+%% an entry to the list (at the right). The OTR will later
+%% take the entries from the left of the list.
+%%
+%% The argument of the auxiliary/temporary `\@tempa'
+%% will contain the footnote text and thus must be able to
+%% carry `\par' tokens. We therefore need a `\long' version of
+%% `\protected@edef':
+ \let\@@protect\protect
+ \let\protect\@unexpandable@protect
+ \afterassignment\restore@protect
+ \long \edef \@tempa ##1{%
+ \noexpand\g@addto@macro \noexpand\FNLN@list {%
+ \@thefnmark \noexpand\@lt ##1\noexpand \@lt}}%
+%% ... issuing
+%% \lq`\g@addto@macro\FNLN@list{<mark>\elt<text>\@lt}'\rq\ ...
+ \@tempa %% reads arg
+}
+%% Here we initialize |\FNLN@list|:
+\let\FNLN@list\@empty
+
+
+
+probably continues working but needs separate checking
+
+%-------------------------------------
+
+
+
+% ./jurabib/jurabib.sty
+
+ \long\def\@footnotetext#1{%
+ \Orig@tabularx@footnotetext{%
+ \jb@fntrue
+ #1%
+ \setcounter{jb@cites@in@footnote}{0}%
+ }%
+ }%
+
+ \let\jbsaved@footnotetext\@footnotetext
+ \long\def\@footnotetext#1{%
+ \begingroup
+ \jb@fntrue
+ \jbsaved@footnotetext{#1}%
+ \setcounter{jb@cites@in@footnote}{0}%
+ \endgroup
+ }%
+
+
+first is table notes, second
+fits the structure
+%-------------------------------------
+
+
+
+% ./york-thesis/york-thesis.cls
+
+\long\def\@footnotetext#1{%
+ \insert\footins{%
+ \def\baselinestretch {1}%
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+fits the structure
+%-------------------------------------
+
+
+% ./ucdavisthesis/ucdavisthesis.cls
+
+\long\def\@footnotetext#1{\insert\footins{\renewcommand\baselinestretch{1}
+ \footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}\renewcommand\baselinestretch{\@spacing}}}
+
+looks old ...
+fits the structure
+%-------------------------------------
+
+
+% ./ledmac/afoot.sty
+
+fairly old and buggy in some aspects
+
+%%% Make the LaTeX \cs{footnote} catcode-safe, like in Plain TeX.
+
+\def \@footnotetext {% new, do not yet read footnote text
+ \insert \footins \bgroup
+ \ifx \footglue \undefined % prepare normal footnote
+ \interlinepenalty \interfootnotelinepenalty \floatingpenalty \@MM
+ \splittopskip \footnotesep \splitmaxdepth \dp \strutbox
+ \else
+ \global\long\def \@makefntext ##1{{$^{\@thefnmark }$}##1\nobreak }%
+ \setbox0=\hbox \bgroup % fnpara.sty is present
+ \floatingpenalty=20000 \footnotesize
+ \fi
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ \a@fntext }
+
+
+%-------------------------------------
+
+
+% ./toptesi/toptesi.sty
+
+
+\long\def\@footnotetext#1{\insert\footins{\linespread{1}\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+
+
+fits the structure
+%-------------------------------------
+
+
+% ./gb4e/gb4e.sty
+
+\let\@gbsaved@footnotetext=\@footnotetext
+\long\def\@footnotetext#1{%
+ \@noftnotefalse\setcounter{fnx}{0}%
+ \@gbsaved@footnotetext{#1}%
+ \@noftnotetrue}
+
+fits the structure
+%-------------------------------------
+
+
+
+% ./koma-script/scrlttr2.cls ./koma-script/scrextend.sty ./koma-script/scrreprt.cls ...
+
+same bug as footmisc: the @prepare is in the wrong place
+
+fits the structure
+%-------------------------------------
+
+
+
+% ./tabu/tabu.sty
+
+not checked what that does
+
+
+%-------------------------------------
+
+
+% ./uwthesis/uwthesis.cls
+
+does chapter notes -- ignore for now
+
+%-------------------------------------
+
+
+% ./tools/multicol.sty
+
+\long\def\mult@footnotetext#1{\begingroup
+ \columnwidth\textwidth
+ \orig@footnotetext{#1}\endgroup}
+
+
+fits the structure, but need to think what makes sense here as this a
+temporary redefinition for the environment only
+
+%-------------------------------------
+
+
+% ./fancyvrb/fancyvrb.sty
+
+\long\def\V@footnotetext{%
+ \afterassignment\V@@footnotetext
+ \let\@tempa}
+\def\V@@footnotetext{%
+ \insert\footins\bgroup
+ \csname reset@font\endcsname
+ \footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth\dp\strutbox
+ \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \def\@currentcounter{footnote}%
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ \@makefntext{}%
+ \rule{\z@}{\footnotesep}%
+ \bgroup
+ \aftergroup\V@@@footnotetext
+ \ignorespaces}
+\def\V@@@footnotetext{\strut\egroup}
+
+
+another one of the footnote commands that do not read they argument as an argument
+
+%-------------------------------------
+
+
+% ./savefnmark/savefnmark.sty
+
+obsolete
+
+%-------------------------------------
+
+
+% ./changebar/changebar.sty
+
+\let\ltx@footnotetext\@footnotetext
+\long\def\cb@footnotetext#1{%
+ \cb@trace@stack{end footnote on page \the\c@page}%
+ \cb@pop\cb@currentstack
+ \ifnum\cb@topleft=\cb@nil
+ \ltx@footnotetext{#1}%
+ \else
+ \cb@push\cb@currentstack
+ \edef\cb@temp{\the\cb@curbarwd}%
+ \ltx@footnotetext{\cb@start[\cb@temp]#1\cb@end}%
+ \fi}
+\let\@footnotetext\cb@footnotetext
+
+
+% ./eledmac/eledmac.sty
+
+\apptocmd{\@footnotetext}{\m@mmf@prepare}{}{}
+\pretocmd{\@footnotetext}{%
+ \ifnumberedpar@
+ \edtext{}{\l@dbfnote{#1}}%
+ \else
+ }{}{}
+\apptocmd{\@footnotetext}{\fi}{}{}%
+
+
+% ./yafoot/dblfnote.sty
+
+\long\def\dfn@footnotetext#1{{\setbox\dfn@boxa\vbox{
+ \let\insert\dfn@gobble
+ \columnwidth\DFNcolumnwidth \hbadness\c@DFNsloppiness
+ \def\@makefnmark{\smash{\dfn@makefnmark}}
+ \dfn@latex@footnotetext{#1}\par \boxmaxdepth\dfn@fnmaxdp}%
+ \dfn@dima\ht\dfn@boxa \advance\dfn@dima\dp\dfn@boxa
+ \ifdim\dfn@dima>\z@\else
+ \dfn@dima1sp\relax
+ \setbox\dfn@boxa\vbox{\vbox to1sp{\unvbox\dfn@boxa\vfil}}\fi
+ \global\setbox\dfn@ins\vbox{\boxmaxdepth\dfn@fnmaxdp
+ \ifvoid\dfn@ins\else
+ \unvbox\dfn@ins \allowbreak \nointerlineskip \fi
+ \ifdfn@allowcbreak \unvbox \else \box \fi \dfn@boxa}%
+ \setbox\dfn@boxa\copy\dfn@ins
+ \dfn@split{.5\ht\dfn@boxa}\dfn@boxa\dfn@boxb\dfn@fnmaxdp\footnotesep
+ \advance\@tempdima\@tempdimb \@tempdimb\@tempdima
+ \advance\@tempdima-\dfn@fnht \global\dfn@fnht\@tempdimb
+ \insert\footins{\floatingpenalty\@MM \vbox to\@tempdima{}}%
+ \xdef\dfn@list{\dfn@list\@elt{\number\dfn@dima}{\number\@tempdima}}}}
+\let\dfn@latex@footnotetext\@footnotetext
+\let\@footnotetext\dfn@footnotetext
+
+
+% ./ftnxtra/ftnxtra.sty
+
+not checked what this does
+
+
+% ./acmart/acmart.cls
+
+\if@ACM@sigchiamode
+\long\def\@footnotetext#1{\marginpar{%
+ \reset@font\small
+ \interlinepenalty\interfootnotelinepenalty
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}%
+\fi
+
+
+% ./memoir/memoir.cls
+
+ this needs some further analysis
+
diff --git a/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-kern-kern.txt b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-kern-kern.txt
new file mode 100644
index 00000000000..e119197b708
--- /dev/null
+++ b/Master/texmf-dist/doc/latex-dev/latex-lab/usage-of-kern-kern.txt
@@ -0,0 +1,80 @@
+
+ \ifdim\lastkern>\z@\ifdim\lastkern<5sp\relax
+./bxjscls/bxjsja-minimal.def
+
+
+
+ \ifdim\lastkern=-3sp \unkern
+ \ifdim\lastkern=3sp \kern-3sp
+ {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}%
+./microtype/letterspace.sty
+
+
+ \ifdim\lastkern=-3sp \unkern
+ \ifdim\lastkern=3sp \kern-3sp
+ {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}%
+./microtype/microtype-pdftex.def
+
+
+ \ifdim\lastkern=-3sp \unkern
+ \ifdim\lastkern=3sp \kern-3sp
+ {\kern\MT@outer@kern\kern3sp\kern-3sp\relax}%
+./microtype/microtype-luatex.def
+
+
+
+\providecommand*{\multiplefootnotemarker}{3sp}
+./eledmac/eledmac.sty
+
+
+
+\providecommand*{\multiplefootnotemarker}{3sp}
+./reledmac/reledmac.sty
+
+
+\edef\CJK@kern{\kern -2sp\kern 2sp}
+\edef\CJK@CJK{\kern -1sp\kern 1sp}
+./cjk/texinput/CJK.sty
+
+
+\edef\ruby@kern{\kern -5sp\kern 5sp}
+./cjk/texinput/ruby.sty
+
+
+% hyphenation between pinyin syllables. Values 1sp-3sp are already used
+\edef\py@sp{\kern -4sp\kern 4sp}
+./cjk/texinput/pinyin.sty
+
+
+\providecommand*{\multiplefootnotemarker}{3sp}
+./tufte-latex/tufte-common.def
+
+
+
+\newcommand*{\multiplefootnotemarker}{3sp}
+./memoir/memoir.cls
+
+
+\providecommand*{\multiplefootnotemarker}{3sp}
+./parnotes/parnotes.sty
+
+
+\providecommand*{\multiplefootnotemarker}{3sp}
+./lwarp/lwarp-footmisc.sty
+
+
+ \bgroup \kern-3sp\kern3sp % kerns so I can test for beginning of list
+./examdesign/examdesign.cls
+
+
+ \kern-1sp \kern1sp }
+ \kern-2sp \kern2sp }
+ \kern-3sp \kern3sp }
+ \kern-4sp \kern4sp }
+./polyglossia/gloss-korean.ldf
+
+
+
+\NewDocumentCommand \@sidenotes@multisign { } {3sp}
+./sidenotes/sidenotes.sty
+