[latex3-commits] [git/LaTeX3-latex3-latex2e] utf-8-protected: remove local german.sty, move tests to search config and patch from firstaid (c7d08a1d)
David Carlisle
d.p.carlisle at gmail.com
Sun Feb 20 23:42:05 CET 2022
Repository : https://github.com/latex3/latex2e
On branch : utf-8-protected
Link : https://github.com/latex3/latex2e/commit/c7d08a1d3c36ed993c1446c6d4a7ac484997ffbf
>---------------------------------------------------------------
commit c7d08a1d3c36ed993c1446c6d4a7ac484997ffbf
Author: David Carlisle <d.p.carlisle at gmail.com>
Date: Sun Feb 20 22:42:05 2022 +0000
remove local german.sty,move tests to search config and patch from firstaid
>---------------------------------------------------------------
c7d08a1d3c36ed993c1446c6d4a7ac484997ffbf
.../github-0621.lvt | 0
.../github-0621.tlg | 0
.../tlb0077.luatex.tlg | 0
base/{testfiles => testfiles-search}/tlb0077.lvt | 0
base/{testfiles => testfiles-search}/tlb0077.tlg | 0
base/{testfiles => testfiles-search}/tlb1315.lvt | 0
base/{testfiles => testfiles-search}/tlb1315.tlg | 0
base/testfiles/helpers/german.sty | 675 ---------------------
.../latex2e-first-aid-for-external-files.dtx | 14 +
9 files changed, 14 insertions(+), 675 deletions(-)
diff --git a/base/testfiles/github-0621.lvt b/base/testfiles-search/github-0621.lvt
similarity index 100%
rename from base/testfiles/github-0621.lvt
rename to base/testfiles-search/github-0621.lvt
diff --git a/base/testfiles/github-0621.tlg b/base/testfiles-search/github-0621.tlg
similarity index 100%
rename from base/testfiles/github-0621.tlg
rename to base/testfiles-search/github-0621.tlg
diff --git a/base/testfiles/tlb0077.luatex.tlg b/base/testfiles-search/tlb0077.luatex.tlg
similarity index 100%
rename from base/testfiles/tlb0077.luatex.tlg
rename to base/testfiles-search/tlb0077.luatex.tlg
diff --git a/base/testfiles/tlb0077.lvt b/base/testfiles-search/tlb0077.lvt
similarity index 100%
rename from base/testfiles/tlb0077.lvt
rename to base/testfiles-search/tlb0077.lvt
diff --git a/base/testfiles/tlb0077.tlg b/base/testfiles-search/tlb0077.tlg
similarity index 100%
rename from base/testfiles/tlb0077.tlg
rename to base/testfiles-search/tlb0077.tlg
diff --git a/base/testfiles/tlb1315.lvt b/base/testfiles-search/tlb1315.lvt
similarity index 100%
rename from base/testfiles/tlb1315.lvt
rename to base/testfiles-search/tlb1315.lvt
diff --git a/base/testfiles/tlb1315.tlg b/base/testfiles-search/tlb1315.tlg
similarity index 100%
rename from base/testfiles/tlb1315.tlg
rename to base/testfiles-search/tlb1315.tlg
diff --git a/base/testfiles/helpers/german.sty b/base/testfiles/helpers/german.sty
deleted file mode 100644
index 7b93fde9..00000000
--- a/base/testfiles/helpers/german.sty
+++ /dev/null
@@ -1,675 +0,0 @@
-%%
-%% This is file `german.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% german.dtx (with options: `old')
-%%
-%% This file is part of the `german' collection,
-%% providing German language support for
-%% plain TeX or LaTeX version 2e/2.09.
-%%
-%% ----------- Copyright (C) 1998, 1999 by B.Raichle ----------
-%% ------------------- All rights reserved. -------------------
-%% Maintained by Bernd Raichle (Uni Stuttgart),
-%% using ideas by H.Partl (TU Wien, Uni.f.Bodenkultur Wien)
-%% and many other people.
-%%
-%%
-%% IMPORTANT NOTICE:
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt; either
-%% version 1 of the License, or any later version.
-%%
-%%
-%% Error Reports (in case of UNCHANGED versions) should be sent to:
-%%
-%% Bernd Raichle <raichle at Informatik.Uni-Stuttgart.DE>
-%%
-\expandafter\ifx\csname grmn\string @VersionNo\endcsname\relax
-\else
- \ifnum\number\csname grmn\string @VersionNo\endcsname<9806\relax
- \else \germanTeX \expandafter\expandafter\expandafter\endinput
- \fi\fi
-\expandafter\mathchardef\csname grmn\string @VersionNo\endcsname
-=9806\relax % = v2.5f
-\message{v2.5f 2022-02-20}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
- \ProvidesPackage{german}[2022/02/20 v2.5f %
- Support for writing german texts (br)]
-\fi
-\chardef\atcode=\catcode`\@
-\catcode`\@=11 % \makeatletter
-\expandafter\ifx\csname @ifundefined\endcsname\relax
- \def\@ifundefined#1{%
- \expandafter\ifx\csname #1\endcsname\relax
- \expandafter\grmn at dqfirst\else\expandafter\grmn at dqsecond\fi}
-\fi
-\def\grmn at dqfirst#1#2{#1}
-\def\grmn at dqsecond#1#2{#2}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
-\@ifundefined{SS}{\def\SS{SS}}{}
-\else
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname ProvideTextCommandDefault\endcsname\relax
- \immediate\write17{}
- \immediate\write17{%
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
- \immediate\write17{%
-!! Dies ist eine zu alte LaTeX2e-Version, die nicht}
- \immediate\write17{%
-!! alle fuer german/ngerman notwendigen Deklarationen}
- \immediate\write17{%
-!! zur Verfuegung stellt. Dennoch koennen Sie diese}
- \immediate\write17{%
-!! Pakete, eventuell mit kleinen Fehlern, verwenden.}
- \immediate\write17{!!}
- \immediate\write17{%
-!! Bitte installieren Sie eine neuere LaTeX2e-Version,}
- \immediate\write17{%
-!! da zukuenftige Versionen der Pakete diese}
- \immediate\write17{%
-!! LaTeX2e-Version nicht mehr unterstuetzen werden!}
- \immediate\write17{%
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
- \immediate\write17{}
-\fi
-\@ifundefined{UseTextSymbol}{%
- \def\UseTextSymbol#1#2{{\fontencoding{#1}\selectfont #2}}
-}{}
-\@ifundefined{UseTextAccent}{%
- \def\UseTextAccent#1#2#3{%
- {\let\@curr at enc\f at encoding
- \fontencoding{#1}\selectfont
- #2{\fontencoding\@curr at enc\selectfont #3}}}%
-}{}
-\@ifundefined{ProvideTextCommand}{%
- \def\ProvideTextCommand#1#2{%
- %%% misses \RobustTextCommand{#1}{...etc.etc...}!!
- \expandafter\providecommand\csname #2\string#1\endcsname}%
-}{}
-\@ifundefined{ProvideTextCommandDefault}{%
- \def\ProvideTextCommandDefault#1{%
- \ProvideTextCommand{#1}{U}}%
-}{}
-\@ifundefined{DeclareTextCompositeCommand}{%
- \def\DeclareTextCompositeCommand#1#2#3#4{%
- % define a `dummy' text composite
- \DeclareTextComposite{#1}{#2}{#3}{`\Z}%
- % then redefine this command including the new command
- \expandafter\def\csname\expandafter\string\csname
- #2\endcsname\string#1-\string#3\endcsname##1##2{#4}}%
-}{}
-\@ifundefined{OT1\string\ss}{%
- \wlog{german: Re-declaration of \string\ss\space for OT1!}%
- \DeclareTextSymbol{\ss}{OT1}{25}}{}
-\@ifundefined{OT1\string\i}{%
- \wlog{german: Re-declaration of \string\i\space for OT1!}%
- \DeclareTextSymbol{\i}{OT1}{16}}{}
-\ProvideTextCommandDefault{\"}{\UseTextAccent{OT1}{\"}}
-\ProvideTextCommandDefault{\ss}{\UseTextSymbol{OT1}\ss}
-\ProvideTextCommandDefault{\i}{\UseTextSymbol{OT1}\i}
-\ProvideTextCommandDefault{\SS}{SS}
-\@ifundefined{textquotedblleft}{%
- \ProvideTextCommandDefault{\textquotedblleft}{%
- \UseTextSymbol{OT1}\textquotedblleft}%
- \DeclareTextSymbol{\textquotedblleft}{OT1}{92}%
- \DeclareTextSymbol{\textquotedblleft}{T1}{16}%
-}{}
-\@ifundefined{textquotedblright}{%
- \ProvideTextCommandDefault{\textquotedblright}{%
- \UseTextSymbol{OT1}\textquotedblright}%
- \DeclareTextSymbol{\textquotedblright}{OT1}{`\"}%
- \DeclareTextSymbol{\textquotedblright}{T1}{17}%
- %% \DeclareTextSymbol{\textquotedbl}{T1}{`\"}%
-}{}
-\@ifundefined{textquoteleft}{%
- \ProvideTextCommandDefault{\textquoteleft}{%
- \UseTextSymbol{OT1}\textquoteleft}%
- \DeclareTextSymbol{\textquoteleft}{OT1}{`\`}%
- \DeclareTextSymbol{\textquoteleft}{T1}{`\`}%
-}{}
-\@ifundefined{textquoteright}{%
- \ProvideTextCommandDefault{\textquoteright}{%
- \UseTextSymbol{OT1}\textquoteright}%
- \DeclareTextSymbol{\textquoteright}{OT1}{`\'}%
- \DeclareTextSymbol{\textquoteright}{T1}{`\'}%
-}{}
-\@ifundefined{quotesinglbase}{%
- \DeclareTextSymbol{\quotesinglbase}{T1}{13}}{}
-\@ifundefined{quotedblbase}{%
- \DeclareTextSymbol{\quotedblbase}{T1}{18}}{}
-\@ifundefined{guillemotleft}{%
- \DeclareTextSymbol{\guillemotleft}{T1}{19}}{}
-\@ifundefined{guillemotright}{%
- \DeclareTextSymbol{\guillemotright}{T1}{20}}{}
-\@ifundefined{guilsinglleft}{%
- \DeclareTextSymbol{\guilsinglleft}{T1}{14}}{}
-\@ifundefined{guilsinglright}{%
- \DeclareTextSymbol{\guilsinglright}{T1}{15}}{}
-\fi
-\expandafter\let\expandafter\protect\csname protect\endcsname
-\def\allowhyphens{\penalty\@M \hskip\z at skip}
-\lccode`\^^Y=`\^^Y
-\def\set at low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
- \setbox\z@\hbox{\dimen@\ht\z@ \advance\dimen@ -\ht\tw@
- \lower\dimen@\box\z@}%
- \ht\z@\ht\tw@ \dp\z@\dp\tw@}
-\def\save at sf@q#1{{\ifhmode
- \edef\@SF{\spacefactor\the\spacefactor}\else
- \let\@SF\empty \fi \leavevmode #1\@SF}}
-\expandafter\ifx\csname grmnU at D\endcsname\relax
- \csname newdimen\endcsname\grmnU at D
-\fi
-\def\newumlaut#1{{\grmnU at D 1ex%
- {\setbox\z@\hbox{\char127}\dimen at -.45ex\advance\dimen@\ht\z@
- \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
- \accent127\fontdimen5\font\grmnU at D #1}\allowhyphens}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
- \def\highumlaut#1{{\accent127 #1}\allowhyphens}
-\else
- \def\highumlaut#1{\"{#1}\allowhyphens}
-\fi
-\def\mdqon{\catcode`\"\active}
-\def\mdqoff{\catcode`\"12\relax}
-\begingroup \mdqoff
-\def\x{\endgroup
- \def\@MATHUMLAUT{\ddot}% = \mathaccent"707F
- \def\@MATHss{\mathord{\mathchar"7019}}% TODO: correct?
- \def\dq{"}}% TODO: or \textquotedbl?
-\x
-\begingroup
- \def\do{\noexpand\do\noexpand}%
- \edef\x{\endgroup
- \def\noexpand\dospecials{\dospecials\do\"}}%
-\x
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @sanitize\endcsname\relax \else
- \begingroup
- \def\@makeother{\noexpand\@makeother\noexpand}%
- \edef\x{\endgroup
- \def\noexpand\@sanitize{\@sanitize\@makeother\"}}%
- \x
-\fi
-\let\grmn at original@three=\3 % \3 may be defined or undefined.
-\def\ck{\penalty\@M\discretionary{k-}{}{c}k\allowhyphens}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
-\expandafter\def\csname glqq \endcsname{%
- \save at sf@q{\set at low@box{''\/}\box\z@\kern-.04em\allowhyphens}}
-\edef\glqq{\noexpand\protect
- \expandafter\noexpand\csname glqq \endcsname}
-\let\@glqq=\glqq
-\expandafter\def\csname grqq \endcsname{%
- \save at sf@q{\kern-.07em``\kern.07em}}% ('')
-\edef\grqq{\noexpand\protect
- \expandafter\noexpand\csname grqq \endcsname}
-\let\@grqq=\grqq
-\expandafter\def\csname glq \endcsname{%
- \save at sf@q{\set at low@box{'\/}\box\z@\kern-.04em\allowhyphens}}
-\edef\glq{\noexpand\protect
- \expandafter\noexpand\csname glq \endcsname}
-\let\@glq=\glq
-\expandafter\def\csname grq\endcsname{%
- \save at sf@q{\kern-.0125em`\kern.07em}}
-\edef\grq{\noexpand\protect
- \expandafter\noexpand\csname grq \endcsname}
-\let\@grq=\grq
-\expandafter\def\csname flqq \endcsname{%
- \relax\ifmmode \mathrel{\ll}\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle \ll $}%
- \allowhyphens}\fi}
-\edef\flqq{\noexpand\protect
- \expandafter\noexpand\csname flqq \endcsname}
-\let\@flqq=\flqq
-\expandafter\def\csname frqq \endcsname{%
- \relax\ifmmode \mathrel{\gg}\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle \gg $}%
- \allowhyphens}\fi}
-\edef\frqq{\noexpand\protect
- \expandafter\noexpand\csname frqq \endcsname}
-\let\@frqq=\frqq
-\expandafter\def\csname flq \endcsname{%
- \relax\ifmmode <\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle <$}\allowhyphens}\fi}
-\edef\flq{\noexpand\protect
- \expandafter\noexpand\csname flq \endcsname}
-\let\@flq=\flq
-\expandafter\def\csname frq \endcsname{%
- \relax\ifmmode >\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle >$}\allowhyphens}\fi}
-\edef\frq{\noexpand\protect
- \expandafter\noexpand\csname frq \endcsname}
-\let\@frq=\frq
-\else
-\DeclareRobustCommand{\glqq}{%
- \ifmmode\hbox{\quotedblbase}\else\quotedblbase\fi}
-\ProvideTextCommandDefault{\quotedblbase}{%
- \UseTextSymbol{OT1}\quotedblbase}
-\ProvideTextCommand{\quotedblbase}{OT1}{%
- \save at sf@q{\set at low@box{\textquotedblright\/}\box\z@
- \kern-.04em\allowhyphens}}
-\ProvideTextCommand{\grqq}{T1}{\textquotedblleft}
-\ProvideTextCommand{\grqq}{OT1}{%
- \save at sf@q{\kern-.07em%
- \ifmmode\hbox{\textquotedblleft}\else\textquotedblleft\fi
- \kern.07em\relax}}
-\ProvideTextCommandDefault{\grqq}{\UseTextSymbol{OT1}\grqq}
-\DeclareRobustCommand{\glq}{%
- \ifmmode\hbox{\quotesinglbase}\else\quotesinglbase\fi}
-\ProvideTextCommandDefault{\quotesinglbase}{%
- \UseTextSymbol{OT1}\quotesinglbase}
-\ProvideTextCommand{\quotesinglbase}{OT1}{%
- \save at sf@q{\set at low@box{\textquoteright\/}\box\z@
- \kern-.04em\allowhyphens}}
-\ProvideTextCommand{\grq}{T1}{\textquoteleft}
-\ProvideTextCommand{\grq}{OT1}{%
- \save at sf@q{\kern-.0125em%
- \ifmmode\hbox{\textquoteleft}\else\textquoteleft\fi
- \kern.07em\relax}}
-\ProvideTextCommandDefault{\grq}{\UseTextSymbol{OT1}\grq}
-\DeclareRobustCommand{\flqq}{%
- \ifmmode\mathrel{\hbox{\guillemotleft}}\else\guillemotleft\fi}
-\ProvideTextCommandDefault{\guillemotleft}{%
- \UseTextSymbol{OT1}\guillemotleft}
-\ProvideTextCommand{\guillemotleft}{OT1}{%
- \ifmmode \ll \else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle \ll $}%
- \allowhyphens}\fi}
-\DeclareRobustCommand{\frqq}{%
- \ifmmode\mathrel{\hbox{\guillemotright}}\else\guillemotright\fi}
-\ProvideTextCommandDefault{\guillemotright}{%
- \UseTextSymbol{OT1}\guillemotright}
-\ProvideTextCommand{\guillemotright}{OT1}{%
- \ifmmode \gg \else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle \gg $}%
- \allowhyphens}\fi}
-\DeclareRobustCommand{\flq}{%
- \ifmmode\mathbin{\hbox{\guilsinglleft}}\else\guilsinglleft\fi}
-\ProvideTextCommandDefault{\guilsinglleft}{%
- \UseTextSymbol{OT1}\guilsinglleft}
-\ProvideTextCommand{\guilsinglleft}{OT1}{%
- \ifmmode <\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle <$}\allowhyphens}\fi}
-\DeclareRobustCommand{\frq}{%
- \ifmmode\mathbin{\hbox{\guilsinglright}}\else\guilsinglright\fi}
-\ProvideTextCommandDefault{\guilsinglright}{%
- \UseTextSymbol{OT1}\guilsinglright}
-\ProvideTextCommand{\guilsinglright}{OT1}{%
- \ifmmode >\else \save at sf@q{\penalty\@M
- \raise .27ex\hbox{$\m at th\scriptscriptstyle >$}\allowhyphens}\fi}
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
-\def\umlauthigh{\def\"##1{{\accent127 ##1}}}
-\def\umlautlow{\def\"{\protect\newumlaut}}
-\else
-\def\umlauthigh{\def\grmn at OTumlaut##1{{\accent 127 ##1}}}
-\def\umlautlow{\def\grmn at OTumlaut{\protect\newumlaut}}
-\umlauthigh
-\DeclareTextAccent{\"}{T1}{4}
-\DeclareTextAccent{\"}{OT1}{127}
-\DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn at OTumlaut{a}}%
-\DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn at OTumlaut{o}}%
-\DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn at OTumlaut{u}}%
-\DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn at OTumlaut{A}}%
-\DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn at OTumlaut{O}}%
-\DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn at OTumlaut{U}}%
-\DeclareTextComposite{\"}{T1}{a}{228}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname AtBeginDocument\endcsname\relax \else
- \AtBeginDocument{%
- \DeclareTextAccent{\"}{T1}{4}% % from `ltpatch.tex'
- \DeclareTextAccent{\"}{OT1}{127}% % from `ltpatch.tex'
- % \DeclareTextCommand{\"}{OT1}{\newumlaut}% from `ltpatch.tex'
- % % has to be removed
- \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn at OTumlaut{a}}%
- \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn at OTumlaut{o}}%
- \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn at OTumlaut{u}}%
- \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn at OTumlaut{A}}%
- \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn at OTumlaut{O}}%
- \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn at OTumlaut{U}}%
- \DeclareTextComposite{\"}{T1}{a}{228}% % from `ltpatch.tex'
- }
-\fi
-\fi
-\def\dqwarninglevel#1{\chardef\grmn at dqwarninglevel=#1\relax}
- \dqwarninglevel{1}
-\expandafter\ifx\csname on at line\endcsname\relax
- \ifx\inputlineno\undefined \def\on at line{}%
- \else
- \ifnum\inputlineno<\z@ \def\on at line{}%
- \else \def\on at line{ on input line \the\inputlineno}%
-\fi\fi\fi
-\def\grmn at dq@error#1{%
- \errhelp{Use `` for a simple double quote character.}%
- \errmessage{german: The command \dq\string#1 is undefined}}
-\def\grmn at dq@warning#1{%
- \immediate\write\sixt@@n
- {german: \dq\string#1 is possibly wrong\on at line.}}
-\def\grmn at dq@macro#1#2{%
- \expandafter#1\csname @grmn@@\string #2dq\endcsname}
-\def\def at dqmacro#1#2#3{%
- \grmn at dqredefcheck{#1}%
- \grmn at dq@macro\def{#1}{{#2}{#3}}}
-\def\let at dqmacro#1#2{\begingroup
- \grmn at dqredefcheck{#1}%
- \edef\x{\endgroup \let
- \grmn at dq@macro\noexpand{#1}\grmn at dq@macro\noexpand{#2}}%
- \x}
-\def\grmn at dqredefcheck#1{}
-\def\@active at dq{\protect\grmn at active@dq@}
-\def\grmn at active@dq@#1{%
- \grmn at dq@macro\ifx{#1}\relax
- \ifnum\grmn at dqwarninglevel>\z@ \grmn at dq@error{#1}\fi
- \expandafter\grmn@@normal at dq
- \else
- \expandafter\grmn@@active at dq
- \fi {#1}}
-\def\grmn@@active at dq#1{%
- \grmn at dq@macro\ifx{#1}\noexpand
- \expandafter\grmn at normal@dq
- \else
- \expandafter\grmn@@@active at dq
- \fi {#1}}
-\def\grmn@@normal at dq#1{``#1}
-\def\grmn at normal@dq#1{\dq #1}
-\begingroup
- \catcode`\(=1\lccode`\(=`\{\catcode`\{=12
- \catcode`\)=2\lccode`\)=`\}\catcode`\}=12
- \catcode`\ =11\relax% <= do not delete this and the
-\lowercase(\endgroup% <=== following percent characters!
-\def\grmn@@@active at dq#1(%
-\expandafter\grmn@@@@active at dq\expandafter{\string#1})%
-\def\grmn@@@@active at dq(%
-\ifx\protect\relax\else\ifx\protect\empty\else%
-\expandafter\expandafter\expandafter\protect%
-\fi\fi%
-\active at dq \dq at prtct )%
-\def\dq at prtct#1#(\@dq at prtct)%
-\def\@dq at prtct#1(\string\dq at prtct{\string#1})%
-\def\dq at prtct #1{#2}(\string\dq at prtct{\string#2})%
-\def\active at dq #1{#2}(\grmn at active@@dq(#2))%
-)%
-\def\active at dq#1#{\@active at dq}%
-\def\grmn at active@@dq#1{%
- \csname grmn at dq\ifmmode second\else first\fi
- \expandafter\expandafter\expandafter\expandafter
- \grmn at dq@macro\endcsname{#1}}
-\grmn at dq@macro\let{0}=\noexpand
-\let at dqmacro{1}{0}\let at dqmacro{2}{0}\let at dqmacro{3}{0}
-\let at dqmacro{4}{0}\let at dqmacro{5}{0}\let at dqmacro{6}{0}
-\let at dqmacro{7}{0}\let at dqmacro{8}{0}\let at dqmacro{9}{0}
-\let at dqmacro{A}{0}\let at dqmacro{B}{0}\let at dqmacro{C}{0}
-\let at dqmacro{D}{0}\let at dqmacro{E}{0}\let at dqmacro{F}{0}
-\def at dqmacro{}{\dq{}}{\dq{}}
-\def at dqmacro{a}{\"a}{\@MATHUMLAUT a}
-\def at dqmacro{o}{\"o}{\@MATHUMLAUT o}
-\def at dqmacro{u}{\"u}{\@MATHUMLAUT u}
-\def at dqmacro{A}{\"A}{\@MATHUMLAUT A}
-\def at dqmacro{O}{\"O}{\@MATHUMLAUT O}
-\def at dqmacro{U}{\"U}{\@MATHUMLAUT U}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
- \def at dqmacro{s}{\ss{}}{\@MATHss}
-\else
- \def at dqmacro{s}{\ss}{\@MATHss}
-\fi
-\def at dqmacro{S}{\SS}{\SS}
-\let at dqmacro{z}{s}
-\def at dqmacro{Z}{SZ}{SZ}
-\def at dqmacro{e}{\highumlaut e}{\@MATHUMLAUT e}
-\def at dqmacro{E}{\highumlaut E}{\@MATHUMLAUT E}
-\def at dqmacro{i}{\highumlaut{\i}}{\@MATHUMLAUT\imath}
-\def at dqmacro{I}{\highumlaut I}{\@MATHUMLAUT I}
-\def at dqmacro{`}{\glqq}{\glqq}
-\def at dqmacro{'}{\grqq}{\grqq}
-\def at dqmacro{<}{\flqq}{\flqq}
-\def at dqmacro{>}{\frqq}{\frqq}
-\def at dqmacro{-}{\penalty\@M\-\allowhyphens}%
- {\penalty\@M\-\allowhyphens}
-\def at dqmacro{|}{\penalty\@M\discretionary{-}{}{\kern.03em}%
- \allowhyphens}{}
-\def at dqmacro{"}{\hskip\z at skip}{\hskip\z at skip}
-\def at dqmacro{~}{\leavevmode\hbox{-}}{-}
-\def at dqmacro{=}{\penalty\@M-\hskip\z at skip}%
- {\penalty\@M-\hskip\z at skip}
-\def\grmn at dqdisc#1#2{\penalty\@M
- \ifnum\grmn at dqwarninglevel>\@ne \grmn at dq@warning{#1}\fi
- \discretionary{#2-}{}{#1}\allowhyphens}
-\def at dqmacro{c}{\grmn at dqdisc ck}{c}
-\def at dqmacro{C}{\grmn at dqdisc CK}{C}
-\def at dqmacro{l}{\grmn at dqdisc l{ll}}{l}
-\def at dqmacro{L}{\grmn at dqdisc L{LL}}{L}
-\def at dqmacro{m}{\grmn at dqdisc m{mm}}{m}
-\def at dqmacro{M}{\grmn at dqdisc M{MM}}{M}
-\def at dqmacro{n}{\grmn at dqdisc n{nn}}{n}
-\def at dqmacro{N}{\grmn at dqdisc N{NN}}{N}
-\def at dqmacro{p}{\grmn at dqdisc p{pp}}{p}
-\def at dqmacro{P}{\grmn at dqdisc P{PP}}{P}
-\def at dqmacro{r}{\grmn at dqdisc r{rr}}{r}
-\def at dqmacro{R}{\grmn at dqdisc R{RR}}{R}
-\def at dqmacro{t}{\grmn at dqdisc t{tt}}{t}
-\def at dqmacro{T}{\grmn at dqdisc T{TT}}{T}
-\def at dqmacro{F}{\grmn at dqdisc F{FF}}{F}
-\def at dqmacro{f}{\grmn at dqdiscff}{f}
-\def\grmn at dqdiscff{\penalty\@M
- \ifnum\grmn at dqwarninglevel>\@ne \grmn at dq@warning f\fi
- \afterassignment\grmn at dqinsertff \let\grmn at dqnextff= }
-\def\grmn at dqinsertff{%
- \if f\grmn at dqnextff
- \expandafter\grmn at dqfirst\else\expandafter\grmn at dqsecond\fi
- {\relax\discretionary{ff-}{f}{ff}\allowhyphens}{f\grmn at dqnextff}}
-\let\grmn at dqnextff=f
-\def\grmn at dqredefcheck#1{%
- \wlog{german: \grmn at dq@macro\ifx{#1}\relax \else re\fi
- defining dq-command for `\string#1'\on at line.}}%
-\def\month at german{\ifcase\month \or
- Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
- Juli\or August\or September\or Oktober\or November\or Dezember\fi}
-\def\dategerman{\def\today{\number\day.~\month at german
- \space\number\year}}
-\def\dateaustrian{\def\today{\number\day.~\ifnum 1=\month
- J\"anner\else \month at german\fi \space\number\year}}
-\def\month at english{\ifcase\month \or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi}
-\def\dateUSenglish{\def\today{\month at english
- \space\number\day, \number\year}}
-\def\dateenglish{\def\today{\number\day \ifcase\day \or
- st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 1..10
- th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or% 11..20
- st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 21..30
- st\fi
- ~\month at english \space\number\year}}
-\def\datefrench{\def\today{\number\day \ifnum1=\day \/$^{\rm er}$\fi
- \space\ifcase\month \or
- janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
- juillet\or ao\^ut\or septembre\or
- octobre\or novembre\or d\'ecembre\fi
- \space\number\year}}
-\def\captionsgerman{%
- \def\prefacename{Vorwort}%
- \def\refname{Literatur}%
- \def\abstractname{Zusammenfassung}%
- \def\bibname{Literaturverzeichnis}%
- \def\chaptername{Kapitel}%
- \def\appendixname{Anhang}%
- \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
- \def\listfigurename{Abbildungsverzeichnis}%
- \def\listtablename{Tabellenverzeichnis}%
- \def\indexname{Index}%
- \def\figurename{Abbildung}%
- \def\tablename{Tabelle}% % oder: Tafel
- \def\partname{Teil}%
- \def\enclname{Anlage(n)}% % oder: Beilage(n)
- \def\ccname{Verteiler}% % oder: Kopien an
- \def\headtoname{An}%
- \def\pagename{Seite}%
- \def\seename{siehe}%
- \def\alsoname{siehe auch}}
-\let\captionsaustrian=\captionsgerman
-\def\captionsenglish{%
- \def\prefacename{Preface}%
- \def\refname{References}%
- \def\abstractname{Abstract}%
- \def\bibname{Bibliography}%
- \def\chaptername{Chapter}%
- \def\appendixname{Appendix}%
- \def\contentsname{Contents}%
- \def\listfigurename{List of Figures}%
- \def\listtablename{List of Tables}%
- \def\indexname{Index}%
- \def\figurename{Figure}%
- \def\tablename{Table}%
- \def\partname{Part}%
- \def\enclname{encl}%
- \def\ccname{cc}%
- \def\headtoname{To}%
- \def\pagename{Page}%
- \def\seename{see}%
- \def\alsoname{see also}}
-\let\captionsUSenglish=\captionsenglish
-\def\captionsfrench{%
- \def\prefacename{Pr\'eface}%
- \def\refname{R\'ef\'erences}%
- \def\abstractname{R\'esum\'e}%
- \def\bibname{Bibliographie}%
- \def\chaptername{Chapitre}%
- \def\appendixname{Annexe}%
- \def\contentsname{Table des mati\`eres}%
- \def\listfigurename{Liste des figures}%
- \def\listtablename{Liste des tableaux}%
- \def\indexname{Index}%
- \def\figurename{Figure}%
- \def\tablename{Tableau}%
- \def\partname{Partie}%
- \def\enclname{P.~J.}%
- \def\ccname{Copie \`a}%
- \def\headtoname{A}%
- \def\pagename{Page}%
- \def\seename{voir}%
- \def\alsoname{voir aussi}}%
-\def\extrasUSenglish{}
-\let\noextrasUSenglish=\extrasUSenglish
-\let\extrasenglish=\extrasUSenglish
-\let\noextrasenglish=\extrasenglish
-\def\extrasgerman{\frenchspacing \uchyph\@ne
- \lefthyphenmin\tw@ \righthyphenmin\tw@}
-\def\noextrasgerman{%
- \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi
- \uchyph\the\uchyph\relax
- \lefthyphenmin\the\lefthyphenmin
- \righthyphenmin\the\righthyphenmin}
-\let\extrasaustrian=\extrasgerman
-\let\noextrasaustrian=\noextrasgerman
-\def\extrasfrench{\frenchspacing}
-\def\noextrasfrench{%
- \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi}
-\@ifundefined{l at USenglish}{%
- \@ifundefined{l at english}{\chardef\l at USenglish=255 }%
- {\chardef\l at USenglish=\l at english}%
- \wlog{german -- \string\language\space number for USenglish %
- undefined, default \number\l at USenglish\space used.}%
-}{}
-\@ifundefined{l at english}{%
- \chardef\l at english=\l at USenglish
- \wlog{german -- \string\language\space number for UKenglish %
- undefined, default \number\l at english\space used.}%
-}{}
-\@ifundefined{l at german}{%
- \@ifundefined{l at austrian}{%
- \chardef\l at german=255 %
- \message{german -- \string\language\space number for German %
- undefined, default \number\l at german\space used,}%
- \message{german -- Please read \string"gerdoc.tex\string" how %
- to install hyphenation patterns.}%
- }{%
- \chardef\l at german=\l at austrian
- \wlog{german -- \string\language\space number for German %
- undefined, default \number\l at german\space used.}%
- }%
-}{}
-\@ifundefined{l at austrian}{%
- \chardef\l at austrian=\l at german
- \wlog{german -- \string\language\space number for Austrian %
- undefined, default \number\l at austrian\space used.}%
-}{}
-\@ifundefined{l at french}{%
- \chardef\l at french=255
- \wlog{german -- \string\language\space number for French %
- undefined, default \number\l at french\space used.}%
-}{}
-\def\grmn at originalTeX{}
-\def\languagename{}
-\expandafter\def\csname selectlanguage \endcsname#1{\relax
- \expandafter\ifx\csname l@#1\endcsname\relax
- \errhelp{Your command will be ignored, type <return> to proceed}%
- \errmessage{You haven't defined the language #1 yet}%
- \else
- \grmn at originalTeX
- \edef\languagename{#1}%
- \edef\grmn at originalTeX{\csname noextras#1\endcsname
- \def\noexpand\grmn at originalTeX{}}%
- \csname date#1\endcsname
- \csname captions#1\endcsname
- \csname extras#1\endcsname\relax
- % Diese Zeile ist fuer `bibgerm' ...
- \csname bibs#1\endcsname
- % ... sie wird in spaeteren `german.sty'-Versionen nicht
- % mehr vorhanden sein. Also nicht darauf verlassen!
- \language \csname l@#1\endcsname\relax
- \fi}
-\begingroup\catcode`\ =11\relax% <= do not delete this and the
-\toks0={\endgroup% <=== following percent characters!
-\def\selectlanguage#1{\protect\selectlanguage {%
-\ifnum\escapechar=\expandafter`\string#1\empty%
-\else\string#1\empty\fi}}}%
-\the\toks0\relax%
-\def\p at selectlanguage{\selectlanguage}
-\def\iflanguage#1{%
- \ifx\csname l@#1\endcsname\relax
- \expandafter\grmn at dqsecond
- \else \ifnum\csname l@#1\endcsname=\language
- \expandafter\expandafter\expandafter\grmn at dqfirst
- \else
- \expandafter\expandafter\expandafter\grmn at dqsecond
- \fi\fi
-}
-\expandafter\ifx\csname language\endcsname\relax
- \csname newcount\endcsname\language
- \language=0 \fi
-\expandafter\ifx\csname lefthyphenmin\endcsname\relax
- \csname newcount\endcsname\lefthyphenmin
- \lefthyphenmin=2 \fi
-\expandafter\ifx\csname righthyphenmin\endcsname\relax
- \csname newcount\endcsname\righthyphenmin
- \righthyphenmin=3 \fi
-\expandafter\ifx\csname setlanguage\endcsname\relax
- \def\setlanguage{\relax
- \ifhmode \else
- \errhelp{Use \selectlanguage to switch languages.}%
- \errmessage{\setlanguage allowed only in horizontal mode}%
- \fi
- \begingroup\afterassignment\endgroup\count@=}
-\fi
-\begingroup \mdqon
-\def\x{\endgroup
- \def\originalTeX{\mdqoff \let"\dq \umlauthigh
- \let\3\grmn at original@three
- \selectlanguage{USenglish}}%
- \def\germanTeX{\mdqon \let"\@active at dq \umlautlow
- \let\grmn at original@three\3\let\3\ss
- \selectlanguage{german}}}%
-\x
-\catcode`\@=\atcode % return to previous catcode
-\germanTeX
-\endinput
-%%
-%% End of file `german.sty'.
diff --git a/required/firstaid/latex2e-first-aid-for-external-files.dtx b/required/firstaid/latex2e-first-aid-for-external-files.dtx
index 898b5120..d02bfb2c 100644
--- a/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -559,6 +559,20 @@
}
% \end{macrocode}
%
+% \subsection{The \pkg{german} class first aid}
+%
+% Again a case of a no longer correct \cs{endgroup} in document.
+% Here the fix is simply though.
+% \begin{macrocode}
+\AddToHook{file/german.sty/after}[firstaid]{%
+ \FirstAidNeededT{german}{sty}{1998/07/08 v2.5e Support for writing german texts (br)}
+ {%
+\let\grmn at active@dq@\@active at dq
+\def\@active at dq{\protect\grmn at active@dq@}%
+\germanTeX
+}%
+}
+% \end{macrocode}
%
%
%
More information about the latex3-commits
mailing list.