2108 lines
66 KiB
Plaintext
2108 lines
66 KiB
Plaintext
|
%% accessibilityMeta.sty
|
||
|
%% Additions and changes are copyright 2015 Andrew Clifton
|
||
|
%% Code from accessibility.sty copyright 2007 Babett Schalitz (see below)
|
||
|
%
|
||
|
% 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 Andrew Clifton.
|
||
|
%
|
||
|
% This work consists of the file accessibilityMeta.sty.
|
||
|
%
|
||
|
% The file accessibilityMeta.sty is a derived work under the terms of the
|
||
|
% LPPL. It is based on version 1 of accessibility.sty by Babett Schalitz.
|
||
|
% A copy of accessibility.sty is available from http://www.babs.gmxhome.de/download/da_pdftex/accessibility.sty.
|
||
|
|
||
|
\ProvidesPackage{accessibilityMeta}[2015/08/16 v. 1.0]
|
||
|
\NeedsTeXFormat{LaTeX2e}
|
||
|
|
||
|
\RequirePackage{xkeyval}
|
||
|
\RequirePackage{ifthen}
|
||
|
\RequirePackage{count1to}
|
||
|
|
||
|
\advance\count1 by 1
|
||
|
|
||
|
\newcounter{StructTree}%
|
||
|
\pdfobj reserveobjnum%
|
||
|
\setcounter{StructTree}{\pdflastobj}%
|
||
|
\xdef\Karray{}%
|
||
|
|
||
|
\newcounter{ObjHelp}%
|
||
|
|
||
|
\newcounter{TaggedObj}%[page]
|
||
|
|
||
|
\newboolean{ACCESSProblems} \setboolean{ACCESSProblems}{false}%
|
||
|
\gdef\DocumentLanguage{}%
|
||
|
\gdef\ActualLanguage{}%
|
||
|
\newif\ifLanguageDiff \global\LanguageDifffalse%
|
||
|
\gdef\LanguageCode{}%
|
||
|
\newboolean{@tagged@pdf} \setboolean{@tagged@pdf}{false}%
|
||
|
\newboolean{@right@pdfversion} \setboolean{@tagged@pdf}{false}%
|
||
|
\newboolean{@Access@pdf} \setboolean{@Access@pdf}{false}%
|
||
|
\newif\ifPDFDetailedStructure \global\PDFDetailedStructuretrue%
|
||
|
\DeclareOption{flatstructure}{\global\PDFDetailedStructurefalse}%
|
||
|
\DeclareOption{highstructure}{\global\PDFDetailedStructuretrue}%
|
||
|
\DeclareOption{tagged}{\setboolean{@tagged@pdf}{true}}%
|
||
|
\DeclareOption{untagged}{\setboolean{@tagged@pdf}{false}}%
|
||
|
\DeclareOption*{%
|
||
|
\PackageWarning{accessibilityMeta}{Unknown Option \CurrentOption}}%
|
||
|
\ProcessOptions\relax%
|
||
|
|
||
|
|
||
|
\ifthenelse{\isundefined{\pdfoutput}}{%
|
||
|
%latex with dvips
|
||
|
\setboolean{@right@pdfversion}{false}%
|
||
|
}{\ifthenelse{\number\pdfoutput<1}{%
|
||
|
%pdflatex in DVI mode
|
||
|
\setboolean{@right@pdfversion}{false}%
|
||
|
}{%pdflatex in PDF mode
|
||
|
\ifthenelse{\pdftexversion<120}{%
|
||
|
\PackageError{accessibilityMeta}%
|
||
|
{pdfTeX/pdfLaTeX version >= 1.20 required for direct PDF outut}%
|
||
|
{Try to install a more recent version!}%
|
||
|
}{%
|
||
|
%It is the right version
|
||
|
\setboolean{@right@pdfversion}{true}%
|
||
|
}%
|
||
|
}%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@right@pdfversion} \and \boolean{@tagged@pdf}}{%
|
||
|
\setboolean{@Access@pdf}{true}%
|
||
|
}{%
|
||
|
\setboolean{@Access@pdf}{false}%
|
||
|
}
|
||
|
|
||
|
\newboolean{@KOMAScriptClass} \setboolean{@KOMAScriptClass}{false}%
|
||
|
|
||
|
\@ifclassloaded{scrreprt} {\setboolean{@KOMAScriptClass}{true}}{}%
|
||
|
\@ifclassloaded{scrbook} {\setboolean{@KOMAScriptClass}{true}}{}%
|
||
|
\@ifclassloaded{scrartcl} {\setboolean{@KOMAScriptClass}{true}}{}%
|
||
|
\ifthenelse{\boolean{@KOMAScriptClass}}{%
|
||
|
\PackageInfo{accessibilityMeta}{KOMAscript Klasse}}{}%
|
||
|
|
||
|
\newboolean{@StandardClass} \setboolean{@StandardClass}{false}%
|
||
|
|
||
|
\@ifclassloaded{report} {\setboolean{@StandardClass}{true}}{}%
|
||
|
\@ifclassloaded{book} {\setboolean{@StandardClass}{true}}{}%
|
||
|
\@ifclassloaded{article}{\setboolean{@StandardClass}{true}}{}%
|
||
|
|
||
|
\ifthenelse{\boolean{@StandardClass}}{%
|
||
|
\PackageInfo{accessibilityMeta}{Standardklasse}}{}%
|
||
|
|
||
|
\pdfcompresslevel=0% Damit wird die PDF-Quelldatei lesbar
|
||
|
\pdfoptionpdfminorversion=6% Bestimmt die PDF - Version der Ausgabe
|
||
|
%\pdfadjustspacing=0% 0, 1 oder 2 ?nderung nicht erkannt
|
||
|
|
||
|
\newcommand{\alt}[1]{\xdef\altAttr{#1}}%
|
||
|
\newcommand{\newhref}[3]{\xdef\altAttr{#2}\href{#1}{#3}}%
|
||
|
%
|
||
|
\@ifundefined{thead}{%
|
||
|
\newcommand{\thead}[1]{%
|
||
|
\global\TableHeadCelltrue%
|
||
|
\textbf{#1}}%
|
||
|
}{%
|
||
|
\let\originalthead\thead
|
||
|
\renewcommand{\thead}{%
|
||
|
\global\TableHeadCelltrue%
|
||
|
\originalthead}%
|
||
|
}
|
||
|
|
||
|
\newcount\@stackdepth \@stackdepth=0%
|
||
|
\def\accessPushStack#1#2#3#4{%
|
||
|
\ifnum \@stackdepth >15\relax%
|
||
|
\PackageWarning{accessibilityMeta}{too deep}%
|
||
|
\else%
|
||
|
\global\advance\@stackdepth\@ne%
|
||
|
\fi%
|
||
|
{\expandafter\xdef\csname StackA\romannumeral\the\@stackdepth\endcsname{#1}}%
|
||
|
{\expandafter\xdef\csname StackB\romannumeral\the\@stackdepth\endcsname{#2}}%
|
||
|
{\expandafter\xdef\csname StackC\romannumeral\the\@stackdepth\endcsname{#3}}%
|
||
|
{\expandafter\xdef\csname StackD\romannumeral\the\@stackdepth\endcsname{#4}}%
|
||
|
}%
|
||
|
|
||
|
\def\accessPopStack#1#2#3#4{%
|
||
|
\ifnum \the\@stackdepth <1\relax%
|
||
|
\global\let#1\empty%
|
||
|
\global\let#2\empty%
|
||
|
\global\let#3\empty%
|
||
|
\global\let#4\empty%
|
||
|
\else%
|
||
|
\xdef#1{\csname StackA\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\xdef#2{\csname StackB\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\xdef#3{\csname StackC\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\xdef#4{\csname StackD\romannumeral\the\@stackdepth\endcsname}%
|
||
|
%Variablen wieder leeren
|
||
|
{\expandafter\xdef\csname StackA\romannumeral\the\@stackdepth\endcsname{}}%
|
||
|
{\expandafter\xdef\csname StackB\romannumeral\the\@stackdepth\endcsname{}}%
|
||
|
{\expandafter\xdef\csname StackC\romannumeral\the\@stackdepth\endcsname{}}%
|
||
|
{\expandafter\xdef\csname StackD\romannumeral\the\@stackdepth\endcsname{}}%
|
||
|
\global\advance\@stackdepth\m@ne%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
\def\accessReadTopStack#1#2#3{%
|
||
|
\ifnum \the\@stackdepth <1\relax%
|
||
|
\global\let#1\empty%
|
||
|
\global\let#2\empty%
|
||
|
\global\let#3\empty%
|
||
|
\else%
|
||
|
\xdef#1{\csname StackA\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\xdef#2{\csname StackB\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\xdef#3{\csname StackC\romannumeral\the\@stackdepth\endcsname}%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
|
||
|
\newenvironment{PDFStructObj}[2]{% #1 StructType #2 Title
|
||
|
\ifTextActive{\endPDFMarkContent\endPDFTextObj}\fi%
|
||
|
\pdfobj reserveobjnum% Objektnummer reservieren
|
||
|
\setcounter{ObjHelp}{\pdflastobj}%
|
||
|
\expandafter\xdef\csname PDF@#1@Array\endcsname{}%
|
||
|
\accessPushStack{#1}{\theObjHelp}{PDF@#1@Array}{#2}%drauftun
|
||
|
}%
|
||
|
{%andere Ebenen Schlie?en
|
||
|
\accessPopStack\StructElem\Objnum\KidsArray\Title %runterholen
|
||
|
\ifx \StructElem\empty%
|
||
|
\PackageWarning{accessibilityMeta}{empty \string\PopStack ?}%
|
||
|
\else%
|
||
|
%\convertLanguageInCode{\languagename}%
|
||
|
\gdef\TitleHelp{}%
|
||
|
\if \Title\empty \else%
|
||
|
\gdef\TitleHelp{/T (\Title)}%
|
||
|
\fi%
|
||
|
\ifnum \@stackdepth <1\relax%
|
||
|
\xdef\ParentElem{\theStructTree}%
|
||
|
\xdef\ParentArray{Karray}%
|
||
|
\else%
|
||
|
\accessReadTopStack\ParentStructElem\ParentElem\ParentArray%
|
||
|
\fi%
|
||
|
\immediate \pdfobj useobjnum\number\Objnum{<</Type /StructElem %
|
||
|
/P \ParentElem\space 0 R %
|
||
|
\TitleHelp %
|
||
|
\space\LanguageCode %
|
||
|
/K [\csname \KidsArray\endcsname] %
|
||
|
/S /\StructElem>>}%
|
||
|
\pdfrefobj\Objnum%
|
||
|
\expandafter\xdef\csname \ParentArray\endcsname{%
|
||
|
\csname \ParentArray\endcsname \space \Objnum\space 0 R}%
|
||
|
\fi%
|
||
|
}
|
||
|
|
||
|
\newcommand{\sectionInDepth}[2]{%
|
||
|
\csname #2\endcsname=100%
|
||
|
\ifthenelse{\equal{#1}{Document}}{\csname #2\endcsname=\m@ne}{}%
|
||
|
\ifthenelse{\equal{#1}{Part}}{\csname #2\endcsname=0}{}%
|
||
|
\ifthenelse{\equal{#1}{Chapter}}{\csname #2\endcsname=1}{}%
|
||
|
\ifthenelse{\equal{#1}{Section}}{\csname #2\endcsname=2}{}%
|
||
|
\ifthenelse{\equal{#1}{Subsection}}{\csname #2\endcsname=3}{}%
|
||
|
\ifthenelse{\equal{#1}{Subsubsection}}{\csname #2\endcsname=4}{}%
|
||
|
\ifthenelse{\equal{#1}{Paragraph}}{\csname #2\endcsname=5}{}%
|
||
|
\ifthenelse{\equal{#1}{Subparagraph}}{\csname #2\endcsname=6}{}%
|
||
|
\ifthenelse{\equal{#1}{Div}}{\csname #2\endcsname=7}{}%
|
||
|
}
|
||
|
|
||
|
|
||
|
\newcount\@bool%
|
||
|
\newcount\@elem%
|
||
|
\newcount\@elemi%
|
||
|
\newcommand{\closeUntilPDFStruct}[1]{%
|
||
|
\ifTextActive%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFTextObj%
|
||
|
\fi%
|
||
|
%Schleife
|
||
|
\@bool=0%
|
||
|
\sectionInDepth{#1}{@elemi}%
|
||
|
\ifnum \@elemi=100 \@bool=1 \fi%
|
||
|
\global\advance\@elemi\m@ne%
|
||
|
\@whilenum \@bool =0\do{%
|
||
|
\accessReadTopStack\StructElem\Objnum\KidsArray%
|
||
|
\sectionInDepth{\StructElem}{@elem}%
|
||
|
\ifthenelse{\@elem >\@elemi}{%
|
||
|
\endPDFStructObj%
|
||
|
}{%
|
||
|
\@bool=1%
|
||
|
}%
|
||
|
\if #1\empty \@bool=1 \fi%
|
||
|
\ifthenelse{\equal{#1}{\StructElem}}{\@bool=1}{}%
|
||
|
}%
|
||
|
}
|
||
|
|
||
|
\xdef\TextType{}%
|
||
|
\newcounter{TextObjNum}%
|
||
|
\xdef\TextArray{}%
|
||
|
\newif\ifTextActive \TextActivefalse%
|
||
|
\newif\ifSpezialTextActive \SpezialTextActivefalse%
|
||
|
|
||
|
\newenvironment*{PDFTextObj}{%
|
||
|
%altes Textobj beenden, immer max. ein Textobj aktiv
|
||
|
\ifTextActive \endPDFMarkContent\endPDFTextObj\fi%
|
||
|
%neues anfangen
|
||
|
\global\TextActivetrue%
|
||
|
\pdfobj reserveobjnum% Objektnummer reservieren
|
||
|
\setcounter{TextObjNum}{\pdflastobj}%
|
||
|
\xdef\TextArray{}%
|
||
|
\xdef\TextType{P}% kein TextTxp --> P
|
||
|
}%
|
||
|
{%
|
||
|
\ifTextActive%
|
||
|
\ifnum \@stackdepth <1\relax%
|
||
|
\xdef\ParentElem{\theStructTree}%
|
||
|
\xdef\ParentArray{Karray}%
|
||
|
%\PackageWarning{accessibilityMeta}{stackdepth<1}%
|
||
|
\else%
|
||
|
\accessReadTopStack\ParentStructElem\ParentElem\ParentArray%
|
||
|
\fi%
|
||
|
%\convertLanguageInCode{\languagename}%
|
||
|
\immediate \pdfobj useobjnum\theTextObjNum{<</Type /StructElem %
|
||
|
/P \ParentElem \space 0 R %
|
||
|
/K [\TextArray] %
|
||
|
/S /\TextType %
|
||
|
\space\LanguageCode>>}%
|
||
|
\pdfrefobj \theTextObjNum%
|
||
|
\expandafter\xdef\csname \ParentArray\endcsname{%
|
||
|
\csname \ParentArray\endcsname \space \theTextObjNum\space 0 R}%
|
||
|
\global\TextActivefalse%
|
||
|
\fi%
|
||
|
}
|
||
|
|
||
|
|
||
|
\xdef\altAttr{}%
|
||
|
\xdef\titleAttr{}%
|
||
|
\newenvironment*{PDFSpezialTextObj}[1]{%
|
||
|
\ifTextActive \endPDFMarkContent\endPDFTextObj\fi%
|
||
|
%neues anfangen
|
||
|
\global\SpezialTextActivetrue%
|
||
|
\pdfobj reserveobjnum% Objektnummer reservieren
|
||
|
\setcounter{TextObjNum}{\pdflastobj}%
|
||
|
\xdef\TextArray{}%
|
||
|
\xdef\TextType{#1}%
|
||
|
}%
|
||
|
{%
|
||
|
%\gdef\LanguageHelp{}%
|
||
|
%\ifLanguageDiff%
|
||
|
% \gdef\LanguageHelp{\LanguageCode}%
|
||
|
%\fi%
|
||
|
% \convertLanguageInCode{\languagename}%
|
||
|
\gdef\AltHelp{}%
|
||
|
\ifthenelse{\equal{\altAttr}{}}{}{%
|
||
|
\gdef\AltHelp{/Alt(\altAttr)}%
|
||
|
}%
|
||
|
\gdef\TitleHelp{}%
|
||
|
\ifthenelse{\equal{\titleAttr}{}}{}{%
|
||
|
\gdef\TitleHelp{/T(\titleAttr)}%
|
||
|
}%
|
||
|
\ifnum \@stackdepth <1\relax%
|
||
|
\xdef\ParentElem{\theStructTree}%
|
||
|
\xdef\ParentArray{Karray}%
|
||
|
\else%
|
||
|
\accessReadTopStack\ParentStructElem\ParentElem\ParentArray%
|
||
|
\fi%
|
||
|
\immediate \pdfobj useobjnum\theTextObjNum{<</Type /StructElem %
|
||
|
/P \ParentElem \space 0 R %
|
||
|
/K [\TextArray] %
|
||
|
/S /\TextType %
|
||
|
\space\LanguageCode %
|
||
|
\space\TitleHelp %
|
||
|
\space\AltHelp>>}%
|
||
|
\pdfrefobj \theTextObjNum%
|
||
|
\expandafter\xdef\csname \ParentArray\endcsname{%
|
||
|
\csname \ParentArray\endcsname \space \theTextObjNum\space 0 R}%
|
||
|
\global\SpezialTextActivefalse%
|
||
|
\xdef\TextType{}%
|
||
|
\EveryparReset%
|
||
|
\xdef\altAttr{}% wieder leeren
|
||
|
\xdef\titleAttr{}% wieder leeren
|
||
|
}
|
||
|
|
||
|
\xdef\lastEveryparType{}%
|
||
|
\xdef\HelpBool{}%
|
||
|
\xdef\Type{}%
|
||
|
\newcounter{PDFReferenceObjNum}%
|
||
|
\xdef\ReferenceArray{}%
|
||
|
\newenvironment*{PDFInlineObjInText}[1]{%
|
||
|
%alte einstellung merken
|
||
|
\xdef\lastEveryparType{\everyparStructElem}%
|
||
|
\xdef\HelpBool{\InlineObj}%
|
||
|
\xdef\Type{#1}%
|
||
|
\ifthenelse{\equal{\Type}{Reference} \or \equal{\Type}{Link}}{%
|
||
|
\pdfobj reserveobjnum%
|
||
|
\setcounter{PDFReferenceObjNum}{\pdflastobj}%
|
||
|
\setcounter{ObjNum}{\theTaggedObj}%
|
||
|
\EveryparConfig{#1}{obj}%
|
||
|
}{%
|
||
|
\EveryparConfig{#1}{true}%
|
||
|
}%
|
||
|
\PDFMarkContent% kein everypar
|
||
|
}%
|
||
|
{%
|
||
|
\endPDFMarkContent%
|
||
|
\ifthenelse{\equal{\Type}{Reference} \or \equal{\Type}{Link}}{%
|
||
|
\xdef\ReferenceArray{<</Type /MCR /Pg \pdfpageref\count1 \space \space 0 R /MCID \theObjNum>>}%
|
||
|
\ifthenelse{\pdftexversion>139}{%
|
||
|
\setcounter{ObjHelp}{\pdflastlink}% %<< /Type /OBJR /Obj 600 0 R >>
|
||
|
%\PackageWarning{accessibilityMeta}{Objektnummer vom letzten Link: \theObjHelp}%
|
||
|
\ifthenelse{\theObjHelp>0}{%
|
||
|
\xdef\ReferenceArray{\ReferenceArray\space <</Type /OBJR /Obj \theObjHelp\space 0 R>>}%
|
||
|
}{}%
|
||
|
}{}%
|
||
|
\writeComplexTextObj{\thePDFReferenceObjNum}%
|
||
|
{\ReferenceArray}%
|
||
|
{/Reference}{\theTextObjNum}{NoPage}%
|
||
|
\xdef\TextArray{\TextArray \theObjHelp\space 0 R \space}%
|
||
|
}{}%
|
||
|
% alte einstellung wiederherstellen
|
||
|
\EveryparConfig{\lastEveryparType}{\HelpBool}%
|
||
|
\PDFMarkContent%
|
||
|
}
|
||
|
|
||
|
|
||
|
\newcommand{\EveryparConfig}[2]{%
|
||
|
\xdef\everyparStructElem{#1}%
|
||
|
\xdef\InlineObj{#2}%
|
||
|
}
|
||
|
|
||
|
%%Setzt die Variablen auf die Standardwerte f?r eine normale Texterkennung.
|
||
|
\newcommand{\EveryparReset}{%
|
||
|
\xdef\everyparStructElem{P}%
|
||
|
\xdef\InlineObj{false}%
|
||
|
}
|
||
|
|
||
|
\newif\ifMarkContentOpen \MarkContentOpenfalse%
|
||
|
\xdef\everyparStructElem{P}%
|
||
|
\xdef\InlineObj{false}%
|
||
|
\newenvironment{PDFMarkContent}{%
|
||
|
\ifMarkContentOpen \endPDFMarkContent\fi%
|
||
|
\global\MarkContentOpentrue%
|
||
|
\ifthenelse{\equal{\everyparStructElem}{}}{\EveryparReset}{}%
|
||
|
\pdfliteral{/\everyparStructElem\space <</MCID \theTaggedObj>> BDC}%
|
||
|
\ifthenelse{\equal{\InlineObj}{false}}{% Text
|
||
|
%\ifthenelse{\equal{\themypage}{\thepage}}{}{%
|
||
|
%\PackageWarning{accessibilityMeta}{unterschiedlich \thepage<>\themypage; MCID \theTaggedObj}
|
||
|
%}%
|
||
|
\xdef\TextArray{\TextArray \space <</Type /MCR %
|
||
|
%/Pg \pdfpageref\thepage \space \space 0 R %
|
||
|
/Pg \pdfpageref\count1 \space \space 0 R %
|
||
|
/MCID \theTaggedObj>>}%
|
||
|
}{}%
|
||
|
\ifthenelse{\equal{\InlineObj}{true}}{% inline-Objekt
|
||
|
\writePDFLeafObj{\theTaggedObj}{\everyparStructElem}%
|
||
|
}{}%
|
||
|
\stepcounter{TaggedObj}%
|
||
|
}%
|
||
|
{%
|
||
|
\ifMarkContentOpen%
|
||
|
\pdfliteral{EMC}%
|
||
|
\global\MarkContentOpenfalse%
|
||
|
\fi%
|
||
|
}
|
||
|
|
||
|
\newcommand*{\writePDFLeafObj}[2]{%
|
||
|
%\gdef\LanguageHelp{}%
|
||
|
%\ifLanguageDiff%
|
||
|
% \gdef\LanguageHelp{\LanguageCode}%
|
||
|
%\fi%
|
||
|
% \convertLanguageInCode{\languagename}%
|
||
|
\gdef\AltHelp{}%
|
||
|
\ifthenelse{\equal{\altAttr}{}}{}{%
|
||
|
\gdef\AltHelp{/Alt(\altAttr)}%
|
||
|
}%
|
||
|
\gdef\TitleHelp{}%
|
||
|
\ifthenelse{\equal{\titleAttr}{}}{}{%
|
||
|
\gdef\TitleHelp{/T(\titleAttr)}%
|
||
|
}%
|
||
|
\immediate \pdfobj {<</Type /StructElem %
|
||
|
/P \theTextObjNum \space 0 R %
|
||
|
/K <</Type /MCR %
|
||
|
% this fix allows roman numerals to be used
|
||
|
% /Pg \pdfpageref\thepage \space \space 0 R %
|
||
|
/Pg \pdfpageref\count1 \space \space 0 R %
|
||
|
/MCID #1>> %
|
||
|
/S /#2 %
|
||
|
\space\LanguageCode %
|
||
|
\space\TitleHelp %
|
||
|
\space\AltHelp>>}%
|
||
|
\setcounter{ObjHelp}{\pdflastobj}%
|
||
|
\pdfrefobj \pdflastobj%
|
||
|
\xdef\TextArray{\TextArray \space \theObjHelp\space 0 R}%
|
||
|
\xdef\altAttr{}%
|
||
|
\xdef\titleAttr{}%
|
||
|
}
|
||
|
|
||
|
|
||
|
\newcommand*{\writeComplexTextObj}[5]{%
|
||
|
\ifthenelse{\equal{#5}{Page}}{% Seitenreferenz angeben
|
||
|
\immediate \pdfobj useobjnum#1{<</Type /StructElem %
|
||
|
/P #4\space 0 R %
|
||
|
% /Pg \pdfpageref\thepage \space \space 0 R %
|
||
|
/Pg \pdfpageref\count1 \space \space 0 R %
|
||
|
/K [#2] %
|
||
|
/S #3 \space\LanguageCode>>}%
|
||
|
}{%keine Seitenreferenz angeben
|
||
|
\immediate \pdfobj useobjnum#1{<</Type /StructElem %
|
||
|
/P #4\space 0 R %
|
||
|
/K [#2] %
|
||
|
/S #3>>}%
|
||
|
}%
|
||
|
\setcounter{ObjHelp}{\pdflastobj}%
|
||
|
\pdfrefobj \pdflastobj%
|
||
|
}
|
||
|
|
||
|
%\newcounter{ParCounter}[page]%
|
||
|
\newcounter{ParCounter}%
|
||
|
\newif\ifnumberingpars \numberingparstrue%
|
||
|
\newif\ifnpar \npartrue%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originaleverypar\everypar%
|
||
|
\newtoks\npeverypar%
|
||
|
\npeverypar{}%
|
||
|
% Call everypar with the argument extended with the toks
|
||
|
\def\everypar#1{%
|
||
|
\originaleverypar{#1\ifnumberingpars\the\npeverypar\fi}}%
|
||
|
\npeverypar{%
|
||
|
\ifnpar{%
|
||
|
\stepcounter{ParCounter}%
|
||
|
%\pdfliteral{/Artifact BMC}%
|
||
|
% \llap{\small\arabic{ParCounter}\qquad}%
|
||
|
%\pdfliteral{EMC}%
|
||
|
\ifSpezialTextActive\else \PDFTextObj \fi%
|
||
|
\PDFMarkContent%
|
||
|
}\fi%
|
||
|
}%
|
||
|
}{}
|
||
|
\AtBeginDocument{%
|
||
|
\PDFStructObj{Document}{\empty}%
|
||
|
\everypar{}%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\AtEndDocument{%
|
||
|
\closeUntilPDFStruct{Document}%
|
||
|
\newcounter{ClassMap}%
|
||
|
\pdfobj reserveobjnum% neues Objekt Reservieren
|
||
|
\setcounter{ClassMap}{\pdflastobj}%
|
||
|
\immediate \pdfobj useobjnum \theClassMap{<<%
|
||
|
/Normal <</O /Layout /EndIndent 0.0 %
|
||
|
/SpaceAfter 0.0 /SpaceBefore 0.0 %
|
||
|
/StartIndent 0.0 /WritingMode %
|
||
|
/LrTb /TextAlign /Start>> %
|
||
|
/CM1 <</O /Layout /TextAlign /Justify>> %
|
||
|
/CM2 <</O /Layout /TextAlign /Center>> %
|
||
|
/CM3 <</O /Layout /TextAlign /Start>> %
|
||
|
/CM4 <</O /Layout /InlineAlign /Center %
|
||
|
/Placement /Block /SpaceAfter 12.125 %
|
||
|
/BBox [266 314 329 336]>> %
|
||
|
>>} \pdfrefobj \pdflastobj%
|
||
|
%\global\setcounter{ClassMap}{\pdflastobj}%
|
||
|
\pdfobj {<<%
|
||
|
/IndexItem /Span % Indexeintr?ge
|
||
|
/TOF /TOC % Table of Figures
|
||
|
/TOFI /TOCI % Table of Figures Eintrag
|
||
|
/TOT /TOC % Table of Tables
|
||
|
/TOTI /TOCI % Table of Tables Eintrag++
|
||
|
/Titlepage /Sect % Titlepage
|
||
|
/Bibliography /L % Bibligraphy
|
||
|
/BibItem /LI % BibligraphyItem
|
||
|
/ParagraphSpan /Span % geteilte Paragraphen am Seitenumbruch
|
||
|
/Footnote /Note % Fu?notentext
|
||
|
/Chapter /Sect%
|
||
|
/Section /Sect%
|
||
|
/Subsection /Sect%
|
||
|
/Subsubsection /Sect%
|
||
|
/Float /Div%
|
||
|
/L1 /L%
|
||
|
/L2 /L%
|
||
|
/L3 /L%
|
||
|
/L4 /L%
|
||
|
/L5 /L%
|
||
|
>>} \pdfrefobj \pdflastobj%
|
||
|
\setcounter{ObjHelp}{\pdflastobj}%
|
||
|
\immediate \pdfobj useobjnum \theStructTree{%
|
||
|
<</Type /StructTreeRoot %
|
||
|
/RoleMap \theObjHelp \space 0 R %
|
||
|
/ClassMap \theClassMap \space 0 R %
|
||
|
/ParentTree <</Nums [0 [\Karray]]>> % TODO Viel komplizierter
|
||
|
/ParentTreeNextKey 1 % berechnen
|
||
|
/K [\Karray] %
|
||
|
>>}\pdfrefobj\pdflastobj%
|
||
|
\pdfcatalog{%
|
||
|
/StructTreeRoot \theStructTree\space 0 R%
|
||
|
/MarkInfo <</Marked true /LetterspaceFlags 0>>%
|
||
|
%/PieceInfo<</MarkedPDF>>%
|
||
|
%/MarkInfo <</Marked true>>%
|
||
|
%/Metadata \theStructTree\space 0 R%
|
||
|
}%
|
||
|
\ifthenelse{\boolean{ACCESSProblems}}{%
|
||
|
\PackageWarningNoLine{accessibilityMeta}{%
|
||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\MessageBreak
|
||
|
@@ There were non-defined Figure Alt-Tags! @@\MessageBreak
|
||
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}%
|
||
|
}{}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\newcount\linenopenalty\linenopenalty=-100000%
|
||
|
\mathchardef\linenopenaltypar=32000%
|
||
|
%
|
||
|
%%%%%%%%%%%%%Ver?ndern der Outputroutine%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\@tempa\output%
|
||
|
\newtoks\output%
|
||
|
\let\@AC@output\output%
|
||
|
\output=\expandafter{\the\@tempa}%
|
||
|
%
|
||
|
\@tempa={%
|
||
|
% LineNoTest
|
||
|
\let\@@par\@@@par%
|
||
|
\ifnum\interlinepenalty<-\linenopenaltypar%
|
||
|
\advance\interlinepenalty-\linenopenalty%
|
||
|
\@AC@nobreaktrue%
|
||
|
\fi%
|
||
|
\@tempswatrue%
|
||
|
\ifnum\outputpenalty>-\linenopenaltypar\else%
|
||
|
\ifnum\outputpenalty>-188000\relax%
|
||
|
\@tempswafalse%
|
||
|
\fi%
|
||
|
\fi%
|
||
|
\if@tempswa%
|
||
|
% LineNoLaTeXOutput
|
||
|
\ifnum \holdinginserts=\thr@@ %
|
||
|
\global\holdinginserts-\thr@@ %
|
||
|
\unvbox\@cclv %
|
||
|
\ifnum \outputpenalty=\@M \else \penalty\outputpenalty \fi %
|
||
|
\else%
|
||
|
\if@twocolumn \let\@makecol\@AC@makecol \fi%
|
||
|
\the\@AC@output %
|
||
|
\ifnum \holdinginserts=-\thr@@ %
|
||
|
\global\holdinginserts\thr@@ \fi %
|
||
|
\fi%
|
||
|
\else %
|
||
|
%MakeLineNo
|
||
|
\boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
|
||
|
\@tempdima\dp\z@ \unvbox\z@%
|
||
|
\sbox\@tempboxa{\hb@xt@\z@{\makeLineNumber}}%
|
||
|
\stepcounter{linenumber}%
|
||
|
\stepcounter{abslinenumber}%
|
||
|
\ht\@tempboxa\z@ \@AC@depthbox %
|
||
|
\count@\lastpenalty %
|
||
|
\ifnum\outputpenalty=-\linenopenaltypar %
|
||
|
\ifnum\count@=\z@ \else %
|
||
|
\xdef\@AC@parpgbrk{%
|
||
|
\penalty\the\count@%
|
||
|
\global\let\noexpand\@AC@parpgbrk%
|
||
|
\noexpand\@AC@screenoff@pen}%
|
||
|
\fi%
|
||
|
\else%
|
||
|
\@tempcnta\outputpenalty%
|
||
|
\advance\@tempcnta -\linenopenalty%
|
||
|
\penalty \ifnum\count@<\@tempcnta \@tempcnta \else \count@ \fi %
|
||
|
\fi%
|
||
|
\fi%
|
||
|
}%
|
||
|
\def\@AC@nobreaktrue{\let\if@nobreak\iftrue} %
|
||
|
%
|
||
|
\def\@AC@depthbox{%
|
||
|
\dp\@tempboxa=\@tempdima%
|
||
|
\nointerlineskip \kern-\@tempdima \box\@tempboxa} %
|
||
|
%
|
||
|
\def\@AC@screenoff@pen{%
|
||
|
\ifdim\lastskip=\z@ %
|
||
|
\@tempdima\prevdepth \setbox\@tempboxa\null %
|
||
|
\@AC@depthbox \fi}%
|
||
|
%
|
||
|
\global\let\@AC@parpgbrk\@AC@screenoff@pen %
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%Initializieren der Variablen%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
%
|
||
|
%Zeilennummer
|
||
|
\newcounter{linenumber}%
|
||
|
\newcounter{abslinenumber}%
|
||
|
%Seitennummer
|
||
|
\newcount\c@AC@truepage %
|
||
|
\global\advance\c@AC@truepage\@ne %mit eins beginnen
|
||
|
%\g@addto@macro\cl@page{\global\c@AC@truepage\c@page}%
|
||
|
\g@addto@macro\cl@page{\global\advance\c@AC@truepage\@ne}%
|
||
|
\@addtoreset{AC@truepage}{@ckpt}%
|
||
|
%
|
||
|
\newcounter{mypage}%
|
||
|
\setcounter{mypage}{\@ne}%
|
||
|
\g@addto@macro\cl@page{\global\c@mypage\c@page}%
|
||
|
\@addtoreset{mypage}{@ckpt}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%Schreiben der Zeilennummmern%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\def\makeLineNumber{%
|
||
|
\protected@write\@auxout{}{\string\@AC{\the\c@linenumber}{\noexpand\the\c@AC@truepage}}%
|
||
|
\testNumberedPage%
|
||
|
%Schreibt die Zeilennummern
|
||
|
%\hss{\normalfont\tiny\sffamily\thelinenumber\quad}%
|
||
|
}%
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%%Absatz
|
||
|
\newif\ifLastLineStop \LastLineStopfalse%
|
||
|
\newcounter{LastPar}%
|
||
|
|
||
|
\newcommand{\EndPage}[1]{%
|
||
|
\ifMarkContentOpen%
|
||
|
\endPDFMarkContent%
|
||
|
\global\LastLineStoptrue%
|
||
|
\setcounter{LastPar}{\noexpand\theParCounter}%
|
||
|
\else%
|
||
|
\global\LastLineStopfalse%
|
||
|
\fi%
|
||
|
\if@twocolumn \else%
|
||
|
\stepcounter{mypage}%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
\newcommand{\BeginPage}{%
|
||
|
\ifLastLineStop%
|
||
|
\ifnum \theParCounter=\theLastPar%
|
||
|
\pdfliteral{/P <</MCID \theTaggedObj>> BDC}%
|
||
|
\global\MarkContentOpentrue%
|
||
|
\xdef\TextArray{\TextArray \space <</Type /MCR %
|
||
|
/Pg \pdfpageref\the\c@AC@truepage \space \space 0 R %
|
||
|
/MCID \theTaggedObj>>}%
|
||
|
\stepcounter{TaggedObj}%
|
||
|
\fi%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@startcolumn\@startcolumn%
|
||
|
\renewcommand{\@startcolumn}{%
|
||
|
\BeginPage%
|
||
|
\original@startcolumn%
|
||
|
}%
|
||
|
}{}%
|
||
|
|
||
|
%%%%%%%%%%%%%%Berichtigung der Seitennummer%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\def\LastNumberedPage{first}%
|
||
|
\def\AC@Pfirst{\nextAC\relax}%
|
||
|
%
|
||
|
\let\lastAC\relax % compare to last line on this page
|
||
|
\let\firstAC\relax % compare to first line on this page
|
||
|
\let\pageAC\relax % get the page number, compute the linenumber
|
||
|
\let\nextAC\relax % move to the next page
|
||
|
%
|
||
|
\AtEndDocument{\let\@AC\@gobbletwo} %
|
||
|
%
|
||
|
\def\@AC#1#2{{\expandafter\@@AC%
|
||
|
\csname AC@P#2C\@AC@column\expandafter\endcsname%
|
||
|
\csname AC@PO#2\endcsname%
|
||
|
{#1}{#2}}}%
|
||
|
%
|
||
|
\def\@@AC#1#2#3#4{\ifx#1\relax%
|
||
|
\ifx#2\relax\gdef#2{#3}\fi%
|
||
|
\expandafter\@@@AC\csname AC@P\LastNumberedPage\endcsname#1%
|
||
|
\xdef#1{\lastAC{#3}\firstAC{#3}%
|
||
|
\pageAC{#4}{\@AC@column}{#2}\nextAC\relax}%
|
||
|
\else%
|
||
|
\def\lastAC##1{\noexpand\lastAC{#3}}%
|
||
|
\xdef#1{#1}%
|
||
|
\fi%
|
||
|
\xdef\LastNumberedPage{#4C\@AC@column}%
|
||
|
}%
|
||
|
%
|
||
|
\def\@@@AC#1#2{{\def\nextAC##1{\noexpand\nextAC\noexpand#2}%
|
||
|
\xdef#1{#1}}}%
|
||
|
%
|
||
|
\def\NumberedPageCache{\AC@Pfirst}%
|
||
|
%
|
||
|
\def\testLastNumberedPage#1{%
|
||
|
\ifnum#1<\c@linenumber%
|
||
|
\let\firstAC\@gobble%
|
||
|
\fi%
|
||
|
\ifnum#1=\c@linenumber%
|
||
|
\EndPage{#1}%
|
||
|
\fi%
|
||
|
}%
|
||
|
%
|
||
|
\def\testFirstNumberedPage#1{%
|
||
|
\ifnum#1>\c@linenumber%
|
||
|
\def\nextAC##1{\testNextNumberedPage\AC@Pfirst}%
|
||
|
\else%
|
||
|
\let\nextAC\@gobble%
|
||
|
\def\pageAC{\gotNumberedPage{#1}}%
|
||
|
\fi%
|
||
|
}%
|
||
|
%
|
||
|
\long\def \@gobblethree #1#2#3{}%
|
||
|
%
|
||
|
\def\testNumberedPage{%
|
||
|
\let\lastAC\testLastNumberedPage%
|
||
|
\let\firstAC\testFirstNumberedPage%
|
||
|
\let\pageAC\@gobblethree%
|
||
|
\let\nextAC\testNextNumberedPage%
|
||
|
\NumberedPageCache%
|
||
|
}%
|
||
|
%
|
||
|
\def\testNextNumberedPage#1{%
|
||
|
\ifx#1\relax%
|
||
|
\global\def\NumberedPageCache{\gotNumberedPage0000}%
|
||
|
\PackageWarning{accessibilityMeta}{Changed paragraphs, rerun to get it right}%
|
||
|
\else%
|
||
|
\global\let\NumberedPageCache#1%
|
||
|
\fi%
|
||
|
\testNumberedPage%
|
||
|
}%
|
||
|
%
|
||
|
\def\gotNumberedPage#1#2#3#4{%
|
||
|
\ifodd \if@twocolumn #3\else #2\fi\relax\fi%
|
||
|
\advance\c@linenumber\@ne % Nummerierung ab 1 sonst ab 0
|
||
|
\advance\c@linenumber-#4\relax%
|
||
|
}%
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%%Spaltenerkennung%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\def\@AC@col{\def\@AC@column} %
|
||
|
\@AC@col{1}%
|
||
|
%
|
||
|
\AtBeginDocument{\let\@AC@orig@makecol\@makecol} %
|
||
|
%
|
||
|
\def\@AC@makecol{%
|
||
|
\@AC@orig@makecol
|
||
|
\setbox\@outputbox \vbox{%
|
||
|
\boxmaxdepth \@maxdepth%
|
||
|
\protected@write\@auxout{}{%
|
||
|
\string\@AC@col{\if@firstcolumn1\else2\fi}%
|
||
|
}%
|
||
|
\box\@outputbox %
|
||
|
}}%
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%%Absatzerkennung%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\@@@par\@@par%
|
||
|
\newcount\linenoprevgraf%
|
||
|
%
|
||
|
\def\linenumberpar{%
|
||
|
\ifvmode \@@@par \else %
|
||
|
\ifinner \@@@par \else%
|
||
|
\xdef\@AC@outer@holdins{\the\holdinginserts}%
|
||
|
\advance \interlinepenalty \linenopenalty%
|
||
|
\linenoprevgraf \prevgraf%
|
||
|
\global \holdinginserts \thr@@ %
|
||
|
\@@@par%
|
||
|
\ifnum\prevgraf>\linenoprevgraf%
|
||
|
\penalty-\linenopenaltypar%
|
||
|
\fi%
|
||
|
\@AC@parpgbrk %
|
||
|
\global\holdinginserts\@AC@outer@holdins%
|
||
|
\advance\interlinepenalty -\linenopenalty%
|
||
|
\fi%
|
||
|
\fi}%
|
||
|
%
|
||
|
\AtEndOfPackage{%
|
||
|
\xdef\@AC@outer@holdins{\the\holdinginserts}%
|
||
|
\let\@@par\linenumberpar%
|
||
|
\ifx\@par\@@@par\let\@par\linenumberpar\fi%
|
||
|
\ifx\par\@@@par\let\par\linenumberpar\fi%
|
||
|
}%
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%%Formelbehandlung%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\def\linenomath{%
|
||
|
\ifnum\interlinepenalty>-\linenopenaltypar
|
||
|
\global\holdinginserts\thr@@
|
||
|
\advance\interlinepenalty \linenopenalty
|
||
|
\ifhmode %
|
||
|
\advance\predisplaypenalty \linenopenalty
|
||
|
\fi
|
||
|
\advance\postdisplaypenalty \linenopenalty
|
||
|
\advance\interdisplaylinepenalty \linenopenalty
|
||
|
\fi
|
||
|
\ignorespaces
|
||
|
}%
|
||
|
|
||
|
\def\endlinenomath{%
|
||
|
\global\holdinginserts\@AC@outer@holdins %
|
||
|
\global\@ignoretrue
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifundefined{mathindent}{%
|
||
|
\let\AC@displaymath\[%
|
||
|
\let\AC@enddisplaymath\]%
|
||
|
\renewcommand\[{\begin{linenomath}\AC@displaymath}%
|
||
|
\renewcommand\]{\AC@enddisplaymath\end{linenomath}}%
|
||
|
%
|
||
|
\let\AC@equation\equation%
|
||
|
\let\AC@endequation\endequation%
|
||
|
\renewenvironment{equation}%
|
||
|
{\linenomath\AC@equation}%
|
||
|
{\AC@endequation\endlinenomath}%
|
||
|
}{}%
|
||
|
%
|
||
|
\let\AC@eqnarray\eqnarray%
|
||
|
\let\AC@endeqnarray\endeqnarray%
|
||
|
\renewenvironment{eqnarray}%
|
||
|
{\linenomath\AC@eqnarray}%
|
||
|
{\AC@endeqnarray\endlinenomath}%
|
||
|
%
|
||
|
\advance\maxdeadcycles 100%
|
||
|
}{}%
|
||
|
%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalnewpage\newpage%
|
||
|
\renewcommand{\newpage}{%
|
||
|
\endPDFMarkContent%
|
||
|
\originalnewpage%
|
||
|
}%
|
||
|
}{}%
|
||
|
|
||
|
\newenvironment{PDFSect}[2]{%
|
||
|
\ifPDFDetailedStructure%
|
||
|
\closeUntilPDFStruct{#1}%
|
||
|
\PDFStructObj{#1}{#2}%
|
||
|
\fi%
|
||
|
\PDFSpezialTextObj{H}%
|
||
|
\EveryparConfig{H}{false}%
|
||
|
}%
|
||
|
{%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifundefined{chapter}{% es gibt keine Chapter z.B. in Article-Klassen
|
||
|
}{%
|
||
|
\let\originalchapter\chapter%
|
||
|
\renewcommand{\chapter}{%Sortiert die verschiedenen Aufrufe
|
||
|
\@ifstar{\originalchapterWithStar}%\chapter*{Beispielkapitel}
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalchapterWithTwoOption}%\chapter[BspKap]{Beispielkapitel}
|
||
|
{\originalchapterWithOption}%\chapter{Beispielkapitel}
|
||
|
}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalchapterWithStar}[1]{%
|
||
|
\PDFSect{Chapter}{#1}\originalchapter*{#1}\endPDFSect}%
|
||
|
\newcommand{\originalchapterWithTwoOption}[2]{%
|
||
|
\PDFSect{Chapter}{#1}\originalchapter[#1]{#2}\endPDFSect}%
|
||
|
\newcommand{\originalchapterWithOption}[1]{%
|
||
|
\PDFSect{Chapter}{#1}\originalchapter{#1}\endPDFSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifundefined{addchap}{% es gibt keine Chapter z.B. in Article-Klassen
|
||
|
}{%
|
||
|
\let\originaladdchap\addchap%
|
||
|
\renewcommand{\addchap}{%
|
||
|
\@ifstar{\originaladdchapWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originaladdchapWithTwoOption}%
|
||
|
{\originaladdchapWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originaladdchapWithStar}[1]{%
|
||
|
\PDFSect{Chapter}{#1} \originaladdchap*{#1} \endPDFSect}%
|
||
|
\newcommand{\originaladdchapWithTwoOption}[2]{%
|
||
|
\PDFSect{Chapter}{#1} \originaladdchap[#1]{#2} \endPDFSect}%
|
||
|
\newcommand{\originaladdchapWithOption}[1]{%
|
||
|
\PDFSect{Chapter}{#1} \originaladdchap{#1} \endPDFSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifundefined{set@preamble}{% es gibt keine set@preamble au?erhalb des KOMA-Scripts
|
||
|
}{%
|
||
|
\let\originaluse@preamble\use@preamble%
|
||
|
\renewcommand{\use@preamble}[1]{%
|
||
|
\EveryparConfig{P}{true}%
|
||
|
\originaluse@preamble{#1}%
|
||
|
\EveryparConfig{H}{false}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalsection\section%
|
||
|
\renewcommand{\section}{%
|
||
|
\@ifstar{\originalsectionWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalsectionWithTwoOption}%
|
||
|
{\originalsectionWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalsectionWithStar}[1]%
|
||
|
{\PDFSect{Section}{#1} \originalsection*{#1} \endPDFSect}%
|
||
|
\newcommand{\originalsectionWithTwoOption}[2]%
|
||
|
{\PDFSect{Section}{#1} \originalsection[#1]{#2} \endPDFSect}%
|
||
|
\newcommand{\originalsectionWithOption}[1]%
|
||
|
{\PDFSect{Section}{#1} \originalsection{#1} \endPDFSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalsubsection\subsection%
|
||
|
\renewcommand{\subsection}{%
|
||
|
\@ifstar{\originalsubsectionWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalsubsectionWithTwoOption}%
|
||
|
{\originalsubsectionWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalsubsectionWithStar}[1]%
|
||
|
{\PDFSect{Subsection}{#1} \originalsubsection*{#1} \endPDFSect}%
|
||
|
\newcommand{\originalsubsectionWithTwoOption}[2]%
|
||
|
{\PDFSect{Subsection}{#1} \originalsubsection[#1]{#2} \endPDFSect}%
|
||
|
\newcommand{\originalsubsectionWithOption}[1]%
|
||
|
{\PDFSect{Subsection}{#1} \originalsubsection{#1} \endPDFSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalsubsubsection\subsubsection%
|
||
|
\renewcommand{\subsubsection}{%
|
||
|
\@ifstar{\originalsubsubsectionWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalsubsubsectionWithTwoOption}%
|
||
|
{\originalsubsubsectionWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalsubsubsectionWithStar}[1]%
|
||
|
{\PDFSect{Subsubsection}{#1} \originalsubsubsection*{#1} \endPDFSect}%
|
||
|
\newcommand{\originalsubsubsectionWithTwoOption}[2]%
|
||
|
{\PDFSect{Subsubsection}{#1} \originalsubsubsection[#1]{#2} \endPDFSect}%
|
||
|
\newcommand{\originalsubsubsectionWithOption}[1]%
|
||
|
{\PDFSect{Subsubsection}{#1} \originalsubsubsection{#1} \endPDFSect}%
|
||
|
|
||
|
\newenvironment{PDFParSect}[2]{%
|
||
|
%\ifPDFDetailedStructure%
|
||
|
% \closeUntilPDFStruct{#1}%
|
||
|
% \PDFStructObj{#1}{#2}%
|
||
|
%\fi%
|
||
|
\PDFTextObj%
|
||
|
\EveryparConfig{P}{false}%
|
||
|
\PDFMarkContent%
|
||
|
}%
|
||
|
{%
|
||
|
%\endPDFMarkContent% erst durch everypar
|
||
|
%\endPDFTextObj%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalparagraph\paragraph%
|
||
|
\renewcommand{\paragraph}{%
|
||
|
\@ifstar{\originalparagraphWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalparagraphWithTwoOption}%
|
||
|
{\originalparagraphWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalparagraphWithStar}[1]%
|
||
|
{\PDFParSect{Paragraph}{#1} \originalparagraph*{#1} \endPDFParSect}%
|
||
|
\newcommand{\originalparagraphWithTwoOption}[2]%
|
||
|
{\PDFParSect{Paragraph}{#1} \originalparagraph[#1]{#2} \endPDFParSect}%
|
||
|
\newcommand{\originalparagraphWithOption}[1]%
|
||
|
{\PDFParSect{Paragraph}{#1} \originalparagraph{#1} \endPDFParSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalsubparagraph\subparagraph%
|
||
|
\renewcommand{\subparagraph}{%
|
||
|
\@ifstar{\originalsubparagraphWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalsubparagraphWithTwoOption}%
|
||
|
{\originalsubparagraphWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalsubparagraphWithStar}[1]%
|
||
|
{\PDFParSect{Subparagraph}{#1} \originalsubparagraph*{#1} \endPDFParSect}%
|
||
|
\newcommand{\originalsubparagraphWithTwoOption}[2]%
|
||
|
{\PDFParSect{Subparagraph}{#1} \originalsubparagraph[#1]{#2} \endPDFParSect}%
|
||
|
\newcommand{\originalsubparagraphWithOption}[1]%
|
||
|
{\PDFParSect{Subparagraph}{#1} \originalsubparagraph{#1} \endPDFParSect}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifundefined{minisec}{}{%
|
||
|
\let\originalminisec\minisec%
|
||
|
\renewcommand{\minisec}{%
|
||
|
\@ifstar{\originalminisecWithStar}%
|
||
|
{\@ifnextchar[%]
|
||
|
{\originalminisecWithTwoOption}%
|
||
|
{\originalminisecWithOption}%
|
||
|
}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\originalminisecWithStar}[1]%
|
||
|
{\PDFSpezialTextObj{H}\EveryparConfig{H}{false}%
|
||
|
\originalminisec*{#1} \endPDFSpezialTextObj}%
|
||
|
\newcommand{\originalminisecWithTwoOption}[2]%
|
||
|
{\PDFSpezialTextObj{H}\EveryparConfig{H}{false}%
|
||
|
\originalminisec[#1]{#2} \endPDFSpezialTextObj}%
|
||
|
\newcommand{\originalminisecWithOption}[1]%
|
||
|
{\PDFSpezialTextObj{H}\EveryparConfig{H}{false}%
|
||
|
\originalminisec{#1} \endPDFSpezialTextObj}%
|
||
|
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalquote\quote%
|
||
|
\let\originalendquote\endquote%
|
||
|
\renewenvironment*{quote}%
|
||
|
{\PDFSpezialTextObj{Quote}\EveryparConfig{Quote}{false}\originalquote}%
|
||
|
{\endPDFMarkContent\originalendquote\endPDFSpezialTextObj}%
|
||
|
%
|
||
|
\let\originalquotation\quotation%
|
||
|
\let\originalendquotation\endquotation%
|
||
|
\renewenvironment*{quotation}%
|
||
|
{\PDFSpezialTextObj{Quote}\EveryparConfig{Quote}{false}\originalquotation}%
|
||
|
{\endPDFMarkContent\originalendquotation\endPDFSpezialTextObj}%
|
||
|
%
|
||
|
\let\originalverse\verse%
|
||
|
\let\originalendverse\endverse%
|
||
|
\renewenvironment*{verse}%
|
||
|
{\PDFSpezialTextObj{Quote}\EveryparConfig{Quote}{false}\originalverse}%
|
||
|
{\endPDFMarkContent\originalendverse\endPDFSpezialTextObj}%
|
||
|
}{}
|
||
|
|
||
|
%%begin{verbatim}
|
||
|
%%end{verbatim}
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalverbatim\@verbatim%
|
||
|
\renewcommand{\@verbatim}{%
|
||
|
%\PDFStructObj{Div}{\empty}%
|
||
|
\PDFSpezialTextObj{Code}%
|
||
|
\originalverbatim%
|
||
|
}%
|
||
|
\let\originalendverbatim\endverbatim%
|
||
|
\renewcommand{\endverbatim}{%
|
||
|
\endPDFMarkContent%
|
||
|
\originalendverbatim%
|
||
|
\endPDFSpezialTextObj%
|
||
|
%\endPDFStructObj%
|
||
|
}%
|
||
|
\expandafter\let\csname endverbatim*\endcsname =\endverbatim%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{listings}{%
|
||
|
\let\originallstinputlisting\lstinputlisting%
|
||
|
\renewcommand{\lstinputlisting}[2][]{%
|
||
|
\PDFSpezialTextObj{Code}%
|
||
|
\PackageWarning{accessibilityMeta}{Codeinput}%
|
||
|
\originallstinputlisting[#1]{#2}%
|
||
|
\PackageWarning{accessibilityMeta}{codeinput}%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}%
|
||
|
%lst@EndProcessListing
|
||
|
\let\originallstenv@Process\lstenv@Process%
|
||
|
\renewcommand{\lstenv@Process}{%
|
||
|
\PDFSpezialTextObj{Code}%
|
||
|
\PackageWarning{accessibilityMeta}{begin code}%
|
||
|
\originallstenv@Process%
|
||
|
}%
|
||
|
\let\originallstenv@End\lstenv@End%
|
||
|
\renewcommand{\lstenv@End}{%
|
||
|
\originallstenv@End%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
\PackageWarning{accessibilityMeta}{end code}%
|
||
|
}%
|
||
|
%lstinline!var i:integer;!
|
||
|
}{}%
|
||
|
}{}
|
||
|
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{thmbox}{%
|
||
|
\PackageWarning{accessibilityMeta}%
|
||
|
{The thmbox-package isn't yet supported.}%
|
||
|
}{}%
|
||
|
\@ifpackageloaded{theorem}{%
|
||
|
\newcommand{\@myendtheorem}{%
|
||
|
\@endtheorem%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}%TODO ungetestet
|
||
|
\let\original@thm\@thm%
|
||
|
\gdef\@thm#1#2{%
|
||
|
\PDFSpezialTextObj{Div}%
|
||
|
\EveryparConfig{H}{true}%
|
||
|
\PDFMarkContent%
|
||
|
\global \expandafter \let \csname end#1\endcsname \@myendtheorem%
|
||
|
\original@thm{#1}{#2}%
|
||
|
}%
|
||
|
}{%without theorem-package
|
||
|
\let\original@begintheorem\@begintheorem%
|
||
|
\renewcommand{\@begintheorem}{%
|
||
|
\PDFSpezialTextObj{Div}%
|
||
|
\EveryparConfig{H}{true}%
|
||
|
\PDFMarkContent%
|
||
|
\EveryparConfig{P}{true}%
|
||
|
\original@begintheorem%
|
||
|
}%
|
||
|
\let\original@opargbegintheorem\@opargbegintheorem%
|
||
|
\renewcommand{\@opargbegintheorem}{%
|
||
|
\PDFSpezialTextObj{Div}%
|
||
|
\EveryparConfig{H}{true}%
|
||
|
\PDFMarkContent%
|
||
|
\EveryparConfig{P}{true}%
|
||
|
\original@opargbegintheorem%
|
||
|
}%
|
||
|
\let\original@endtheorem\@endtheorem%
|
||
|
\renewcommand{\@endtheorem}{%
|
||
|
\original@endtheorem%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newif\ifItemActive \ItemActivefalse%
|
||
|
\newcounter{ListDepth}%
|
||
|
|
||
|
\newenvironment{PDFList}{%
|
||
|
\ifItemActive \closeItem\fi%
|
||
|
%Liste beginnen
|
||
|
\addtocounter{ListDepth}{1}%
|
||
|
%\PDFStructObj{L}{\empty}% Sonst Fehler bei Zugriffspr?fung AA
|
||
|
\PDFStructObj{L\arabic{ListDepth}}{\empty}%
|
||
|
%\PDFStructObj{L\romannumeral\theListDepth}{\empty}%
|
||
|
}{%
|
||
|
\ifItemActive \closeItem\fi%
|
||
|
%Liste beenden
|
||
|
\endPDFStructObj%
|
||
|
\addtocounter{ListDepth}{-1}%
|
||
|
}
|
||
|
|
||
|
\newenvironment{PDFListLabel}{%
|
||
|
\ifItemActive \closeItem\fi%
|
||
|
\PDFStructObj{LI}{\empty}%
|
||
|
\global\ItemActivetrue%
|
||
|
\PDFSpezialTextObj{Lbl}%
|
||
|
\EveryparConfig{Lbl}{false}%
|
||
|
\PDFMarkContent%
|
||
|
}{%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
\PDFSpezialTextObj{LBody}%
|
||
|
\EveryparConfig{LBody}{false}%
|
||
|
%\PDFMarkContent{LBody}% wird ?ber everypar erledigt
|
||
|
}%
|
||
|
|
||
|
\newcommand{\closeItem}{% Altes Item abschlie?en
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{LBody}
|
||
|
\endPDFStructObj%
|
||
|
\global\ItemActivefalse%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalitemize\itemize%
|
||
|
\let\originalenditemize\enditemize%
|
||
|
\renewenvironment{itemize}%
|
||
|
{\begin{PDFList}\originalitemize}%
|
||
|
{%\ifItemActive \closeItem\fi%
|
||
|
\originalenditemize\end{PDFList}}%
|
||
|
%
|
||
|
\let\originallabelitemi\labelitemi%
|
||
|
\renewcommand{\labelitemi}{%
|
||
|
\begin{PDFListLabel} \originallabelitemi \end{PDFListLabel}}%
|
||
|
\let\originallabelitemii\labelitemii%
|
||
|
\renewcommand{\labelitemii}{%
|
||
|
\begin{PDFListLabel} \originallabelitemii \end{PDFListLabel}}%
|
||
|
\let\originallabelitemiii\labelitemiii%
|
||
|
\renewcommand{\labelitemiii}{%
|
||
|
\begin{PDFListLabel} \originallabelitemiii \end{PDFListLabel}}%
|
||
|
\let\originallabelitemiv\labelitemiv%
|
||
|
\renewcommand{\labelitemiv}{%
|
||
|
\begin{PDFListLabel} \originallabelitemiv \end{PDFListLabel}}%
|
||
|
%
|
||
|
\let\originalenumerate\enumerate%
|
||
|
\let\originalendenumerate\endenumerate%
|
||
|
\renewenvironment{enumerate}%
|
||
|
{\begin{PDFList}\originalenumerate}%
|
||
|
{%\ifItemActive \closeItem\fi%
|
||
|
\originalendenumerate\end{PDFList}}%
|
||
|
%
|
||
|
\let\originallabelenumi\labelenumi%
|
||
|
\renewcommand{\labelenumi}{%
|
||
|
\begin{PDFListLabel} \originallabelenumi \end{PDFListLabel}}%
|
||
|
\let\originallabelenumii\labelenumii%
|
||
|
\renewcommand{\labelenumii}{%
|
||
|
\begin{PDFListLabel} \originallabelenumii \end{PDFListLabel}}%
|
||
|
\let\originallabelenumiii\labelenumiii%
|
||
|
\renewcommand{\labelenumiii}{%
|
||
|
\begin{PDFListLabel} \originallabelenumiii \end{PDFListLabel}}%
|
||
|
\let\originallabelenumiv\labelenumiv%
|
||
|
\renewcommand{\labelenumiv}{%
|
||
|
\begin{PDFListLabel} \originallabelenumiv \end{PDFListLabel}}%
|
||
|
%
|
||
|
\let\originaldescription\description%
|
||
|
\let\originalenddescription\enddescription%
|
||
|
\renewenvironment{description}%
|
||
|
{\begin{PDFList}\originaldescription}%
|
||
|
{%\ifItemActive \closeItem\fi%
|
||
|
\originalenddescription\end{PDFList}}%
|
||
|
%
|
||
|
\let\originaldescriptionlabel\descriptionlabel% aus scrrept
|
||
|
\renewcommand{\descriptionlabel}[1]{%
|
||
|
\begin{PDFListLabel} \originaldescriptionlabel{#1} \end{PDFListLabel}}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalFormulaBegin\[%
|
||
|
\renewcommand*{\[}{%
|
||
|
\PDFSpezialTextObj{Formula}
|
||
|
\EveryparConfig{Formula}{false}%%
|
||
|
\originalFormulaBegin%
|
||
|
}%
|
||
|
\let\originalFormulaEnd\]%
|
||
|
\renewcommand*{\]}{%
|
||
|
\endPDFMarkContent
|
||
|
\originalFormulaEnd%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}%
|
||
|
\let\originalequation\equation%
|
||
|
\let\originalendequation\endequation%
|
||
|
\renewenvironment{equation}%
|
||
|
{\PDFSpezialTextObj{Formula}\EveryparConfig{Formula}{false}\originalequation}%
|
||
|
{\endPDFMarkContent\originalendequation\endPDFSpezialTextObj}%
|
||
|
%
|
||
|
\let\originaleqnarray\eqnarray%
|
||
|
\let\originalendeqnarray\endeqnarray%
|
||
|
\renewenvironment{eqnarray}%
|
||
|
{%\def&{\originalamp}% --> das bringt den Fehler inaccessibile
|
||
|
\PackageWarning{accessibilty}{Die eqnarray-Umgebung sollte nicht mehr %
|
||
|
verwendet werden, sie gilt als veraltet. (vgl. Autorenanleitung).}%
|
||
|
\PDFSpezialTextObj{Formula}\EveryparConfig{Formula}{false}\originaleqnarray}%
|
||
|
{\endPDFMarkContent\originalendeqnarray\endPDFSpezialTextObj}%
|
||
|
}{}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@float\@float%
|
||
|
\let\originalend@float\end@float%
|
||
|
\renewenvironment*{@float}[1]{%
|
||
|
\PDFStructObj{Float}{\csname #1name\endcsname}%
|
||
|
%\global\numberingparsfalse%
|
||
|
\original@float{#1}%
|
||
|
}{%
|
||
|
\originalend@float%
|
||
|
\endPDFMarkContent%
|
||
|
%\global\numberingparstrue%
|
||
|
\endPDFStructObj%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@@makecaption\@makecaption%
|
||
|
% \renewcommand{\@makecaption}[3]{% Wieso Definition mit drei Argumenten???? nur zwei geht mit listings
|
||
|
\renewcommand{\@makecaption}[2]{%
|
||
|
\global\numberingparsfalse%
|
||
|
\PDFSpezialTextObj{Caption}%
|
||
|
\EveryparConfig{Caption}{false}%
|
||
|
\PDFMarkContent%
|
||
|
\PackageWarning{accessibilityMeta}{begin makecaption}%
|
||
|
% \original@@makecaption{#1}{#2}{#3}%
|
||
|
\original@@makecaption{#1}{#2}%{#3}%
|
||
|
\PackageWarning{accessibilityMeta}{end makecaption}%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{Caption}%
|
||
|
\global\numberingparstrue%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newif\ifTableHeadCell \global\TableHeadCellfalse%
|
||
|
\newif\ifTableLineActive \global\TableLineActivefalse%
|
||
|
\newif\ifTableCellActive \global\TableCellActivefalse%
|
||
|
\newif\ifAfterKill \global\AfterKillfalse%
|
||
|
|
||
|
\newenvironment{PDFTable}{%
|
||
|
\global\numberingparsfalse%
|
||
|
\PDFStructObj{Table}{\empty}%
|
||
|
\PDFStructObj{TBody}{\empty}%
|
||
|
\global\TableLineActivefalse%
|
||
|
\global\TableCellActivefalse%
|
||
|
}{%
|
||
|
\ifTableLineActive\endPDFTableLine\fi%
|
||
|
\endPDFStructObj%{TBody}{\empty}%
|
||
|
\endPDFStructObj%{Table}{\empty}%
|
||
|
\global\numberingparstrue%
|
||
|
}%
|
||
|
|
||
|
\newenvironment{PDFTableLine}{%
|
||
|
\ifTableCellActive\endPDFTableCell\fi%
|
||
|
\ifTableLineActive\endPDFTableLine\fi%
|
||
|
\global\TableLineActivetrue%
|
||
|
\PDFStructObj{TR}{\empty}%
|
||
|
}{%
|
||
|
\ifTableLineActive%
|
||
|
\endPDFStructObj%
|
||
|
\global\TableLineActivefalse%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
\newenvironment{PDFTableCell}{%
|
||
|
\ifTableCellActive\endPDFTableCell\fi%
|
||
|
\global\TableCellActivetrue%
|
||
|
\PDFSpezialTextObj{TD}%
|
||
|
\EveryparConfig{TD}{false}%
|
||
|
\PDFMarkContent%
|
||
|
}{%
|
||
|
\ifTableCellActive%
|
||
|
\endPDFMarkContent%
|
||
|
\ifTableHeadCell%
|
||
|
\xdef\TextType{TH}%
|
||
|
\global\TableHeadCellfalse%
|
||
|
\fi%
|
||
|
\endPDFSpezialTextObj%{TD}%
|
||
|
\global\TableCellActivefalse%
|
||
|
\fi%
|
||
|
}%
|
||
|
|
||
|
\def\originalamp{&}%
|
||
|
\catcode`\&=\active%
|
||
|
\def&{\originalamp}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originaltabular\tabular%
|
||
|
\let\originalendtabular\endtabular%
|
||
|
\renewenvironment*{tabular}{%
|
||
|
\def&{\endPDFTableCell\originalamp\PDFTableCell}%
|
||
|
\PDFTable%
|
||
|
\PDFTableLine%
|
||
|
\PDFTableCell%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\originaltabular%
|
||
|
}{%
|
||
|
%\pdfliteral{EMC}%
|
||
|
\originalendtabular%
|
||
|
\def&{\originalamp}%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\ifTableCellActive\endPDFTableCell\fi%
|
||
|
\ifTableLineActive\endPDFTableLine\fi%
|
||
|
\endPDFTable%
|
||
|
}%
|
||
|
\@ifpackageloaded{array}{%
|
||
|
\let\originalaryend\@arraycr%
|
||
|
\renewcommand*{\@arraycr}{\endPDFTableCell%
|
||
|
\endPDFTableLine\PDFTableLine\PDFTableCell\originalaryend}%
|
||
|
}{% wenn kein anderes Tabellen-Package
|
||
|
\let\originaltabend\@tabularcr%
|
||
|
\renewcommand*{\@tabularcr}{\endPDFTableCell%
|
||
|
\endPDFTableLine\PDFTableLine\PDFTableCell\originaltabend}%
|
||
|
}%
|
||
|
% \@ifpackageloaded{tabularx}{%
|
||
|
% \PackageWarning{accessibity}%
|
||
|
% {The tabularx-package isn't yet fully supported.%
|
||
|
% You can use the tabular-environemt but not the tabularx.}
|
||
|
% }{}%
|
||
|
% \@ifpackageloaded{longtable}{%
|
||
|
% \PackageWarning{accessibity}%
|
||
|
% {The longtable-package isn't yet supported.}
|
||
|
% %\tabularnewline \endhead\endfirsthead\endfoot\endlastfoor
|
||
|
% }{}%
|
||
|
}{}%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originaltabbing\tabbing%
|
||
|
\let\originalendtabbing\endtabbing%
|
||
|
\renewenvironment*{tabbing}{%
|
||
|
\PDFTable%
|
||
|
\let\originalkill\kill%
|
||
|
\renewcommand{\kill}{\global\AfterKilltrue%
|
||
|
\originalkill%%
|
||
|
}%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\originaltabbing%
|
||
|
}{%
|
||
|
\originalendtabbing%
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
\endPDFTable%
|
||
|
}%
|
||
|
\let\original@startfield\@startfield%
|
||
|
\renewcommand{\@startfield}{%
|
||
|
\original@startfield \ifAfterKill\PDFTableCell\fi%
|
||
|
}%
|
||
|
\let\original@stopfield\@stopfield%
|
||
|
\renewcommand{\@stopfield}{%
|
||
|
\ifAfterKill\endPDFTableCell\fi \original@stopfield%
|
||
|
}%
|
||
|
\let\original@startline\@startline%
|
||
|
\renewcommand{\@startline}{%
|
||
|
\ifAfterKill\PDFTableLine\fi \original@startline%
|
||
|
}%
|
||
|
\let\original@stopline\@stopline%
|
||
|
\renewcommand{\@stopline}{%
|
||
|
\original@stopline \ifAfterKill\endPDFTableLine\fi%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalemph\emph%
|
||
|
\renewcommand{\emph}[1]{%
|
||
|
\begin{PDFInlineObjInText}{Span}%
|
||
|
\originalemph{#1}%
|
||
|
\end{PDFInlineObjInText}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{hyperref}{%
|
||
|
\let\original@setref\@setref%
|
||
|
\renewcommand{\@setref}[3]{%
|
||
|
\begin{PDFInlineObjInText}{Reference}%
|
||
|
\original@setref{#1}{#2}{#3}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
%Linkziele%
|
||
|
%\let\originalhyper@anchorstart\hyper@anchorstart%
|
||
|
%\renewcommand{\hyper@anchorstart}{\pdfliteral{/Span <</E (anchorstart)>> BDC EMC}\originalhyper@anchorstart}%
|
||
|
%\let\originalhyper@anchorend\hyper@anchorend%
|
||
|
%\renewcommand{\hyper@anchorend}{\originalhyper@anchorend\pdfliteral{/Span <</E (anchorend)>> BDC EMC}}%
|
||
|
% Eintr?ge im TOC, LOF, LOT
|
||
|
%\let\originalhyper@linkstart\hyper@linkstart%
|
||
|
%\renewcommand{\hyper@linkstart}{%
|
||
|
% \begin{PDFInlineObjInText}{Reference}%
|
||
|
% \originalhyper@linkstart}%
|
||
|
%\let\originalhyper@linkend\hyper@linkend%
|
||
|
%\renewcommand{\hyper@linkend}{%
|
||
|
% \originalhyper@linkend%
|
||
|
% \end{PDFInlineObjInText}}%
|
||
|
%\useacronym --> Kurzform, Glossarseitezahlen, indexseitenzahlen, Glossareintr?ge, Hyperlink
|
||
|
\let\originalhyperlink\hyperlink%
|
||
|
\renewcommand*{\hyperlink}[2]{%
|
||
|
\ifIndexItemActive\else\begin{PDFInlineObjInText}{Reference}\fi%
|
||
|
%Wenn Index -- folgender Aufruf
|
||
|
% hyperlink{page.\the\toks@}{\the\toks@}%
|
||
|
%Bringt Fehler
|
||
|
\originalhyperlink{#1}{#2}%\relax%
|
||
|
\ifIndexItemActive\else\end{PDFInlineObjInText}\fi%
|
||
|
}%
|
||
|
%href pdfobleme mit pdf 1.3 \@urlbordercolor nicht definiert
|
||
|
\let\originalhyper@linkurl\hyper@linkurl%
|
||
|
\renewcommand{\hyper@linkurl}[2]{%
|
||
|
\begin{PDFInlineObjInText}{Link}%
|
||
|
\originalhyper@linkurl{#1}{#2}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
%
|
||
|
\let\originalhyper@linkfile\hyper@linkfile%
|
||
|
\renewcommand{\hyper@linkfile}[3]{%
|
||
|
\begin{PDFInlineObjInText}{Link}%
|
||
|
\originalhyper@linkfile{#1}{#2}{#3}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
%Seitenzahlen in Index, anders da anschlie?end keine Texterkennung n?tig.
|
||
|
%eigentlich ?ber hyperlink m?glich
|
||
|
\let\originalhyperpage\hyperpage%
|
||
|
\renewcommand{\hyperpage}[1]{%
|
||
|
\EveryparConfig{Reference}{true}%
|
||
|
\PDFMarkContent% kein everypar
|
||
|
\originalhyperpage{#1}%
|
||
|
\endPDFMarkContent}%
|
||
|
% URL
|
||
|
\let\originalnolinkurl\nolinkurl%
|
||
|
\renewcommand{\nolinkurl}[1]{%
|
||
|
\begin{PDFInlineObjInText}{Link}%
|
||
|
\originalnolinkurl{#1}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
}{% ohne hyperref
|
||
|
\let\originalref\ref%
|
||
|
\renewcommand{\ref}[1]{%
|
||
|
\begin{PDFInlineObjInText}{Reference}%
|
||
|
\originalref{#1}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
%
|
||
|
\let\originalpageref\pageref%
|
||
|
\renewcommand{\pageref}[1]{%
|
||
|
\begin{PDFInlineObjInText}{Reference}%
|
||
|
\originalpageref{#1}%
|
||
|
\end{PDFInlineObjInText}}%
|
||
|
}%
|
||
|
}{}
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalcite\cite%
|
||
|
\renewcommand{\cite}[2][__empty__]{% #1 Name des Eintages
|
||
|
\begin{PDFInlineObjInText}{Reference}%
|
||
|
\ifthenelse{\equal{#1}{__empty__}}%
|
||
|
{\originalcite{#2}}%
|
||
|
{\originalcite[#1]{#2}}%
|
||
|
\end{PDFInlineObjInText}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalverb\verb%
|
||
|
\renewcommand{\verb}{%
|
||
|
\begin{PDFInlineObjInText}{Code}%
|
||
|
\originalverb%
|
||
|
}%
|
||
|
\let\originalverb@egroup\verb@egroup%
|
||
|
\renewcommand{\verb@egroup}{%
|
||
|
\originalverb@egroup%
|
||
|
\end{PDFInlineObjInText}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\let\originalFormulaTextBegin\(%
|
||
|
\renewcommand*{\(}{%
|
||
|
\PDFInlineObjInText{Formula}%
|
||
|
\originalFormulaTextBegin%
|
||
|
}%
|
||
|
\let\originalFormulaTextEnd\)%
|
||
|
\renewcommand*{\)}{%
|
||
|
\originalFormulaTextEnd%
|
||
|
\endPDFInlineObjInText%
|
||
|
}%
|
||
|
|
||
|
|
||
|
\newcounter{PDFFootnotemark}%
|
||
|
\newcounter{PDFFootnotetext}%
|
||
|
\newcounter{ObjNum}
|
||
|
|
||
|
\newenvironment{PDFFootnote}{%
|
||
|
\global\numberingparsfalse%
|
||
|
\pdfobj reserveobjnum%
|
||
|
\setcounter{PDFFootnotemark}{\pdflastobj}%
|
||
|
\pdfobj reserveobjnum%
|
||
|
\setcounter{PDFFootnotetext}{\pdflastobj}%
|
||
|
}{%
|
||
|
%\EveryparConfig{\lastEveryparType}{\HelpBool}%
|
||
|
\global\numberingparstrue%
|
||
|
\EveryparConfig{\lastEveryparType}{false}%
|
||
|
\PDFMarkContent%
|
||
|
}
|
||
|
|
||
|
\newenvironment{PDFFootnoteReference}{%
|
||
|
\xdef\HelpBool{\InlineObj}%
|
||
|
\EveryparConfig{Reference}{obj}%
|
||
|
\setcounter{ObjNum}{\theTaggedObj}%
|
||
|
\PDFMarkContent%
|
||
|
}{%
|
||
|
\endPDFMarkContent%
|
||
|
\writeComplexTextObj{\thePDFFootnotemark}%
|
||
|
{\theObjNum \space \thePDFFootnotetext \space 0 R}%
|
||
|
{/Reference}{\theTextObjNum}{Page}%
|
||
|
\xdef\TextArray{\TextArray \theObjHelp\space 0 R \space}%
|
||
|
}
|
||
|
|
||
|
\newenvironment{PDFFootnoteText}{%
|
||
|
\EveryparConfig{Note}{obj}%
|
||
|
\setcounter{ObjNum}{\theTaggedObj}%
|
||
|
\PDFMarkContent%
|
||
|
}{%
|
||
|
\endPDFMarkContent%
|
||
|
\writeComplexTextObj%
|
||
|
{\thePDFFootnotetext}{\theObjNum}%
|
||
|
{/Footnote}{\thePDFFootnotemark}{Page}%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@footnotemark\@footnotemark%
|
||
|
%Fu?notenreferenz im Text
|
||
|
\renewcommand{\@footnotemark}{%
|
||
|
\begin{PDFFootnoteReference}%
|
||
|
\original@footnotemark%
|
||
|
\end{PDFFootnoteReference}%
|
||
|
}%
|
||
|
\let\original@makefntext\@makefntext%
|
||
|
%Fu?notentext am Seitenende
|
||
|
\renewcommand{\@makefntext}[1]{%
|
||
|
\begin{PDFFootnoteText}%
|
||
|
\original@makefntext{#1}%
|
||
|
\end{PDFFootnoteText}%
|
||
|
}%
|
||
|
\let\originalfootnote\footnote%
|
||
|
\def\footnote{\@ifnextchar[{\@@xxfootnote}{\@@xfootnote}}%
|
||
|
\def\@@xxfootnote[#1]#2{%
|
||
|
\begin{PDFFootnote}%
|
||
|
\originalfootnote[#1]{#2}%
|
||
|
\end{PDFFootnote}%
|
||
|
}%
|
||
|
\def\@@xfootnote#1{%
|
||
|
\begin{PDFFootnote}%
|
||
|
\originalfootnote{#1}%
|
||
|
\end{PDFFootnote}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@starttoc\@starttoc%
|
||
|
\renewcommand{\@starttoc}[1]{%
|
||
|
\ifthenelse{\equal{#1}{toc}}{% Table of content
|
||
|
\PDFSpezialTextObj{TOC}\EveryparConfig{TOCI}{true}%
|
||
|
}{}%
|
||
|
\ifthenelse{\equal{#1}{lot}}{% List of Tables
|
||
|
\PDFSpezialTextObj{TOT}\EveryparConfig{TOTI}{true}%
|
||
|
}{}%
|
||
|
\ifthenelse{\equal{#1}{lof}}{% List of figures
|
||
|
\PDFSpezialTextObj{TOF}\EveryparConfig{TOFI}{true}%
|
||
|
}{}%
|
||
|
%\ifthenelse{\equal{#1}{brf}}{}}{}% Bibliography
|
||
|
\original@starttoc{#1}%
|
||
|
\ifthenelse{\equal{#1}{toc} \or \equal{#1}{lot} \or \equal{#1}{lof}}{%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
}{}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalcontentsline\contentsline
|
||
|
\@ifpackageloaded{hyperref}{%then: Mit hyperref
|
||
|
\renewcommand{\contentsline}[4]{%
|
||
|
\originalcontentsline{#1}{#2}{#3\protect\endPDFMarkContent}{#4}%
|
||
|
}%
|
||
|
}{%else: ohne Hyperref
|
||
|
\renewcommand{\contentsline}[3]{%
|
||
|
\originalcontentsline{#1}{#2}{#3\protect\endPDFMarkContent}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newif\ifBibItemActive \BibItemActivefalse%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalthebibliography\thebibliography%
|
||
|
\let\originalendthebibliography\endthebibliography%
|
||
|
\renewenvironment{thebibliography}{%
|
||
|
\originalthebibliography%
|
||
|
%\PDFStructObj{Bibliography}% geht hier nicht in bibitem realisiert
|
||
|
}{%
|
||
|
\originalendthebibliography%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{\LBody}
|
||
|
\endPDFStructObj%{\BibItem}
|
||
|
\global\BibItemActivefalse%
|
||
|
\endPDFStructObj%{Bibliography}
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalbibitem\bibitem%
|
||
|
\renewcommand{\bibitem}[2][__empty__]{% #1 [Label] #2 Eintrag
|
||
|
\ifBibItemActive% schon welche
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{\LBody}
|
||
|
\endPDFStructObj%{\BibItem}
|
||
|
\global\BibItemActivefalse%
|
||
|
\else% erstes Item
|
||
|
\PDFStructObj{Bibliography}{\empty}%
|
||
|
\fi%
|
||
|
\global\BibItemActivetrue%
|
||
|
\PDFStructObj{BibItem}{\empty}%
|
||
|
\PDFSpezialTextObj{Lbl}%
|
||
|
\EveryparConfig{Lbl}{false}%
|
||
|
\PDFMarkContent%
|
||
|
\ifthenelse{\equal{#1}{__empty__}}%
|
||
|
{\originalbibitem{#2}}%
|
||
|
{\originalbibitem[#1]{#2}}%
|
||
|
%\endPDFMarkContent% Zu fr?h, Text wird erst mit everypar gestetzt
|
||
|
\endPDFSpezialTextObj%
|
||
|
\PDFSpezialTextObj{LBody}%
|
||
|
\EveryparConfig{LBody}{false}%
|
||
|
%\PDFMarkContent{LBody}% wird ?ber everypar erledigt
|
||
|
}%
|
||
|
}{}
|
||
|
\newif\ifIndexItemActive \IndexItemActivefalse%
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originaltheindex\theindex%
|
||
|
\let\originalendtheindex\endtheindex%
|
||
|
\renewenvironment{theindex}{%
|
||
|
\expandafter\originaltheindex\relax%
|
||
|
}{%
|
||
|
\endPDFMarkContent%
|
||
|
\originalendtheindex%
|
||
|
\ifIndexItemActive%
|
||
|
\endPDFSpezialTextObj%
|
||
|
\global\IndexItemActivefalse%
|
||
|
\fi
|
||
|
\endPDFStructObj%{Index}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@idxitem\@idxitem%
|
||
|
\renewcommand*\@idxitem{%
|
||
|
\ifIndexItemActive% schon welche
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%
|
||
|
\global\IndexItemActivefalse%
|
||
|
\else% erstes Item
|
||
|
\PDFStructObj{Index}%
|
||
|
\fi%
|
||
|
\global\IndexItemActivetrue%
|
||
|
\PDFSpezialTextObj{IndexEntry}%
|
||
|
\EveryparConfig{IndexEntry}{false}%
|
||
|
\original@idxitem%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newenvironment*{PDFPageArtefakt}{%
|
||
|
\pdfliteral{/Artifact <</Type /Pagination>> BDC}%
|
||
|
}{%
|
||
|
\pdfliteral{EMC}%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\original@thehead\@thehead%
|
||
|
\renewcommand*{\@thehead}{%
|
||
|
\ifthenelse{\equal{\original@thehead}{\empty}}{}{%
|
||
|
\begin{PDFPageArtefakt}%
|
||
|
\original@thehead%
|
||
|
\end{PDFPageArtefakt}%
|
||
|
}%
|
||
|
}%
|
||
|
\let\original@thefoot\@thefoot%
|
||
|
\renewcommand*{\@thefoot}{%
|
||
|
\ifthenelse{\equal{\original@thefoot}{\empty}}{}{%
|
||
|
\begin{PDFPageArtefakt}%
|
||
|
\original@thefoot%
|
||
|
\end{PDFPageArtefakt}%
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
\newenvironment*{PDFLayoutArtefakt}{%
|
||
|
\numberingparsfalse%
|
||
|
\pdfliteral{/Artifact <</Type /Layout>> BDC}%
|
||
|
}{%
|
||
|
\pdfliteral{EMC}%
|
||
|
\numberingparstrue%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originaldotfill\dotfill%
|
||
|
\renewcommand*{\dotfill}{%
|
||
|
\begin{PDFLayoutArtefakt}%
|
||
|
\originaldotfill%
|
||
|
\end{PDFLayoutArtefakt}%
|
||
|
}%
|
||
|
\let\originalfootnoterule\footnoterule%
|
||
|
\renewcommand*\footnoterule{%
|
||
|
\let\hrule\originalhrule%
|
||
|
\begin{PDFLayoutArtefakt}%
|
||
|
\originalfootnoterule%
|
||
|
\end{PDFLayoutArtefakt}%
|
||
|
\let\originalhrule\hrule%
|
||
|
}%
|
||
|
%\vrule height1ex depth0pt width1ex
|
||
|
%\hrule height1ex depth0pt width1ex
|
||
|
%
|
||
|
%hrulefill, hline cline, toprule, midrule, bottomrule, cmidrule? greifen auf hrule zu
|
||
|
%Klappt nicht immer mit Argument?bergabe
|
||
|
\let\originalhrule\hrule%
|
||
|
\def\hrule#1#2{%
|
||
|
\ifthenelse{\equal{#2}{\z@}}{}{\begin{PDFLayoutArtefakt}}%
|
||
|
\originalhrule#1#2%
|
||
|
\ifthenelse{\equal{#2}{\z@}}{}{\end{PDFLayoutArtefakt}}%
|
||
|
}%
|
||
|
|
||
|
%vline (2), @arrayrule(2?) greift auf vrule zu
|
||
|
%Klappt nicht mit Argument?bergabe
|
||
|
%\let\originalvrule\vrule%
|
||
|
%\def\vrule#1#2{%
|
||
|
% \begin{PDFLayoutArtefakt}%
|
||
|
% \originalvrule#1#2%
|
||
|
% \end{PDFLayoutArtefakt}%
|
||
|
}{}
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\def\@dottedtocline#1#2#3#4#5{%
|
||
|
\ifnum #1>\c@tocdepth \else%
|
||
|
\vskip \z@ \@plus.2\p@%
|
||
|
{\leftskip #2\relax \rightskip \@tocrmarg %
|
||
|
\parfillskip -\rightskip%
|
||
|
\parindent #2\relax\@afterindenttrue%
|
||
|
\interlinepenalty\@M%
|
||
|
\leavevmode%
|
||
|
\@tempdima #3\relax%
|
||
|
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip%
|
||
|
{#4}\nobreak%
|
||
|
\begin{PDFLayoutArtefakt}%
|
||
|
\leaders\hbox{$\m@th \mkern %
|
||
|
\@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill%
|
||
|
\end{PDFLayoutArtefakt}%
|
||
|
\nobreak%
|
||
|
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
|
||
|
\par}%
|
||
|
\fi%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalmaketitle\maketitle%
|
||
|
\renewcommand{\maketitle}{%
|
||
|
\PDFStructObj{Div}{Titlepage}%
|
||
|
\EveryparConfig{P}{false}%
|
||
|
%
|
||
|
\originalmaketitle%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFStructObj%
|
||
|
}%
|
||
|
}{}%
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{graphicx}{%
|
||
|
\let\originalincludegraphics\includegraphics%
|
||
|
\renewcommand{\includegraphics}[2][__empty__]{%
|
||
|
\global\numberingparsfalse%
|
||
|
% \PDFInlineObjInText{Figure}%
|
||
|
\PDFSpezialTextObj{Figure}%
|
||
|
\EveryparConfig{Figure}{false}%
|
||
|
\PDFMarkContent%
|
||
|
\ifthenelse{\equal{#1}{__empty__}}%
|
||
|
{\originalincludegraphics{#2}}%
|
||
|
{\originalincludegraphics[#1]{#2}}%
|
||
|
% \endPDFInlineObjInText%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{Figure}%
|
||
|
\global\numberingparstrue%
|
||
|
}%
|
||
|
}{}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\let\originalpicture\picture%
|
||
|
\let\originalendpicture\endpicture%
|
||
|
\renewenvironment{picture}{%
|
||
|
\global\numberingparsfalse%
|
||
|
\PDFSpezialTextObj{Figure}%
|
||
|
\EveryparConfig{Figure}{false}%
|
||
|
\PDFMarkContent%
|
||
|
\originalpicture%
|
||
|
}{%
|
||
|
\originalendpicture%
|
||
|
\endPDFMarkContent%
|
||
|
\endPDFSpezialTextObj%{Figure}%
|
||
|
\global\numberingparstrue%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
|
||
|
\newcommand{\convertLanguageInCode}[1]{%
|
||
|
\gdef\LanguageCode{}%
|
||
|
%
|
||
|
\ifthenelse{\equal{#1}{\string danish}}{\gdef\LanguageCode{/Lang(DA)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string german}}{\gdef\LanguageCode{/Lang(DE)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string ngerman}}{\gdef\LanguageCode{/Lang(DE)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string germanb}}{\gdef\LanguageCode{/Lang(DE)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string austrian}}{\gdef\LanguageCode{/Lang(DE)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string naustrian}}{\gdef\LanguageCode{/Lang(DE)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string english}}{\gdef\LanguageCode{/Lang(EN)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string USenglish}}{\gdef\LanguageCode{/Lang(EN-US)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string american}}{\gdef\LanguageCode{/Lang(EN-US)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string UKenglish}}{\gdef\LanguageCode{/Lang(EN-GB)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string british}}{\gdef\LanguageCode{/Lang(EN-GB)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string canadian}}{\gdef\LanguageCode{/Lang(EN)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string australian}}{\gdef\LanguageCode{/Lang(EN)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string newzealand}}{\gdef\LanguageCode{/Lang(EN)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string finnish}}{\gdef\LanguageCode{/Lang(FI)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string french}}{\gdef\LanguageCode{/Lang(FR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string francais}}{\gdef\LanguageCode{/Lang(FR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string canadien}}{\gdef\LanguageCode{/Lang(FR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string acadian}}{\gdef\LanguageCode{/Lang(FR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string italian}}{\gdef\LanguageCode{/Lang(IT)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string norsk}}{\gdef\LanguageCode{/Lang(NO)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string nynorsk}}{\gdef\LanguageCode{/Lang(NO)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string portuges}}{\gdef\LanguageCode{/Lang(PT)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string portuguese}}{\gdef\LanguageCode{/Lang(PT)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string brazilian}}{\gdef\LanguageCode{/Lang(PT-BR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string brazil}}{\gdef\LanguageCode{/Lang(PT-BR)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string swedish}}{\gdef\LanguageCode{/Lang(SV)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string spanish}}{\gdef\LanguageCode{/Lang(ES)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string japanese}}{\gdef\LanguageCode{/Lang (JA)}}{}%
|
||
|
\ifthenelse{\equal{#1}{\string dutch}}{\gdef\LanguageCode{/Lang(NL)}}{}%
|
||
|
%
|
||
|
% No support in babel:
|
||
|
% Chinese /Lang(ZH)
|
||
|
% Korean /Lang (KO)
|
||
|
%
|
||
|
\ifthenelse{\equal{\LanguageCode}{}}{%
|
||
|
% Comparing \languagename is tricky (see babel documentation for \languagename for details),
|
||
|
% so give the user a hint here to use the babel package to fix the error.
|
||
|
\PackageWarning{accessibilityMeta}{You may need to use the babel package or the chosen language %
|
||
|
(#1) is not supported by Adobe Acrobat Reader 6.}%
|
||
|
}{}%
|
||
|
}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\AtBeginDocument{%
|
||
|
\gdef\DocumentLanguage{\languagename}%
|
||
|
\gdef\ActualLanguage{\languagename}%
|
||
|
\convertLanguageInCode{\languagename}%
|
||
|
\pdfcatalog{% Catalog dictionary of PDF output.
|
||
|
\LanguageCode% Setzt die Sprache
|
||
|
}%
|
||
|
}%
|
||
|
}{}
|
||
|
|
||
|
\newcommand{\recognizeLanguageChange}[1]{%
|
||
|
\ifthenelse{\equal{#1}{\ActualLanguage}}{%
|
||
|
%keine ?nderung zu vorher
|
||
|
}{%
|
||
|
\gdef\ActualLanguage{#1}%
|
||
|
\convertLanguageInCode{\languagename}}%
|
||
|
\ifthenelse{\equal{#1}{\DocumentLanguage}}{%
|
||
|
\global\LanguageDifffalse%
|
||
|
}{%
|
||
|
\global\LanguageDifftrue%
|
||
|
}%
|
||
|
}
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{babel}{%
|
||
|
\let\originalselectlanguage\selectlanguage%
|
||
|
\renewcommand{\selectlanguage}[1]{%
|
||
|
\originalselectlanguage{#1}%
|
||
|
\recognizeLanguageChange{#1}%
|
||
|
}%
|
||
|
\let\originalotherlanguage\otherlanguage%
|
||
|
\let\originalendotherlanguage\otherlanguage%
|
||
|
\long\def\otherlanguage#1{%
|
||
|
\csname selectlanguage \endcsname{#1}%
|
||
|
\ignorespaces%
|
||
|
\recognizeLanguageChange{#1}%
|
||
|
}%
|
||
|
\long\def\endotherlanguage{%
|
||
|
\originalTeX%
|
||
|
\global\@ignoretrue\ignorespaces%
|
||
|
\recognizeLanguageChange{\languagename}%
|
||
|
}%
|
||
|
\let\originalforeignlanguage\foreignlanguage%
|
||
|
\renewcommand{\foreignlanguage}[2]{%
|
||
|
\convertLanguageInCode{\string #1}%
|
||
|
\pdfliteral{/Span <<\LanguageCode>> BDC}%
|
||
|
\originalforeignlanguage{#1}{#2}%
|
||
|
\pdfliteral{EMC}%
|
||
|
\convertLanguageInCode{\languagename}%
|
||
|
}%
|
||
|
}{}%
|
||
|
}{}
|
||
|
|
||
|
\ifthenelse{\boolean{@Access@pdf}}{%
|
||
|
\@ifpackageloaded{glossary}{%
|
||
|
\let\originalnewacronym\newacronym%
|
||
|
\renewcommand{\newacronym}[4][]{%
|
||
|
%%%%% Originaldefinition
|
||
|
\ifthenelse{\equal{#1}{}}{\renewcommand\@acrnmcmd{#2}}{%
|
||
|
\renewcommand\@acrnmcmd{#1}}%
|
||
|
\xdef\expansion{#3}%
|
||
|
\@ifundefined{\@acrnmcmd}{%
|
||
|
\expandafter\newcommand\csname\@acrnmcmd short\endcsname{%
|
||
|
\protect\pdfliteral{/Span <</E (\expansion)>> BDC}%
|
||
|
#2%
|
||
|
\protect\pdfliteral{EMC}%
|
||
|
\protect\glsxspace}%
|
||
|
\expandafter\newcommand\csname\@acrnmcmd @nx@short\endcsname{%
|
||
|
\protect\pdfliteral{/Span <</E (\expansion)>> BDC}%
|
||
|
#2%
|
||
|
\protect\pdfliteral{EMC}}%
|
||
|
\expandafter\newcommand\csname\@acrnmcmd long\endcsname{%
|
||
|
#3\protect\glsxspace}
|
||
|
\expandafter\newcommand\csname\@acrnmcmd @nx@long\endcsname{#3}
|
||
|
\def\@acrn@entry{#4}%
|
||
|
{%
|
||
|
\expandafter\@gls@getdescr\expandafter{\@acrn@entry}%
|
||
|
\let\glodesc\@glo@desc%
|
||
|
\def\glolong{#3}%
|
||
|
\@onelevel@sanitize\glolong
|
||
|
\def\gloshort{\noexpand\acronymfont{#2}}%
|
||
|
\@onelevel@sanitize\gloshort
|
||
|
\expandafter\protected@xdef\expandafter\@acrnamefmt{\@acronymnamefmt}
|
||
|
\expandafter\protected@xdef\expandafter\@acrdesc{\@acronymdescfmt}
|
||
|
}%
|
||
|
\@acr@addtolist{\@acrnmcmd}
|
||
|
\@glo@tb=\expandafter{\@acrn@entry}%
|
||
|
\protected@edef\@acr@glsentry{name={\@acrnamefmt},%
|
||
|
format=glsnumformat,sort={\@acrnmcmd},\the\@glo@tb,%
|
||
|
description={\@acrdesc}}%
|
||
|
\@glo@tb=\expandafter{\@acr@glsentry}%
|
||
|
\newboolean{\@acrnmcmd first}\setboolean{\@acrnmcmd first}{true}
|
||
|
\expandafter\protected@edef\csname \@acrnmcmd\endcsname{%
|
||
|
\noexpand\@ifstar{\csname @s@\@acrnmcmd\endcsname}{%
|
||
|
\csname @\@acrnmcmd\endcsname}}
|
||
|
\ifglshyperacronym % hyperlinks
|
||
|
\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{%
|
||
|
\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
|
||
|
\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
|
||
|
(\noexpand\xacronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
})\noexpand\unsetacronym{\@acrnmcmd}%
|
||
|
}{\noexpand\xacronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
\noexpand\@acrnmins}}\noexpand\glsxspace}
|
||
|
\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{%
|
||
|
\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
|
||
|
\noexpand\expandafter\noexpand\MakeUppercase
|
||
|
\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
|
||
|
(\noexpand\xacronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
})%
|
||
|
\noexpand\unsetacronym{\@acrnmcmd}}{%
|
||
|
\noexpand\xacronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase
|
||
|
\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
\noexpand\@acrnmins}}\noexpand\glsxspace}
|
||
|
\else % no hyperlinks
|
||
|
\expandafter\protected@edef\csname @\@acrnmcmd\endcsname{%
|
||
|
\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
|
||
|
\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
|
||
|
(\noexpand\acronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
})\noexpand\unsetacronym{\@acrnmcmd}%
|
||
|
}{\noexpand\acronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
\noexpand\@acrnmins}}%
|
||
|
\noexpand\glsxspace}
|
||
|
\expandafter\protected@edef\csname @s@\@acrnmcmd\endcsname{%
|
||
|
\noexpand\ifthenelse{\noexpand\boolean{\@acrnmcmd first}}{%
|
||
|
\noexpand\expandafter
|
||
|
\noexpand\MakeUppercase
|
||
|
\csname\@acrnmcmd @nx@long\endcsname\noexpand\@acrnmins\
|
||
|
(\noexpand\acronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
})%
|
||
|
\noexpand\unsetacronym{\@acrnmcmd}}{%
|
||
|
\noexpand\acronym{\the\@glo@tb}{%
|
||
|
\noexpand\acronymfont{\noexpand\expandafter\noexpand\MakeUppercase
|
||
|
\csname\@acrnmcmd @nx@short\endcsname}%
|
||
|
\noexpand\@acrnmins}}\noexpand\glsxspace}
|
||
|
\fi
|
||
|
}{%
|
||
|
\PackageError{glossary}{Command '\expandafter\string
|
||
|
\csname\@acrnmcmd\endcsname' already defined}{%
|
||
|
The command name specified by \string\newacronym already exists.}}}
|
||
|
%%%%% Originaldefinition
|
||
|
}{}%
|
||
|
}{}
|
||
|
|
||
|
|
||
|
% The count1to package confuses hyperref (see hyperref README), so fix \theH<...>:
|
||
|
\@ifpackageloaded{hyperref}{%
|
||
|
\AtBeginDocument{%
|
||
|
\ifthenelse{\isundefined{\theHchapter}}{\newcommand{\theHchapter}{0}}{}%
|
||
|
\renewcommand*{\theHsection}{\theHchapter.\arabic{section}}%
|
||
|
\renewcommand*{\theHsubsection}{\theHsection.\arabic{subsection}}%
|
||
|
\renewcommand*{\theHsubsubsection}{\theHsubsection.\arabic{subsubsection}}%
|
||
|
\renewcommand*{\theHparagraph}{\theHsubsubsection.\arabic{paragraph}}%
|
||
|
\renewcommand*{\theHsubparagraph}{\theHparagraph.\arabic{subparagraph}}%
|
||
|
}%
|
||
|
}%
|
||
|
|
||
|
\endinput
|
||
|
%%
|
||
|
%% End of file `accessibilityMeta.sty'.
|