https://github.com/latex3/latex2e
Tip revision: d62c35447400c9dc23bee573b914da174d27a07f authored by Ulrike Fischer on 20 March 2024, 17:12:26 UTC
typos
typos
Tip revision: d62c354
source2edoc.cls
% This class is buggy and needs fixing
\ProvidesClass{source2edoc}
[2024/02/14 v0.2e Quick hack to typeset source2.tex
(not usable for anything else and buggy -- will vanish again)!]
\LoadClass[kernel]{l3doc}
\RemoveFromHook{begindocument}[l3doc] % drop the standard setting making " a shortverb
\AddToHook{begindocument}{\MakeShortVerb \|} % but readd | as one
%\ShowHook{begindocument}
\ExplSyntaxOn
% in 2e we have a lot of functions that have no ``user-level'' documentation so we disable
% a bogus backref in that case. Over time the sources should be cleaned up to have such documentation.
\cs_set_protected:Npn \__codedoc_print_documented:
{
\seq_gset_filter:NNn \g__codedoc_nested_names_seq
\g__codedoc_nested_names_seq
{ ! \__codedoc_if_macro_internal_p:n {##1} }
\seq_if_empty:NF \g__codedoc_nested_names_seq
{
% This is a crude change: we grab the first name
\__codedoc_get_hyper_target:eN
{ \seq_item:Nn \g__codedoc_nested_names_seq { 1 } }
\l__codedoc_tmpa_tl
% ... and check if it has a reference
\cs_if_exist:cT{ r@\l__codedoc_tmpa_tl }
% If it does we show it, if not we don't.
{
\int_set:Nn \l__codedoc_tmpa_int
{ \seq_count:N \g__codedoc_nested_names_seq }
\int_compare:nNnTF \l__codedoc_tmpa_int = 1 {~This~} {~These~}
\bool_if:NTF \l__codedoc_macro_var_bool {variable} {function}
\int_compare:nNnTF \l__codedoc_tmpa_int = 1 {~is~} {s~are~}
documented~on~page~
\exp_args:Nx \pageref { \l__codedoc_tmpa_tl } .
}
}
\seq_gclear:N \g__codedoc_nested_names_seq
}
% change the setup here: we have a lot of long names so better run raggeded
\cs_set_protected:Npn \__codedoc_macro_end_style:n #1
{
\nobreak \noindent
{ \raggedright\hangindent1pc \footnotesize ( \emph{#1} ) \par }
}
% next two declarations should move to l3doc.cls in the l3kernel eventually
% they should be ``new'' not ``set'' but to avoid getting in timing issues
% when they will be officially defined we use ``set'' here
\cs_set_eq:NN \__codedoc_saved_detect_internals:N \__codedoc_detect_internals:N
% maybe this change should be local so that it automatically reverts on \verb=\end{macro}=
% without the need to explicitly turn it on again.
\cs_new_protected:Npn \InternalDetectionOff
{ \cs_gset_eq:NN \__codedoc_detect_internals:N \use_none:n }
\cs_new_protected:Npn \InternalDetectionOn
{ \cs_gset_eq:NN \__codedoc_detect_internals:N \__codedoc_saved_detect_internals:N }
\ExplSyntaxOff
\def\partname{File}
\gdef\codeline@wrindex#1{\if@filesw
\begingroup
\let\protect\noexpand
\immediate\write\@indexfile
{\string\indexentry{#1}%
{\filesep\number\c@CodelineNo}}%
\endgroup\fi}
\let\filesep\@empty
\def\aalph#1{\@aalph{\csname c@#1\endcsname}}
\def\@aalph#1{%
\ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or
j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or
t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or
D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or
N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or
X\or Y\or Z\or
aa\or bb\or cc\or % we are getting definitely too many modules
dd%
\else\@ctrerr\fi}
\def\docincludeaux{%
\def\thepart{\ifnum\value{part}<10 0\fi\arabic{part}}\def\filesep{\thepart-}%
\let\filekey\@gobble
\g@addto@macro\index@prologue{%
\gdef\@oddfoot{\parbox[t]{\textwidth}{\strut\footnotesize
\raggedright{\bfseries File Key:} \filekey}}%
\let\@evenfoot\@oddfoot}%
\global\let\docincludeaux\relax
\gdef\@oddfoot{%
\expandafter\ifx\csname ver@\currentfile\endcsname\relax
File \thepart: {\ttfamily\currentfile} %
\else
\GetFileInfo{\currentfile}%
File \thepart: {\ttfamily\filename} %
Date: \filedate\ %
Version \fileversion
\fi
\hfill\thepage}%
\let\@evenfoot\@oddfoot}%
\def\MaintainedBy#1{\gdef\@maintainedby{#1}}
\let\@maintainedby\@empty
\def\MaintainedByLaTeXTeam#1{%
{\gdef\@maintainedby{%
This file is maintained by the \LaTeX{} Project team.\\%
Bug reports can be opened (category \texttt{#1}) at\\%
\url{https://latex-project.org/bugs.html}.}}}
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\ifx\@maintainedby\@empty
\else
\vskip 1em%
\fbox{\fbox{\begin{tabular}{@{}l@{}}\@maintainedby\end{tabular}}}%
\fi
\end{center}%
\par
\vskip 1.5em}
\providecommand\url{\texttt}
\def\task#1#2{}
\def\oc@scan#1{%
\ifx\oc@bslash#1%
\egroup\let\next\oc@bslash\else
\ifcat a\noexpand#1%
#1\let\next\oc@scan\else
\ifx\oc@percent#1%
\def\next{\char`\%\egroup}%
\else
#1\let\next\egroup
\fi\fi\fi\next}
\def\oc@bslash{\bgroup\oc@ttf\char`\\\oc@scan}%
\def\oc@verb#1{%
\catcode`#1\active
\uccode`\~`#1%
\uppercase{\def~{{\oc@ttf\char`#1}}}}
\begingroup
\obeyspaces%
\catcode`\/=\catcode`\\
/catcode`/\/active
/catcode`<=/catcode`{%
/catcode`>=/catcode`}%
/catcode`/{/active%
/catcode`/}/active%
/gdef/oldc< \end{oldcomments}>%
/gdef/begmac< \begin{macrocode}>%
/gdef/obs</def <</oc@ttf/ >>>%
/endgroup%
\begingroup
\catcode`\/=\catcode`\\
\catcode`\\=13
/catcode`/|=/catcode`/%
/catcode`/%=13
/gdef/oldcomments{|
/makeatletter
/let/do/oc@verb/dospecials
/frenchspacing/@vobeyspaces/obs
/raggedright
/oc@verb/>|
/oc@verb/<|
/let\/oc@bslash
/let%/oc@percent
/obeylines
/parindent/z@
/ttfamily/expandafter/let/expandafter/oc@ttf/the/font
/rmfamily
/textit{Historical /LaTeX/,2.09 comments (not necessarily accurate any more):}
/hfuzz/maxdimen
}
/endgroup
\begingroup
\sloppy%
\obeylines%
\gdef\oc@percent#1^^M{%
\ifvmode%
\def\commentline{#1}%
\ifx\commentline\oldc%
\textit{End of historical \LaTeX\,2.09 comments.}
\end{oldcomments}%
\else%
\ifx\commentline\begmac%
\begin{macrocode}%
\else%
\leavevmode%
#1^^M%
\fi\fi%
\else%
{\oc@ttf\char`\%}#1^^M%
\fi}%
\endgroup%
% don't run tocs when they are in some module files
\AddToHook{cmd/tableofcontents/after}{\global\let\tableofcontents\relax}
% pages > 1000
\renewcommand\@pnumwidth{2em}
\InputIfFileExists{ltxdoc.cfg}
{\typeout{*************************************^^J%
* Local config file ltxdoc.cfg used^^J%
*************************************}}
{}
\errorstopmode
\batchmode
\endinput