93 lines
3.5 KiB
TeX
Executable File
93 lines
3.5 KiB
TeX
Executable File
%%
|
|
%% This is file `taborder.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% taborder.dtx (with options: `copyright,package')
|
|
%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% taborder.sty package, %%
|
|
%% Copyright (C) 2009--2016 D. P. Story %%
|
|
%% dpstory@uakron.edu %%
|
|
%% %%
|
|
%% This program can redistributed and/or modified under %%
|
|
%% the terms of the LaTeX Project Public License %%
|
|
%% Distributed from CTAN archives in directory %%
|
|
%% macros/latex/base/lppl.txt; either version 1 of the %%
|
|
%% License, or (at your option) any later version. %%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\NeedsTeXFormat{LaTeX2e}[1997/12/01]
|
|
\ProvidesPackage{taborder}
|
|
[2009/09/04 v0.1 taborder: Sets the tab order, Acrobat Distiller only (dps)]
|
|
\DeclareOption{structure}{\let\to@earlyendinput\relax}
|
|
\let\to@earlyendinput\endinput
|
|
\let\setTabOrderByList\relax\let\setTabOrderByNumber\relax
|
|
\ProcessOptions
|
|
\newif\ifto@structOrder\to@structOrderfalse
|
|
\newcommand{\setTabOrder}[1]{\begingroup
|
|
\global\to@structOrderfalse
|
|
\def\to@to@C{C}\def\to@to@R{R}\def\to@to@S{S}%
|
|
\def\to@to@W{W}\def\to@to@A{A}\def\to@to@us{UNSPECIFIED}%
|
|
\uppercase{\def\ef@taborder{#1}}%
|
|
\ifx\ef@taborder\@empty
|
|
\else\ifx\ef@taborder\to@to@us
|
|
\let\ef@taborder\@empty
|
|
\else\ifx\to@to@C\ef@taborder
|
|
\else\ifx\to@to@R\ef@taborder
|
|
\else\ifx\to@to@S\ef@taborder
|
|
\ifx\to@earlyendinput\endinput
|
|
\PackageWarning{taborder}{%
|
|
The structure (S) option is supported only\MessageBreak
|
|
with Acrobat Distiller. Using the default\MessageBreak
|
|
value of 'unspecified'}\let\ef@taborder\@empty
|
|
\else\global\to@structOrdertrue\fi
|
|
\else\ifx\to@to@W\ef@taborder
|
|
\else\ifx\to@to@A\ef@taborder
|
|
\else\PackageWarning{taborder}{%
|
|
Invalid value for \string\setTabOrder. Permissible \MessageBreak
|
|
values are R, C, S, W, A, and unspecified. Using \MessageBreak
|
|
the default value of 'unspecified'}\let\ef@taborder\@empty
|
|
\fi\fi\fi\fi\fi\fi\fi\ef@setTabOrder
|
|
}
|
|
\to@earlyendinput
|
|
\def\ef@setTabOrder{%
|
|
\ifx\ef@taborder\@empty\else\literalps@out{%
|
|
[ {ThisPage} <</Tabs/\ef@taborder>> /PUT pdfmark}\fi
|
|
\endgroup
|
|
}
|
|
\newcommand{\setTabOrderByList}{%
|
|
\global\to@settabsbylisttrue
|
|
\global\let\setStructTabOrder\to@setStructTabOrder
|
|
}
|
|
\newcommand{\setTabOrderByNumber}{%
|
|
\global\to@settabsbylistfalse
|
|
\global\let\setStructTabOrder\@gobble
|
|
}
|
|
\newcommand{\to@setStructTabOrder}[1]{%
|
|
\@setStructTabOrder#1\end
|
|
}
|
|
\newif\ifto@settabsbylist\to@settabsbylisttrue
|
|
\let\setStructTabOrder\to@setStructTabOrder
|
|
\define@key{structOpts}{title}[]{\def\structOpts@title{#1}}
|
|
\define@key{structOpts}{type}[Form]{\def\structOpts@type{#1}}
|
|
\newcommand{\@setStructTabOrder}[2][]{%
|
|
\setkeys{structOpts}{title,type,#1}
|
|
\ifx#2\end\else\literalps@out{%
|
|
[/Subtype/\structOpts@type\ifx\structOpts@title\@empty
|
|
\else/Title (\structOpts@title)\fi/StPNE pdfmark
|
|
[/Obj {#2} /StOBJ pdfmark
|
|
[/StPop pdfmark}\expandafter\@setStructTabOrder
|
|
\fi
|
|
}
|
|
\def\to@insertStrucTabOrder#1{%
|
|
\ifto@structOrder\ifx\eq@objdef\@empty\else
|
|
\ifx\eq@taborder\@empty\else\literalps@out{%
|
|
[/Subtype/#1/At \eq@taborder/StPNE pdfmark
|
|
[/Obj {\eq@objdefName} /StOBJ pdfmark [/StPop pdfmark}%
|
|
\fi\fi\fi
|
|
}
|
|
\endinput
|
|
%%
|
|
%% End of file `taborder.sty'.
|