diff options
Diffstat (limited to 'macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex')
-rw-r--r-- | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex b/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex new file mode 100644 index 0000000000..aefda1cbcb --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex @@ -0,0 +1,252 @@ +% !Mode:: "TeX:DE:UTF-8:Main" +%chapter not correct!! +\documentclass[a4paper,oneside]{memoir} +\settocdepth{subsubsection} +\setsecnumdepth{subsubsection} + +\usepackage[english]{babel} + + +\usepackage{tagpdf} + +\tagpdfifpdftexT + { + %set language / can also be done with hyperref + \pdfcatalog{/Lang (en-US)} + \usepackage[T1]{fontenc} + } + +\tagpdfifluatexT + { + %set language / can also be done with hyperref + \pdfextension catalog{/Lang (en-US)} + \usepackage{fontspec} + \usepackage{luacode} + } + + +\tagpdfsetup{tabsorder=structure, + activate-all, + uncompress + } + +\usepackage{lipsum}%\textheight3cm + +\usepackage{etoolbox} + +\ifdef\cfttocbeforelisthook{ + \appto\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} +}{ + \csdef\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} +} +\ifdef\cfttocafterlisthook{ + \appto\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} +}{ + \csdef\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} +} + +\def\M{{\fontsize{3pt}{3pt}\sffamily\selectfont NN}} + +%what about unnumbered entries in the toc?????? +\appto\cftchapterpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftchapteraftersnum{% + \tagmcend + \tagstructend} + +\appto\cftsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftsectionaftersnum{% + \tagmcend + \tagstructend} + +\appto\cftsubsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% + } +\appto\cftsubsectionaftersnum{% + \tagmcend + \tagstructend} +\appto\cftsubsubsectionpresnum{% + \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? + \tagstructbegin{tag=Lbl}% + \tagmcbegin{tag=Lbl}% +} +\appto\cftsubsubsectionaftersnum{% + \tagmcend + \tagstructend} + +%begin of entry +\appto\cftchapteraftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsubsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} +\appto\cftsubsubsectionaftersnumb{% + \tagstructbegin{tag=P}% + \tagmcbegin{tag=P}} + +%end of entry +\pretocmd\cftchapterfillnum{% + \tagmcend + \tagstructend +}{}{} +\pretocmd\cftsectionfillnum{ + \tagmcend + \tagstructend}{}{} +\pretocmd\cftsubsectionfillnum{ + \tagmcend + \tagstructend}{}{} +\pretocmd\cftsubsubsectionfillnum{% + \tagmcend + \tagstructend}{}{} + + +\makeatletter +\patchcmd\cftchapterformatpnum{\cftchapterpagefont #1}{% + %\llap{\M pnum}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \cftchapterpagefont #1% + %\rlap{\M pnum}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{} +\patchcmd\cftsectionformatpnum{\@nameuse{cftsectionpagefont}#1}{% + %\llap{\M pnum}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsectionpagefont}#1% + %\rlap{\M pnum}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} +\patchcmd\cftsubsectionformatpnum{\@nameuse{cftsubsectionpagefont}#1}{% + %\llap{\M}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsubsectionpagefont}#1% + %\rlap{\M}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} + +\patchcmd\cftsubsubsectionformatpnum{\@nameuse{cftsubsubsectionpagefont}#1}{% + %\llap{\M}% + \tagstructbegin{tag=Reference}% + \tagmcbegin{tag=Reference} + \@nameuse{cftsubsubsectionpagefont}#1% + %\rlap{\M}% + \tagmcend + \tagstructend + \tagstructend %for /TOCI. is there a better place? +}{}{\typeout{patch failed}} + + +% section is typeset using \M@sect +\ExplSyntaxOn +\prop_new:N \g_tag_section_level_prop +\prop_put:Nnn \g_tag_section_level_prop {chapter}{H1} +\prop_put:Nnn \g_tag_section_level_prop {section}{H2} +\prop_put:Nnn \g_tag_section_level_prop {Starredsection}{H2} +\prop_put:Nnn \g_tag_section_level_prop {subsection}{H3} +\prop_put:Nnn \g_tag_section_level_prop {subsubsection}{H4} +\prop_put:Nnn \g_tag_section_level_prop {paragraph}{H5} +\ExplSyntaxOff +\patchcmd\M@sect{#9\@@par}{% + %this place could be used for something between number and text + #9% + \tagmcend + \tagstructend + \@@par% +}{}{} + +% section* use \@ssect, but memoir redefines it a little before +% calling the kernel version + +\ExplSyntaxOn +\patchcmd\@ssect{\@mem@old@ssect{#1}{#2}{#3}{#4}{#5}}{% + \@mem@old@ssect{#1}{#2}{#3}{#4}{% + \tagstructbegin{tag=H2}% how to get level??? + \tagmcbegin {tag=H2}% how to get level??? + #5 + \tagmcend + \tagstructend}% +}{}{} + +% section numbers are typeset using \@seccntformat + + +\pretocmd\@seccntformat{% + \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}}% + \tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} +}{}{} +\ExplSyntaxOff +% could be used to insert something after the number ... +%\patchcmd\@seccntformat{\endcsname}{% +% \endcsname\rlap{\M}% +%}{}{} + +\renewcommand{\cftdot}{\tagmcbegin{artifact}.\tagmcend} + +\makeatother + % I don't want to handle header/footer now +\pagestyle{empty} +\makeevenfoot{plain}{}{}{} +\makeoddfoot{plain}{}{}{} + + +%% missing yet: chapter titles +\begin{document} + +\tagstructbegin{tag=Document} + +\tableofcontents* + +\chapter{Test chapter} + +\section{Test section} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + + +\subsection{Test subsection} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + +\subsubsection{Test subsubsection} + + \tagstructbegin{tag=P} + \tagmcbegin{tag=P} +test + \tagmcend + \tagstructend + +\section*{Starred section} + +\tagstructend +\end{document} + + |