[latex3-commits] [latex3/latex2e] latex-lab/uf-review-05: more documentation (9c362fe7)
github at latex-project.org
github at latex-project.org
Sat Nov 25 17:06:36 CET 2023
Repository : https://github.com/latex3/latex2e
On branch : latex-lab/uf-review-05
Link : https://github.com/latex3/latex2e/commit/9c362fe77fbd3c1ac56213e4557efc9c035488ab
>---------------------------------------------------------------
commit 9c362fe77fbd3c1ac56213e4557efc9c035488ab
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Sat Nov 25 17:06:36 2023 +0100
more documentation
>---------------------------------------------------------------
9c362fe77fbd3c1ac56213e4557efc9c035488ab
required/latex-lab/latex-lab-math.dtx | 157 +++++++++++++++++++++++-----------
1 file changed, 105 insertions(+), 52 deletions(-)
diff --git a/required/latex-lab/latex-lab-math.dtx b/required/latex-lab/latex-lab-math.dtx
index d681c2ff..af20da93 100644
--- a/required/latex-lab/latex-lab-math.dtx
+++ b/required/latex-lab/latex-lab-math.dtx
@@ -110,7 +110,7 @@
% if the boolean \cs{l_@@_collected_bool} is false.
% If the boolean is true they behave normally and can for example contain verbatim.
%
-% \item All (registerted) environments grab their body
+% \item All (registered) environments grab their body
% regardless of the state of the boolean. For
% |equation|, |equation*| and |math| this is a change as they no longer can
% contain verbatim.
@@ -164,6 +164,54 @@
% \end{itemize}
% \end{function}
%
+% \section{Math tagging}
+%
+% The tagging code has to handle
+% \begin{itemize}
+% \item the embedding into the surrounding. This means
+% \begin{itemize}
+% \item closing and reopening MC-chunks
+% \item closing and reopening text/P-structures
+% \item handling interferences of the tagging code with penalties and spacing.
+% \end{itemize}
+% \item the actual tagging which means to do some or all of the following tasks:
+% \begin{itemize}
+% \item setup content for an associated source file
+% \item setup content for an associated mathml file
+% \item setup content for the /Alt key
+% \item setup content for the /ActualText key
+% \item setup attributes
+% \item add associated files
+% \item add a Formula structure
+% \item surround subparts (e.g. lines) with Formula sub structures
+% (perhaps with their own set of additional content)
+% \item surround elements of the equation with mathml structure elements
+% (currently only luatex with luamml)
+% \end{itemize}
+% \end{itemize}
+%
+% \subsection{Inline math}
+%
+% The embedding code is added through
+% the sockets
+% \begin{itemize}
+% \item |tagsupport/math/inline/begin|
+% \item |tagsupport/math/inline/end|
+% \end{itemize}
+% The sockets simply push and pop the MC currently. Without
+% tagging they use the noop-plug.
+%
+% The actual tagging is in done through the sockets
+% \begin{itemize}
+% \item |tagsupport/math/inline/formula/begin|
+% This socket takes the math as argument and its code
+% should output it for typesetting. Without tagging the
+% socket uses the identity plug.
+% \item |tagsupport/math/inline/formula/end|
+% \end{itemize}
+%
+%
+%
% \section{Known current bugs, etc.}
% \car*{New Section, now with subsections.\\
% As indicated, these lists are probably incomplete.\\
@@ -397,6 +445,62 @@
% \end{variable}
%
% \subsection{Sockets}
+% \subsubsection{Main inline math sockets}
+%
+% \begin{socketdecl}
+% {
+% tagsupport/math/inline/begin,
+% tagsupport/math/inline/end,
+% tagsupport/math/inline/formula/begin,
+% tagsupport/math/inline/formula/end,
+% }
+% The first two sockets are meant to embed inline
+% math into the surrounding (so to close/reopen e.g. MC-chunks).
+% The other two implement the actual formula structure.
+% \begin{macrocode}
+\socket_new:nn {tagsupport/math/inline/begin}{0}
+\socket_new:nn {tagsupport/math/inline/end}{0}
+\socket_new:nn {tagsupport/math/inline/formula/begin}{1} %
+\socket_new:nn {tagsupport/math/inline/formula/end}{0}
+% \end{macrocode}
+%\end{socketdecl}
+%
+%
+% \begin{plugdecl}{MC}
+% \begin{macrocode}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/begin}
+ {MC}
+ {\tag_mc_end_push:}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/end}
+ {MC}
+ {\tag_mc_begin_pop:n{}}
+% \end{macrocode}
+% \end{plugdecl}
+%
+% We probably will want to test different tagging receipes.
+% \begin{plugdecl}{tag/dflt}
+% \begin{macrocode}
+\socket_new_plug:nnn
+ {tagsupport/math/inline/formula/begin}
+ {tag/dflt}
+ {
+ \socket_use:n{tagsupport/math/content}
+ \socket_use:n{tagsupport/math/struct/begin}
+ % inner formula if multiple parts (not really implemented yet)
+ \socket_use:n{tagsupport/math/substruct/begin}
+ #1
+ }
+\socket_new_plug:nnn
+ {tagsupport/math/inline/formula/end}
+ {tag/dflt}
+ {
+ \socket_use:n{tagsupport/math/substruct/end}
+ \socket_use:n{tagsupport/math/struct/end}
+ }
+% \end{macrocode}
+% \end{plugdecl}
%
% \begin{socketdecl}{tagsupport/math/content}
% The math content is stored in associated files and used for
@@ -504,57 +608,6 @@
% \end{macrocode}
%
-% \begin{socketdecl}{tagsupport/math/inline/begin,
-% tagsupport/math/inline/end,
-% tagsupport/math/inline/formula/begin,
-% tagsupport/math/inline/formula/end,
-% }
-% The first two sockets are meant to embed inline
-% math into the surrounding (so to close/reopen e.g. MC-chunks).
-% The other two implement the actual formula structure.
-% \begin{macrocode}
-\socket_new:nn {tagsupport/math/inline/begin}{0}
-\socket_new:nn {tagsupport/math/inline/end}{0}
-\socket_new:nn {tagsupport/math/inline/formula/begin}{1} %
-\socket_new:nn {tagsupport/math/inline/formula/end}{0}
-% \end{macrocode}
-%\end{socketdecl}
-%
-% \begin{plugdecl}{MC}
-% \begin{macrocode}
-\socket_new_plug:nnn
- {tagsupport/math/inline/begin}
- {MC}
- {\tag_mc_end_push:}
-\socket_new_plug:nnn
- {tagsupport/math/inline/end}
- {MC}
- {\tag_mc_begin_pop:n{}}
-% \end{macrocode}
-% \end{plugdecl}
-%
-% We probably will want to test different tagging receipes.
-% \begin{plugdecl}{tag/dflt}
-% \begin{macrocode}
-\socket_new_plug:nnn
- {tagsupport/math/inline/formula/begin}
- {tag/dflt}
- {
- \socket_use:n{tagsupport/math/content}
- \socket_use:n{tagsupport/math/struct/begin}
- % inner formula if multiple parts (not really implemented yet)
- \socket_use:n{tagsupport/math/substruct/begin}
- #1
- }
-\socket_new_plug:nnn
- {tagsupport/math/inline/formula/end}
- {tag/dflt}
- {
- \socket_use:n{tagsupport/math/substruct/end}
- \socket_use:n{tagsupport/math/struct/end}
- }
-% \end{macrocode}
-% \end{plugdecl}
%
%
% \begin{macro}{\__tag_math_disable:}
More information about the latex3-commits
mailing list.