texlive[53416] Master: axessibility (15jan20)

commits+karl at tug.org commits+karl at tug.org
Wed Jan 15 22:51:17 CET 2020


Revision: 53416
          http://tug.org/svn/texlive?view=revision&revision=53416
Author:   karl
Date:     2020-01-15 22:51:17 +0100 (Wed, 15 Jan 2020)
Log Message:
-----------
axessibility (15jan20)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/axessibility/
    trunk/Master/texmf-dist/doc/latex/axessibility/README
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.lua
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignA.tex
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignT.tex
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineA.tex
    trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineT.tex
    trunk/Master/texmf-dist/source/latex/axessibility/
    trunk/Master/texmf-dist/source/latex/axessibility/axessibility.dtx
    trunk/Master/texmf-dist/source/latex/axessibility/axessibility.ins
    trunk/Master/texmf-dist/tex/latex/axessibility/
    trunk/Master/texmf-dist/tex/latex/axessibility/axessibility.sty
    trunk/Master/tlpkg/tlpsrc/axessibility.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/axessibility/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/README	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,53 @@
+%
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+This is version 3.0 of axessibility, a package which allows LaTeX to create 
+pdf files with mathematical formulae accessible by assistive technologies 
+for visually impaired people and people with special educational needs.
+
+The following files are enclosed.
+
+  README                        - This file.
+  axessibility.dtx                - Documented tex file of the axessibility package. Run pdfLaTeX
+                                           on this file to obtain the package documentation.
+  axessibility.ins                - Run LaTeX on this file to extract the axessibility.sty file  
+                                           from axessibility.dtx.
+  axessibility.lua                - Lua code for the automatic replacement of $ and $$ Tex markers with
+                                           their LaTeX equivalents
+  axessibilityExampleSingleLineT   - A sample LaTeX file which uses the axessibility package,
+                                                        with inline and single line displayed formulae, employing 
+                                                        the tagpdf package option.
+  axessibilityExampleSingleLineA   - Same as above, employing the accsupp option.
+  axessibilityExampleAlignT   - A sample LaTeX file which uses the axessibility package,
+                                                    with inline and multiline displayed formulae,
+                                                    employing the tagpdf option.
+  axessibilityExampleAlignA   - Same as above, employing the accsupp option.
+
+Installation notes:
+The package is supplied in `.ins`&`.dtx` format. Running `latex axessibility.ins` 
+will extract the package, whereas `pdflatex axessibility.dtx` will typeset the 
+documentation. Move `axessibility.sty` to your local `texmf` directory.


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.lua
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.lua	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,95 @@
+-- Copyright (C) 2018, 2019, 2020 by 
+-- Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+-- Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+--
+-- Based on accsupp and tagpdf
+--
+-- This work consists of the main source files axessibility.dtx and axessibility.lua,
+-- and the derived files
+--   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+--   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+--.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+-- 
+-- This work may be distributed and/or modified under the
+-- conditions of the LaTeX Project Public License, either version 1.3
+-- 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.
+--
+-- This work has the LPPL maintenance status `maintained'.
+-- 
+-- The Current Maintainer of this work is 
+--               Sandro Coriasco
+--
+
+
+local open_dls = false
+local open_double_dls = false
+
+--[[ The function replace_dls_and_double_dls() switches on or off automatic replacement of $$ and $. 
+     The boolean argument a (true/false) specifies if the package should do the replacements.
+  ]]
+
+function replace_dls_and_double_dls(a) 
+	if a and not luatexbase.in_callback("process_input_buffer", "process_input_buffer") then
+		luatexbase.add_to_callback("process_input_buffer", replace_chars_callback, "process_input_buffer")
+	elseif not a and luatexbase.in_callback("process_input_buffer", "process_input_buffer") then
+		luatexbase.remove_from_callback("process_input_buffer", "process_input_buffer")
+	end
+end
+
+-- the callback that performs the replacement
+function replace_chars_callback(a)
+	if status.input_ptr == 1 then
+		-- variable to save comments if any
+		local comment=""
+		-- we delete all comments
+		a = a:gsub("(\\*)(%%.*)", function(group1, group2)
+			-- check,if we have even number of backslash characters
+			if #group1 % 2 == 0 then
+				comment=group1..group2
+				return ""
+			end
+			return group1..group2
+		end)
+		
+		-- We must replace empty lines by some value, eg % character
+		if(open_double_dls or open_dls) and a == "" then
+			return "%"
+		end
+
+		local replace_happened = false
+		a = a:gsub("(\\*)(%$+)", function(group1, group2)
+			-- if after \$ we have one or more $,algorithm will not do replacement,so we must be check this situation
+			local b = ""
+			if #group1 % 2 == 1 and #group2 >1 then
+				b="\\$"
+				group1 = group1:sub(2)
+				group2 = group2:sub(2)
+			end
+			
+			-- if we have even number of backslash characters in front of $$ or $, we do replacement of $$ or $
+			if #group1 % 2 == 0 then
+				replace_happened = true
+				if group2 == "$$" then
+					group2 = open_double_dls and "\\]" or "\\["
+					open_double_dls = not open_double_dls
+				elseif group2 == "$" then
+					group2 = open_dls and "\\)" or "\\("
+					open_dls = not open_dls
+				end
+			end
+			return group1..b..group2
+		end)
+		
+		--return comments back to the line
+		a = a..comment
+		-- this might be useful for debug
+		--[[ if replace_happened then
+			texio.write_nl("the line after replacement is: "..a)
+		end]]
+		return a
+	end
+end
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf	2020-01-15 21:50:07 UTC (rev 53415)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf	2020-01-15 21:51:17 UTC (rev 53416)

Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibility.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignA.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignA.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignA.tex	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,56 @@
+%
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage[accsupp]{axessibility}
+
+\title{Algebraic equations of second degree:\\
+relation between roots and coefficients}
+\author{}
+\date{}
+
+
+\begin{document}
+
+
+
+\maketitle
+
+
+Given the equation  \( a x^2 + bx + c= 0, a\not=0 \), 
+ we have the following relations between its roots 
+ \( x_{1,2} \):
+
+\begin{align*}
+x_1+x_2 & = -\frac{b}{a},\\
+   x_1\cdot x_2 &= \phantom{-}\frac{c}{a}.
+\end{align*}
+
+
+
+\end{document} 


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignA.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignT.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignT.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignT.tex	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,65 @@
+%
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage{axessibility}
+
+\title{Algebraic equations of second degree:\\
+relation between roots and coefficients}
+\author{}
+\date{}
+
+
+\begin{document}
+
+
+
+\maketitle
+
+
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+Given the equation \auxiliaryspace
+  \tagmcend
+\tagstructend
+ \( a x^2 + bx + c= 0, a\not=0 \), 
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+ we have the following relations between its roots \auxiliaryspace
+  \tagmcend
+\tagstructend
+ \( x_{1,2} \):
+
+\begin{align*}
+x_1+x_2 & = -\frac{b}{a},\\
+   x_1\cdot x_2 &= \phantom{-}\frac{c}{a}.
+\end{align*}
+
+
+
+\end{document} 


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleAlignT.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineA.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineA.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineA.tex	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,49 @@
+%
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage[accsupp]{axessibility}
+
+\title{The golden mean}
+\author{}
+\date{}
+
+\begin{document}
+
+\maketitle
+
+The golden mean is the number
+\[\frac{1 + \sqrt{5}}{2},\] 
+that is the root larger in modulus of
+\begin{equation} x^2 - x - 1. \end{equation}
+It is usually defined as the ratio of two lengths \(a\) and \(b\) such that 
+\begin{equation*} (a+b) : a = a : b. \end{equation*} 
+Let \(x\) be the ratio \( \frac{a}{b} \), we have \( \frac{a+b}{a} = 1 + \frac{1}{x} \), from which we get the equation \(x^2 = x + 1\).
+
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineA.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineT.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineT.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineT.tex	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,95 @@
+% 
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage{axessibility}
+
+\title{The golden mean}
+\author{}
+\date{}
+
+\begin{document}
+
+\maketitle
+
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+The golden mean is the number
+  \tagmcend
+\tagstructend
+\[\frac{1 + \sqrt{5}}{2},\] 
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+that is, the root larger in modulus of
+  \tagmcend
+\tagstructend
+\begin{equation} x^2 - x - 1. \end{equation}
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+It is usually defined as the ratio of two lengths \auxiliaryspace
+  \tagmcend
+\tagstructend
+ \(a\)
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+  and \auxiliaryspace
+    \tagmcend
+\tagstructend
+\(b\) 
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+  such that 
+  \tagmcend
+\tagstructend
+\begin{equation*} (a+b) : a = a : b. \end{equation*} 
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+Let \auxiliaryspace
+  \tagmcend
+\tagstructend
+ \(x\) 
+ \tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+be the ratio \auxiliaryspace
+  \tagmcend
+\tagstructend
+\( \frac{a}{b} \).
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+We have \auxiliaryspace
+  \tagmcend
+\tagstructend
+\( \frac{a+b}{a} = 1 + \frac{1}{x} \), 
+\tagstructbegin{tag=P}
+  \tagmcbegin{tag=P}
+from which we get the equation \auxiliaryspace
+  \tagmcend
+\tagstructend
+ \(x^2 = x + 1\).
+
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/axessibility/axessibilityExampleSingleLineT.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/axessibility/axessibility.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/axessibility/axessibility.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/axessibility/axessibility.dtx	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,1014 @@
+%
+% \iffalse meta-comment 
+% 
+% 
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+% \fi
+%
+%\iffalse
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{axessibility}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges\begin{document}
+\title{The \textsf{axessibility} package}
+\date{January 8, 2020}
+ \author{Dragan Ahmetovic\thanks{Dipartimento di Matematica ``G. Peano'', Universit\`a degli Studi di Torino, 10123, Italy}, Tiziana Armano\footnotemark[1], 
+ Cristian Bernareggi\footnotemark[1], Anna Capietto\footnotemark[1], \\
+ Sandro Coriasco\footnotemark[1], Boris Doubrov\thanks{Dual Lab, Ottignies-Louvain-la-Neuve 1340, Belgium}, Alexander Kozlovskiy\footnotemark[2], Nadir Murru\footnotemark[1]
+%% \\
+%%   $ $
+%% \\
+%% Dipartimento di Matematica ``G. Peano''\\Universit\`a degli Studi di Torino \\
+%% Dual Lab, Ottignies-Louvain-la-Neuve 1340, Belgium
+%% 
+\\
+ $ $
+ \\
+ \texttt{<anna.capietto at unito.it>,<sandro.coriasco at unito.it>,}\\
+\texttt{<boris.doubrov at duallab.com>}}
+%
+\DocInput{axessibility.dtx }
+\end{document}
+%</driver>
+%\fi
+%
+% \changes{v1.0}{2018/07/09}{Initial version} 
+% \changes{v2.0}{2019/01/08}{Added support for environments align, align*, alignat, alignat*, flalign, flalign*, gather, gather*, xalignat, xalignat*, and xxalignat, from the package \textbf{amsmath}} 
+% \changes{v3.0}{2019/xx/yy}{Added option to select between tagging via accsupp or tagpdf packages. Added support for environment multline from the package \textbf{amsmath}. Added option to automatically replace $$ and $$ by \[\] and \(\) in lua mode.} 
+%
+% \maketitle
+%
+%\begin{abstract}
+%PDF documents containing formulae generated by \LaTeX\
+% are usually not accessible by assistive technologies for people with special educational needs
+% and  visually impaired people 
+% (i.e., by screen readers and braille displays). The package manages this issue, allowing to create a PDF document where the formulae are read by these assistive technologies, since it automatically generates hidden comments in the PDF document (by means of the /ActualText  attribute) in correspondence to each formula. The package does not generate a PDF/UA document.
+%\end{abstract}
+%
+%\tableofcontents
+%
+%\section{Introduction}
+%This package focuses on the specific problem of the accessibility of PDF documents generated by \LaTeX\ for visually impaired people
+%and people with special educational needs.
+%When a PDF document is generated starting from \LaTeX, formulae are not accessible by screen readers and braille displays. 
+% They can be made accessible by inserting a hidden comment, i.e., an ActualText, similarly to the case of web pages. 
+% This can be made, e.g., by using the \LaTeX\ package pdfcomment.sty. In any case, this task must be manually performed by the author and it is surely inefficient, 
+% since the author should write the formulae and, in addition, insert a description for each formula. 
+% Note also that the package pdfcomment.sty does not allow to insert special characters like `backslash', `brace', etc, in the comment. 
+% Moreover, with these solutions, the reading is bothered since the screen reader first reads incorrectly the formula and then,
+% only as a second step, provides the correct comment of the formula. 
+% There are also some \LaTeX\ packages that try to improve the accessibility of PDF documents produced by \LaTeX. 
+% In particular, the packages accsupp.sty, accessibility$\_$meta.sty and tagpdf have
+%  been developed in order to obtain tagged PDF documents.  The package accsupp.sty develops some interesting tools for commenting formulae 
+% using also special characters (possibility that is not available, e.g., in the pdfcomment.sty package). The package tagpdf widely
+% further developed tagging functionalities, along the most recent specifications for PDF documents accessibility. However, all of the
+% above are not automatized methods, 
+% since the comment and tags must be manually inserted by the author. 
+% The package accessibility$\_$meta.sty is an improved version of the package accessibility.sty. 
+% This package allows the possibility of inserting several tags for sections, links, figures and tables. 
+% However, even if these tags are recognized by the tool for checking tags of Acrobat Reader Pro, they are not always recognized by the screen readers. 
+% Moreover, this package does not manage formulae. Our package automatically produces an ActualText corresponding to the \LaTeX\ commands that generate the formulae. 
+% This ActualText is hidden in the PDF document, but the screen reader reads it without reading  any incorrect sequence before. 
+% Additional functionalities, implemented in this version, are available when the typeset is done by means of lua\LaTeX (see below). 
+%
+%\section{License}
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+%\section{Prerequisites}
+%
+%The package \textbf{axessibility} requires the following packages: \textbf{accsupp, amsmath, amssymb, tagpdf, xstring}.
+%
+%\section{Package specification}
+%
+%If you use \LaTeX$2_\epsilon$ simply add the following line in the preamble:
+% \begin{itemize}
+%	\item for the usage based on the \textbf{tagpdf} package,\\
+%
+%\indent $\backslash$\textbf{usepackage}$\{$\textbf{axessibility}$\}$\\
+%
+% or, equivalently, \\
+%
+% $\backslash$\textbf{usepackage[tagpdf]}$\{$\textbf{axessibility}$\}$
+% \item for the usage based on the \textbf{accsupp} package,\\
+%
+% $\backslash$\textbf{usepackage[accsupp]}$\{$\textbf{axessibility}$\}$
+% \end{itemize}
+%
+% \medskip
+%
+%\noindent The package includes the following features:
+%\begin{itemize}
+%\item In the \textbf{accsupp} version, the commands\\ \\
+%\indent $\backslash$\textbf{pdfcompresslevel=0} \\
+%\indent $\backslash$\textbf{pdfoptionpdfminorversion=6} \\ \\
+% produce an uncompressed PDF document. The command \\ \\
+%\indent $\backslash$\textbf{BeginAccSupp} 
+%\\ \\
+%contained in the package \textbf{accsupp}, has been redefined so that the screen readers access the ActualText created by this command.
+%\item In the \textbf{tagpdf} version, the commands\\ \\
+%\indent $\backslash$\textbf{tagpdfsetup\{tabsorder=structure,uncompress,activate-all,interwordspace=true\}}\\
+%$\backslash$\textbf{tagpdfifpdftexT}\\
+% \textbf{\{}\\
+% $\backslash$\textbf{pdfcatalog\{/Lang (en-US)\}}\\
+% $\backslash$\textbf{usepackage[T1]\{fontenc\}}\\
+% $\backslash$\textbf{input glyphtounicode}\\
+%  $\backslash$\textbf{pdfgentounicode=1}\\
+% \textbf{\}}\\
+%$\backslash$\textbf{tagpdfifluatexT}\\
+% \textbf{\{}\\
+%  $\backslash$\textbf{pdfextension catalog\{/Lang (en-US)\}}\\
+%  $\backslash$\textbf{RequirePackage\{fontspec\}}\\
+%  $\backslash$\textbf{RequirePackage\{luacode\}}\\
+%  $\backslash$\textbf{newfontface$\backslash$zerowidthfont\{freeserif\}}\\
+%$\backslash$\textbf{directlua\{}\\
+%\textbf{require("axessibility.lua")}\\
+%\textbf{\}}\\
+%\textbf{\}}\\
+%
+%produce an uncompressed PDF document, directing appropriately the typesetting, either via pdf\LaTeX\ or lua\LaTeX.
+%Equations (and other structures) are tagged by means of the commands defined in the \textbf{tagpdf} package, so that
+%screen readers access the ActualText created by them. When typeset via lua\LaTeX, additional functionalities, implemented
+%in the file axessibility.lua, can be activated (see Section \ref{sec:extra} below).
+%\item The new commands \\ \\
+%\indent $\backslash$\textbf{wrap$\#$1}\\
+%\indent $\backslash$\textbf{wrapml$\#$1}\\
+%\indent $\backslash$\textbf{wrapmlstar$\#$1}
+%\\ \\
+%allow to store their input into an ActualText in the PDF document (e.g., the \LaTeX\ commands for generating a formula), 
+%for single line and multiple line formulae environments, respectively.
+%
+%\item The environments \\ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{equation}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{equation}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{equation*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{equation*}$\}$ \\
+%\indent $\backslash$[ \dots $\backslash$]\\
+%\indent $\backslash$( \dots $\backslash$)\\ 
+%
+%have been redefined. In each environment listed above, the command \cs{wrap} is inserted, together with
+%the command \cs{collect at body}, so that all the content of the environment is automatically stored into an 
+% ActualText in the PDF document. The following multiline formula environments, defined in the \textbf{amsmath} package,\\ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{align}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{align}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{align*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{align*}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{alignat}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{alignat}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{alignat*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{alignat*}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{flalign}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{flalign}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{flalign*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{flalign*}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{gather}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{gather}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{gather*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{gather*}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{xalignat}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{xalignat}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{xalignat*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{xalignat*}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{xxalignat}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{xxalignat}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{multline}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{multline}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{multline*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{multline*}$\}$ \\
+%
+% have been similarly redefined, using the commands \cs{wrapml} and \cs{wrapmlstar}. 
+% The content of these environments, too, is now stored into an 
+% ActualText in the PDF document. The support for more multiline environments will be added in future versions of the package.
+%\end{itemize}
+%
+%\section{Usage}\label{sec:usage}
+%
+% An author that wants to create an accessible PDF document for visually impaired people, or people with special educational needs,
+% can add this package and use the above 
+% environments for inserting the formulae. The \LaTeX\ code of the inserted formulae will be added as hidden comments in 
+% correspondence to the location of the formulae in the text. This will allow the user to access the formula code with the screen reader 
+% and with the braille refreshable display. Additionally, the package enables to copy the formula \LaTeX\ code from the PDF reader 
+% and paste it elsewhere (concerning this feature, please see also Section \ref{sec:issues} below).
+%
+% Inline and displayed mathematical modes encoded by means of $\$$ and $\$\$$ are not supported by the package. However, external scripts, 
+% or a command \textbf{\textbackslash{}doreplacement\{true\}} when typesetting with lua\LaTeX, implement the automatic replacement of these TeX markers by their LaTeX equivalents $\backslash(\backslash)$ and $\backslash[\backslash]$. 
+% The external scripts are provided as companion software and described in the following section. 
+%
+%Moreover, provided that also the package 
+% \textbf{eqnalign} is added, the (old) multiline formula environments\\ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{eqnarray}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{eqnarray}$\}$ \\
+%\indent $\backslash$\textbf{begin}$\{$\textbf{eqnarray*}$\}$ \dots $\backslash$\textbf{end}$\{$\textbf{eqnarray*}$\}$ \\
+%
+% \noindent will automatically generate the corresponding hidden ActualText.
+%
+
+
+%
+%\section{External scripts and screen reader integration}\label{sec:extra}
+%
+%In addition to the package, we also provide scripts and other resources that complement its functionalities.
+%
+%\subsection{Preprocessing scripts}
+%While we warmly suggest to follow the indications provided in the usage guide (suggested commands and environments), it is also
+%possible to apply our package to an already existing \LaTeX\ document. In this case, if pdf\LaTeX\ is employed, it is necessary to 
+%preprocess the document in order to replace some of the unsupported commands and environments with the suggested ones. We provide 
+%a preprocessing script to handle some of these cases at our Github repository\footnote{\url{www.integr-abile.unito.it/axessibility/?repository}}. Namely, the underscore characters have to be substituted as indicated above when employing the \textbf{accsupp} mode,
+% while this is not necessary when the \textbf{tagpdf} mode is selected.  $\$$ and $\$\$$ markers must be replaced when typesetting with
+%pdf\LaTeX\ both in the \textbf{accsupp} and \textbf{tagpdf} mode. 
+%
+%\subsection{Expansion of user macros}
+%Note that custom macros used by the author within the formulae are copied as-is into the ActualText in the hidden comment. This macros may bear no meaning for other readers, so it may be more meaningful to expand those macros into the original \LaTeX\ commands. We provide a script that can parse the \LaTeX\ document and replace all the user macros within the formulae with their expanded definitions. You can download this script at our Github repository\footnotemark[\value{footnote}].
+%
+%\subsection{Screen reader dictionaries}
+%\LaTeX\ commands that are included as ActualText in the hidden comments corresponding to formulae may appear awkward when read by the screen reader. We provide dictionaries for JAWS and NVDA screen readers that convert \LaTeX\ commands into natural language. Please note that the braille refreshable display will still show the formulae in their original \LaTeX\ representations. The dictionaries can be downloaded at our Github repository\footnotemark[\value{footnote}].
+%
+%\subsection{Automatic replacement of $\$$ and $\$\$$ markers in Lua mode}
+% Lua mode implements the \LaTeX\ command \textbf{doreplacement} to switch on/off the automatic replacement of $\$$ and $\$\$$ by
+% \cs{(} \cs{)} and \cs{[} \cs{]} environments, so that external scripts are no longer required. 
+% This option is disabled by default and can be switched on or off by the call 
+% \textbf{\cs{doreplacement}\{true\}} or \textbf{\cs{doreplacement}\{false\}} respectively. 
+% When enabled, the replacement is applied to every input line, which might have undesired effects in verbatim mode or other 
+% environments, where $\$$ and $\$\$$ are used as regular symbols. So, it is recommended to switch off the automatic replacement 
+% functionality in such cases. 
+% The Lua code implementing the replacement is contained in the second main source file axessibility.lua. Please see the comments 
+% within the file itself for further explanations.
+% 
+%
+%
+%\section{Known issues}\label{sec:issues}
+%
+%Note that, to preserve the compatibility with Acrobat Reader when employing the \textbf{accsupp} mode, our package discourages 
+%the use of the underscore character ($\_$), which is not correctly read using screen readers in combination with this PDF reader. 
+%Alternatively, we suggest to use the equivalent command \cs{sb}. The underscore character works correctly when the PDF file
+%is produced in the \textbf{tagpdf} mode.
+%
+% The typeset of documents with \textbf{axessibility} by means of lua\LaTeX\ does not work corrrectly when selecting
+% the \textbf{accsupp} mode.
+%
+% The copy and paste feature described in Section \ref{sec:usage} above does not work correctly at times. We observed that
+% it behaves as expected when the NVDA screenreader is active, while it can produce multiple copies of the formula code
+% when this software is not running.
+%
+% The preprocessing scripts do not cover all the possible character/environment combinations, so some errors can be generated, at times,
+% when they are employed to perform the underscore,  $\$$ and $\$\$$ substitutions.
+
+%\section{Implementation}
+%
+
+% Standard file identification.
+
+%    \begin{macrocode}
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{axessibility}
+%[2019/11/01 v3.0: Accessibility support by marked content for inline, 
+%                  displayed single line, and various displayed multiline formulae]
+
+%% 'tagpdf' or 'accsupp' option
+\newif\iftagpdfopt
+
+\DeclareOption{accsupp}{
+  \tagpdfoptfalse
+}
+
+\DeclareOption{tagpdf}{
+  \tagpdfopttrue
+}
+
+\ExecuteOptions{tagpdf}
+
+\ProcessOptions\relax
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{xstring}
+
+%%%
+% to avoid errors in if constructs
+%%%
+\makeatletter
+\long\def\@macronestedifalign{
+\ifingather@
+    \restorealignstate@
+    \egroup
+    \nonumber
+    \ifnum0=`{\fi\iffalse}\fi
+  \else
+    $$%
+  \fi
+  }
+  
+\long\def\@macronestedifmultline{  
+  \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+}
+%  
+\makeatother
+%
+%    \end{macrocode}
+
+
+%    \begin{macrocode}
+%
+\iftagpdfopt
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tagpdf option code (default)   %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\def\messaggio{option tagpdf} %debug
+%
+%    \end{macrocode}
+
+% \noindent Setup of the \textbf{tagpdf} package.
+
+%    \begin{macrocode}
+%
+\RequirePackage{tagpdf}
+\tagpdfsetup{tabsorder=structure,uncompress,activate-all,interwordspace=true}
+\tagpdfifpdftexT
+ {
+  %set language / can also be done with hyperref
+  \pdfcatalog{/Lang (en-US)}
+  \usepackage[T1]{fontenc}
+  \input glyphtounicode
+  \pdfgentounicode=1
+ }
+\tagpdfifluatexT
+ {
+  %set language / can also be done with hyperref
+  \pdfextension catalog{/Lang (en-US)}
+  \RequirePackage{fontspec}
+  \RequirePackage{luacode}
+  \newfontface\zerowidthfont{freeserif}
+\directlua{
+require("axessibility.lua")
+}
+}
+%
+%    \end{macrocode}
+
+% \noindent Tokens used for the treatment of multiline formula environments.
+
+%    \begin{macrocode}
+%
+\makeatletter
+
+\newtoks\@mltext
+\newtoks\@mltexttmp
+
+%
+%    \end{macrocode}
+
+% \noindent The command \textbf{\textbackslash{}doreplacmeent} with boolean argument switches on or off $\$$ and $\$\$$ replacement by LaTeX environments \cs{(} \cs{)} and \cs{[} \cs{]}. This command works only in Lua mode and allows to avoid the use of external substitution script. It is switched off by default.
+
+%    \begin{macrocode}
+%
+\newcommand{\doreplacement}[1]{
+	\tagpdfifluatexT
+	\directlua { replace_dls_and_double_dls(#1) }
+}
+%
+%    \end{macrocode}
+
+% \noindent Automatic tagging at the document level.
+
+%    \begin{macrocode}
+%
+\let\begin at document=\document
+\let\end at document=\enddocument
+\renewcommand{\document}{\begin at document\tagstructbegin{tag=Document}}
+\renewcommand{\enddocument}{\tagstructend\end at document}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{(} \cs{)} by means of a (temporary) 
+% math environment that calls the wrapper defined above.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\newenvironment{temp at env}{%
+  \relax\ifmmode\@badmath\else$\fi%
+ \collect at body\wrap}{%
+  \relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}
+\protected\def\(#1\){\begin{temp at env}#1\end{temp at env}}
+\makeatother
+%
+%    \end{macrocode}
+
+
+%    \noindent The next command creates a blank space to avoid clash with references (it appears to be a \cs{protect}...).
+%      Refer to https://tex.stackexchange.com/questions/57151/how-do-i-prevent-conflicts-between-accsupp-and-hyperref 
+%    for possible handling of such issues.
+
+%    \begin{macrocode}
+%
+\newcommand{\auxiliaryspace}{ }
+%
+%    \end{macrocode}
+
+
+% \noindent The next one is the actual wrapper. It takes the body of a formula environment and wraps it in the \textbf{tagpdf} 
+% package tagging commands, to make the math-text available in comments.
+% \cs{detokenize} allows the formula to be parsed and read as a string.
+% \cs{expandafter} there applies to the token "\{" and allows \cs{detokenize} to be applied 
+% after argument \#1 is passed to the tagging commands.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\long\def\wrap#1{
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{#1},
+                  actualtext-o=\detokenize\expandafter{#1}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{#1},
+                  actualtext-o=\detokenize\expandafter{#1}}
+ #1
+ \tagmcend
+\tagstructend
+}
+\makeatother
+%
+%    \end{macrocode}
+
+% \noindent The next function redefines \cs{equation} by calling the above wrapper to its argument. 
+% This makes \cs{equation} accessible.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\renewenvironment{equation}{%
+ \incr at eqnum
+  \mathdisplay at push
+  \st at rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{equation*}
+% by calling the above wrapper to its argument. 
+% This makes \cs{equation*} accessible.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\renewenvironment{equation*}{%
+  \mathdisplay at push
+  \st at rredtrue \global\@eqnswfalse
+  \mathdisplay{equation*}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation*}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{[} \cs{]}, 
+% using the above redefinition of \cs{equation*}.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\protected\def\[#1\]{\begin{equation*}#1\end{equation*}}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next wrappers, similar to the previous one, are used to handle multiline formula environments. 
+% Here some additional step is needed to obtain the desired content, to be stored via the tagging commands.
+
+%    \begin{macrocode}
+%
+\makeatletter
+
+\long\def\wrapml#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[6]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                  actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                  actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+%
+% This one should be \wrapml parametrized \StrBehind[5]
+%
+\long\def\wrapmlstar#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+%
+% This one should be \wrapml parametrized = \wrapmlstar
+%
+\long\def\wrapmlalt#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next functions redefine the environments align, align*, alignat, alignat*, flalign, flalign*, gather, gather*,
+% xalignat, xalignat*, xxalignat, multline, multline*, originally defined in the package \textbf{amsmath}, by calling the 
+% above multiline wrapper to their 
+% argument. The structure, as for the original macros, is essentially the same for all of them.
+
+%    \begin{macrocode}
+%
+\makeatletter
+
+\renewenvironment{align}{%
+  \collect at body\wrapml\auxiliaryspace
+ \start at align\@ne\st at rredfalse\m at ne
+}{%
+  \math at cr \black@\totwidth@
+  \egroup
+  \@macronestedifalign
+  \ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{align*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\@ne\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at align\z@\st at rredfalse
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\z@\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{xalignat}{%
+  \collect at body\wrapmlalt\auxiliaryspace
+  \start at align\@ne\st at rredfalse
+}{%
+  \endalign
+}
+
+\renewenvironment{xalignat*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\@ne\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{xxalignat}{%
+  \collect at body\wrapmlalt\auxiliaryspace
+  \start at align\tw@\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredfalse\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\tw@\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{gather}{%
+  \collect at body\wrapmlalt\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredfalse
+}{%
+  \math at cr \black@\totwidth@ \egroup
+  $$\ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{gather*}{%
+  \collect at body\wrapmlstar\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredtrue
+}{%
+  \endgather
+}
+
+\renewenvironment{multline}{%
+  \collect at body\wrapmlalt\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredfalse
+}{%
+%  \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+  \@macronestedifmultline
+  \ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{multline*}{
+    \collect at body\wrapmlstar\auxiliaryspace\auxiliaryspace
+    \start at multline\st at rredtrue
+}{
+  \endmultline
+}
+
+\makeatother
+%
+%    \end{macrocode}
+
+%%%%
+% End of tagpdf option code
+%%%%
+
+%    \begin{macrocode}
+%
+\else
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %          accsupp option code         %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\def\messaggio{option accsupp} %debug
+
+\RequirePackage{accsupp}
+
+%\RequirePackage{amsmath}
+%\RequirePackage{amssymb}
+%\RequirePackage{xstring}
+% \noindent PDF compression/unicode settings.
+
+
+\pdfcompresslevel=0
+\pdfoptionpdfminorversion=6
+\input{glyphtounicode}
+\pdfgentounicode=1
+%
+%    \end{macrocode}
+
+
+% \noindent Tokens used for the treatment of multiline formula environments.
+
+%    \begin{macrocode}
+%
+
+\makeatletter
+
+\newtoks\@mltext
+\newtoks\@mltexttmp
+
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent Renewed command \cs{BeginAccSupp}, originally defined in the package \textbf{accsupp},
+% to add the string \cs{S} before \cs{span}. 
+% This makes the formula readable by screenreading technologies.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\renewcommand*{\BeginAccSupp}[1]{%
+  \begingroup
+    \setkeys{ACCSUPP}{#1}%
+    \edef\ACCSUPP at span{%
+      /S/Span<<%
+        \ifx\ACCSUPP at Lang\relax
+        \else
+          /Lang\ACCSUPP at Lang
+        \fi
+        \ifx\ACCSUPP at Alt\relax
+        \else
+          /Alt\ACCSUPP at Alt
+        \fi
+        \ifx\ACCSUPP at ActualText\relax
+        \else
+          /ActualText\ACCSUPP at ActualText
+        \fi
+        \ifx\ACCSUPP at E\relax
+        \else
+          /E\ACCSUPP at E
+        \fi
+      >>%
+    }%
+    \ACCSUPP at bdc
+    \ACCSUPP at space
+  \endgroup
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+%    \noindent The next command creates a blank space to avoid clash with references (it appears to be a \cs{protect}...).
+%      Refer to https://tex.stackexchange.com/questions/57151/how-do-i-prevent-conflicts-between-accsupp-and-hyperref 
+%    for possible handling of such issues.
+
+%    \begin{macrocode}
+%
+\newcommand{\auxiliaryspace}{ }
+%
+%    \end{macrocode}
+
+
+% \noindent The next one is the actual wrapper. It takes the body of a formula environment and wraps it in AccSupp 
+% commands, to make the math-text available in comments.
+% \cs{detokenize} allows the formula to be parsed and read as a string.
+% \cs{expandafter} there applies to the token "\{" and allows \cs{detokenize} to be applied 
+% after argument \#1 is passed to \cs{BeginAccSupp}.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\long\def\wrap#1{
+\BeginAccSupp{method=escape,ActualText=\detokenize\expandafter{#1}}
+ #1
+\EndAccSupp{}%
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next wrapper, similar to the previous one, is used to handle multiline formula environments. 
+% Here some additional step is needed to obtain the desired content, to be stored via \cs{BeginAccSupp}.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\long\def\wrapml#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+%
+\BeginAccSupp{method=escape,ActualText=\auxiliaryspace\@mltext}
+ #1
+\EndAccSupp{}%
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+
+% \noindent The next function redefines \cs{equation} by calling the above wrapper to its argument. 
+% This makes \cs{equation} accessible.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\renewenvironment{equation}{%
+ \incr at eqnum
+  \mathdisplay at push
+  \st at rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{equation*}
+% by calling the above wrapper to its argument. 
+% This makes \cs{equation*} accessible.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\renewenvironment{equation*}{%
+  \mathdisplay at push
+  \st at rredtrue \global\@eqnswfalse
+  \mathdisplay{equation*}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation*}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{[} \cs{]}, 
+% using the above redefinition of \cs{equation*}
+
+%    \begin{macrocode}
+%
+\makeatletter
+\protected\def\[#1\]{\begin{equation*}#1\end{equation*}}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next function redefines \cs{(} \cs{)} by means of a (temporary) 
+% math environment that calls the wrapper defined above.
+
+%    \begin{macrocode}
+%
+\makeatletter
+\newenvironment{tempenv}{%
+  \relax\ifmmode\@badmath\else$\fi%
+ \collect at body\wrap}{%
+  \relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}
+\protected\def\(#1\){\begin{tempenv}#1\end{tempenv}}
+\makeatother
+%
+%    \end{macrocode}
+
+
+% \noindent The next functions redefine the environments align, align*, alignat, alignat*, flalign, flalign*, gather, gather*,
+% xalignat, xalignat*, xxalignat, multline, multline*, originally defined in the package \textbf{amsmath}, by calling the 
+% above multiline wrapper to their 
+% argument. The structure, as for the original macros, is essentially the same for all of them.
+
+%    \begin{macrocode}
+%
+\makeatletter
+
+\renewenvironment{align}{%
+  \collect at body\wrapml\auxiliaryspace
+ \start at align\@ne\st at rredfalse\m at ne
+}{%
+  \math at cr \black@\totwidth@
+  \egroup
+  \@macronestedifalign
+  \ignorespacesafterend
+}
+
+\renewenvironment{align*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\z@\st at rredfalse
+}{%
+  \endalign
+}
+\renewenvironment{alignat*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\z@\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{xalignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredfalse
+}{%
+  \endalign
+}
+\renewenvironment{xalignat*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{xxalignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{flalign}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredfalse\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{gather}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredfalse
+}{%
+  \math at cr \black@\totwidth@ \egroup
+  $$\ignorespacesafterend
+}
+
+\renewenvironment{gather*}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredtrue
+}{%
+  \endgather
+}
+
+\renewenvironment{multline}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredfalse
+}{%
+  %\iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+  \@macronestedifmultline
+  \ignorespacesafterend
+}
+
+\renewenvironment{multline*}{
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredtrue
+}{
+  \endmultline
+}
+
+%%}
+%%
+\makeatother
+%%%%
+% End of accsupp option code
+%%%%
+\fi
+%
+%    \end{macrocode}
+% 
+% \noindent
+% For the automatic  $\$$ and $\$\$$ replacement code, please see the second main source file axessibility.lua.
+%
+%\section{History}
+%\noindent \textbf{[2018/07/09: v1.0] }
+%\begin{itemize}
+%	\item First version (with Michele Berra, Alice Ruighi, and Eugenia Taranto).
+%\end{itemize}
+%\noindent \textbf{[2019/01/08: v2.0] }
+%\begin{itemize}
+%	\item Added support for environments align, align*, alignat, alignat*, flalign, flalign*, gather, gather*, xalignat, xalignat*, and xxalignat, from the package \textbf{amsmath}  (with Michele Berra, Alice Ruighi, and Eugenia Taranto).
+%\end{itemize}
+%\noindent \textbf{[2020/01/08: v3.0] }
+%\begin{itemize}
+%	\item Added selection option, to choose between tagging via accsupp or tagpdf packages. Added support for environment 
+%     multline and multline* from the package \textbf{amsmath}. Added the second main source file axessibility.lua, containing code
+%     that can be activated when typesetting with lua\LaTeX.
+%\end{itemize}
+
+\endinput
+%%
+%% End of file `axessibility.sty'.


Property changes on: trunk/Master/texmf-dist/source/latex/axessibility/axessibility.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/axessibility/axessibility.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/axessibility/axessibility.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/axessibility/axessibility.ins	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,82 @@
+% 
+% Copyright (C) 2018, 2019, 2020 by 
+% Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+% Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%
+% Based on accsupp and tagpdf
+%
+% This work consists of the main source files axessibility.dtx and axessibility.lua,
+% and the derived files
+%   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is 
+%               Sandro Coriasco
+%
+
+\input docstrip
+
+\keepsilent
+
+\preamble
+
+This is a generated file. 
+
+ Copyright (C) 2018, 2019, 2020 by 
+ Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+ Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+
+ Based on accsupp and tagpdf
+
+ This work consists of the main source files axessibility.dtx and axessibility.lua,
+ and the derived files
+   axessibility.ins, axessibility.sty, axessibility.pdf, README,
+   axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+.  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+ 
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3
+ 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.
+
+ This work has the LPPL maintenance status `maintained'.
+ 
+ The Current Maintainer of this work is 
+               Sandro Coriasco
+
+\endpreamble
+
+\usedir{tex/latex/axessibility} 
+
+\generate{
+	\file{axessibility.sty}{\from{axessibility.dtx}{}}
+}
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space axessibility.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file axessibility.dtx} 
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+
+\endbatchfile
\ No newline at end of file

Added: trunk/Master/texmf-dist/tex/latex/axessibility/axessibility.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/axessibility/axessibility.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/axessibility/axessibility.sty	2020-01-15 21:51:17 UTC (rev 53416)
@@ -0,0 +1,564 @@
+%%
+%% This is file `axessibility.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% axessibility.dtx 
+%% 
+%% This is a generated file.
+%% 
+%%  Copyright (C) 2018, 2019, 2020 by
+%%  Anna Capietto, Sandro Coriasco, Boris Doubrov, Alexander Koslovski,
+%%  Tiziana Armano, Nadir Murru, Dragan Ahmetovic, Cristian Bernareggi
+%% 
+%%  Based on accsupp and tagpdf
+%% 
+%%  This work consists of the main source files axessibility.dtx and axessibility.lua,
+%%  and the derived files
+%%    axessibility.ins, axessibility.sty, axessibility.pdf, README,
+%%    axessibilityExampleSingleLineT.tex, axessibilityExampleSingleLineA.tex,
+%% .  axessibilityExampleAlignT.tex, axessibilityExampleAlignA.tex
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3
+%%  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.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%% 
+%%  The Current Maintainer of this work is
+%%                Sandro Coriasco
+%% 
+
+
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{axessibility}
+
+%% 'tagpdf' or 'accsupp' option
+\newif\iftagpdfopt
+
+\DeclareOption{accsupp}{
+  \tagpdfoptfalse
+}
+
+\DeclareOption{tagpdf}{
+  \tagpdfopttrue
+}
+
+\ExecuteOptions{tagpdf}
+
+\ProcessOptions\relax
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{xstring}
+
+%%%
+%%%
+\makeatletter
+\long\def\@macronestedifalign{
+\ifingather@
+    \restorealignstate@
+    \egroup
+    \nonumber
+    \ifnum0=`{\fi\iffalse}\fi
+  \else
+    $$%
+  \fi
+  }
+
+\long\def\@macronestedifmultline{
+  \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+}
+\makeatother
+
+\iftagpdfopt
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % tagpdf option code (default)   %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\RequirePackage{tagpdf}
+\tagpdfsetup{tabsorder=structure,uncompress,activate-all,interwordspace=true}
+\tagpdfifpdftexT
+ {
+  %set language / can also be done with hyperref
+  \pdfcatalog{/Lang (en-US)}
+  \usepackage[T1]{fontenc}
+  \input glyphtounicode
+  \pdfgentounicode=1
+ }
+\tagpdfifluatexT
+ {
+  %set language / can also be done with hyperref
+  \pdfextension catalog{/Lang (en-US)}
+  \RequirePackage{fontspec}
+  \RequirePackage{luacode}
+  \newfontface\zerowidthfont{freeserif}
+\directlua{
+require("axessibility.lua")
+}
+}
+
+
+\makeatletter
+
+\newtoks\@mltext
+\newtoks\@mltexttmp
+
+
+
+\newcommand{\doreplacement}[1]{
+\tagpdfifluatexT
+\directlua { replace_dls_and_double_dls(#1) }
+}
+
+
+\let\begin at document=\document
+\let\end at document=\enddocument
+\renewcommand{\document}{\begin at document\tagstructbegin{tag=Document}}
+\renewcommand{\enddocument}{\tagstructend\end at document}
+\makeatother
+
+
+\makeatletter
+\newenvironment{temp at env}{%
+  \relax\ifmmode\@badmath\else$\fi%
+ \collect at body\wrap}{%
+  \relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}
+\protected\def\(#1\){\begin{temp at env}#1\end{temp at env}}
+\makeatother
+
+
+\newcommand{\auxiliaryspace}{ }
+
+
+\makeatletter
+\long\def\wrap#1{
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{#1},
+                  actualtext-o=\detokenize\expandafter{#1}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{#1},
+                  actualtext-o=\detokenize\expandafter{#1}}
+ #1
+ \tagmcend
+\tagstructend
+}
+\makeatother
+
+
+\makeatletter
+\renewenvironment{equation}{%
+ \incr at eqnum
+  \mathdisplay at push
+  \st at rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+
+
+\makeatletter
+\renewenvironment{equation*}{%
+  \mathdisplay at push
+  \st at rredtrue \global\@eqnswfalse
+  \mathdisplay{equation*}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation*}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+
+
+\makeatletter
+\protected\def\[#1\]{\begin{equation*}#1\end{equation*}}
+\makeatother
+
+
+\makeatletter
+
+\long\def\wrapml#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[6]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                  actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                  actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+\long\def\wrapmlstar#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+\long\def\wrapmlalt#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\tagstructbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ \tagmcbegin{tag=P,alttext-o=\detokenize\expandafter{\@mltext},
+                 actualtext-o=\detokenize\expandafter{\@mltext}}
+ #1
+}
+
+\makeatother
+
+
+\makeatletter
+
+\renewenvironment{align}{%
+  \collect at body\wrapml\auxiliaryspace
+ \start at align\@ne\st at rredfalse\m at ne
+}{%
+  \math at cr \black@\totwidth@
+  \egroup
+  \@macronestedifalign
+  \ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{align*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\@ne\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at align\z@\st at rredfalse
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\z@\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{xalignat}{%
+  \collect at body\wrapmlalt\auxiliaryspace
+  \start at align\@ne\st at rredfalse
+}{%
+  \endalign
+}
+
+\renewenvironment{xalignat*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\@ne\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{xxalignat}{%
+  \collect at body\wrapmlalt\auxiliaryspace
+  \start at align\tw@\st at rredtrue
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredfalse\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign*}{%
+  \collect at body\wrapmlstar\auxiliaryspace
+  \start at align\tw@\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{gather}{%
+  \collect at body\wrapmlalt\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredfalse
+}{%
+  \math at cr \black@\totwidth@ \egroup
+  $$\ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{gather*}{%
+  \collect at body\wrapmlstar\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredtrue
+}{%
+  \endgather
+}
+
+\renewenvironment{multline}{%
+  \collect at body\wrapmlalt\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredfalse
+}{%
+  \@macronestedifmultline
+  \ignorespacesafterend
+  \tagmcend
+  \tagstructend
+}
+
+\renewenvironment{multline*}{
+    \collect at body\wrapmlstar\auxiliaryspace\auxiliaryspace
+    \start at multline\st at rredtrue
+}{
+  \endmultline
+}
+
+\makeatother
+
+%%%%
+%%%%
+
+\else
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %          accsupp option code         %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\RequirePackage{accsupp}
+
+
+\pdfcompresslevel=0
+\pdfoptionpdfminorversion=6
+\input{glyphtounicode}
+\pdfgentounicode=1
+
+
+
+\makeatletter
+
+\newtoks\@mltext
+\newtoks\@mltexttmp
+
+\makeatother
+
+
+\makeatletter
+\renewcommand*{\BeginAccSupp}[1]{%
+  \begingroup
+    \setkeys{ACCSUPP}{#1}%
+    \edef\ACCSUPP at span{%
+      /S/Span<<%
+        \ifx\ACCSUPP at Lang\relax
+        \else
+          /Lang\ACCSUPP at Lang
+        \fi
+        \ifx\ACCSUPP at Alt\relax
+        \else
+          /Alt\ACCSUPP at Alt
+        \fi
+        \ifx\ACCSUPP at ActualText\relax
+        \else
+          /ActualText\ACCSUPP at ActualText
+        \fi
+        \ifx\ACCSUPP at E\relax
+        \else
+          /E\ACCSUPP at E
+        \fi
+      >>%
+    }%
+    \ACCSUPP at bdc
+    \ACCSUPP at space
+  \endgroup
+}
+\makeatother
+
+
+\newcommand{\auxiliaryspace}{ }
+
+
+\makeatletter
+\long\def\wrap#1{
+\BeginAccSupp{method=escape,ActualText=\detokenize\expandafter{#1}}
+ #1
+\EndAccSupp{}%
+}
+\makeatother
+
+
+\makeatletter
+\long\def\wrapml#1{
+\def\@mltext{\detokenize\expandafter{#1}}
+\def\@mltexttmp{}
+\StrBehind[5]{\@mltext}{ }[\@mltexttmp]
+\StrGobbleRight{\@mltexttmp}{1}[\@mltext]
+\BeginAccSupp{method=escape,ActualText=\auxiliaryspace\@mltext}
+ #1
+\EndAccSupp{}%
+}
+\makeatother
+
+
+\makeatletter
+\renewenvironment{equation}{%
+ \incr at eqnum
+  \mathdisplay at push
+  \st at rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+
+
+\makeatletter
+\renewenvironment{equation*}{%
+  \mathdisplay at push
+  \st at rredtrue \global\@eqnswfalse
+  \mathdisplay{equation*}%
+  \collect at body\wrap\auxiliaryspace}{%
+  \endmathdisplay{equation*}%
+  \mathdisplay at pop
+  \ignorespacesafterend
+}
+\makeatother
+
+
+\makeatletter
+\protected\def\[#1\]{\begin{equation*}#1\end{equation*}}
+\makeatother
+
+
+\makeatletter
+\newenvironment{tempenv}{%
+  \relax\ifmmode\@badmath\else$\fi%
+ \collect at body\wrap}{%
+  \relax\ifmmode\ifinner$\else\@badmath\fi\else \@badmath\fi}
+\protected\def\(#1\){\begin{tempenv}#1\end{tempenv}}
+\makeatother
+
+
+\makeatletter
+
+\renewenvironment{align}{%
+  \collect at body\wrapml\auxiliaryspace
+ \start at align\@ne\st at rredfalse\m at ne
+}{%
+  \math at cr \black@\totwidth@
+  \egroup
+  \@macronestedifalign
+  \ignorespacesafterend
+}
+
+\renewenvironment{align*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{alignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\z@\st at rredfalse
+}{%
+  \endalign
+}
+\renewenvironment{alignat*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\z@\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{xalignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredfalse
+}{%
+  \endalign
+}
+\renewenvironment{xalignat*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\@ne\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{xxalignat}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredtrue
+}{%
+  \endalign
+}
+\renewenvironment{flalign}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredfalse\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{flalign*}{%
+  \collect at body\wrapml\auxiliaryspace
+  \start at align\tw@\st at rredtrue\m at ne
+}{%
+  \endalign
+}
+
+\renewenvironment{gather}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredfalse
+}{%
+  \math at cr \black@\totwidth@ \egroup
+  $$\ignorespacesafterend
+}
+
+\renewenvironment{gather*}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at gather\st at rredtrue
+}{%
+  \endgather
+}
+
+\renewenvironment{multline}{%
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredfalse
+}{%
+  %\iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+  \@macronestedifmultline
+  \ignorespacesafterend
+}
+
+\renewenvironment{multline*}{
+  \collect at body\wrapml\auxiliaryspace\auxiliaryspace
+  \start at multline\st at rredtrue
+}{
+  \endmultline
+}
+
+%%}
+%%
+\makeatother
+%%%%
+%%%%
+\fi
+
+\endinput
+%%
+%% End of file `axessibility.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/axessibility/axessibility.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-01-15 21:50:07 UTC (rev 53415)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-01-15 21:51:17 UTC (rev 53416)
@@ -60,7 +60,7 @@
     auto-pst-pdf-lua autobreak autopdf
     authoraftertitle authorarchive authordate authorindex
     auto-pst-pdf autoaligne autoarea automata autonum autosp auxhook
-    avantgar avremu awesomebox axodraw2
+    avantgar avremu awesomebox axessibility axodraw2
   b1encoding babel
     babel-albanian babel-azerbaijani babel-basque
     babel-belarusian babel-bosnian babel-breton

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2020-01-15 21:50:07 UTC (rev 53415)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2020-01-15 21:51:17 UTC (rev 53416)
@@ -141,7 +141,6 @@
  'autolatex',   "die 'skipping, not self-locating'",
  'autotab',     "die 'skipping, noinfo license, latex 2.09'",
  'avantgar',    "die 'skipping, part of urw-base35, frozen'",
- 'axessibility',"die 'skipping, nonfree'",
  'axodraw',	"die 'skipping, update for next TL release'",
  'babel-frenchb',  "die 'skipping, use babel-french'",
  'babel-serbianc', "&MAKEflatten",

Added: trunk/Master/tlpkg/tlpsrc/axessibility.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2020-01-15 21:50:07 UTC (rev 53415)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2020-01-15 21:51:17 UTC (rev 53416)
@@ -63,6 +63,7 @@
 depend autonum
 depend autopdf
 depend avremu
+depend axessibility
 depend background
 depend bankstatement
 depend bashful



More information about the tex-live-commits mailing list