diff options
author | Karl Berry <karl@freefriends.org> | 2007-04-11 23:02:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-04-11 23:02:14 +0000 |
commit | 6858df01ea6ebb32f4be0f68e4b2e03d8713f38f (patch) | |
tree | d0466192a4c6ae7f99e95d2e6e9b613ebcb73d3d /Master/texmf-dist/source/latex/oberdiek/accsupp.dtx | |
parent | 59314283a9039be6cceb0bbee8600837477c9058 (diff) |
oberdiek: accsupp, atenddvi, hycolor, iflang (11apr07)
git-svn-id: svn://tug.org/texlive/trunk@4149 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/accsupp.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/accsupp.dtx | 823 |
1 files changed, 823 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx b/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx new file mode 100644 index 00000000000..8fa1842a911 --- /dev/null +++ b/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx @@ -0,0 +1,823 @@ +% \iffalse meta-comment +% +% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +% +% 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". +% +% This Current Maintainer of this work is Heiko Oberdiek. +% +% This work consists of the main source file accsupp.dtx +% and the derived files +% accsupp.sty, accsupp.pdf, accsupp.ins, accsupp.drv, +% accsupp-pdftex.def, accsupp-dvipdfm.def, accsupp-dvips.def, +% accsupp-example.tex. +% +% Distribution: +% CTAN:macros/latex/contrib/oberdiek/accsupp.dtx +% CTAN:macros/latex/contrib/oberdiek/accsupp.pdf +% +% Unpacking: +% (a) If accsupp.ins is present: +% tex accsupp.ins +% (b) Without accsupp.ins: +% tex accsupp.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{accsupp.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If accsupp.drv is present: +% latex accsupp.drv +% (b) Without accsupp.drv: +% latex accsupp.dtx; ... +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Programm calls to get the documentation (example): +% pdflatex accsupp.dtx +% makeindex -s gind.ist accsupp.idx +% pdflatex accsupp.dtx +% makeindex -s gind.ist accsupp.idx +% pdflatex accsupp.dtx +% +% Installation: +% TDS:tex/latex/oberdiek/accsupp.sty +% TDS:tex/latex/oberdiek/accsupp-pdftex.def +% TDS:tex/latex/oberdiek/accsupp-dvipdfm.def +% TDS:tex/latex/oberdiek/accsupp-dvips.def +% TDS:doc/latex/oberdiek/accsupp.pdf +% TDS:doc/latex/oberdiek/accsupp-example.tex +% TDS:source/latex/oberdiek/accsupp.dtx +% +%<*ignore> +\begingroup + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +%</ignore> +%<*install> +\input docstrip.tex +\Msg{************************************************************************} +\Msg{* Installation} +\Msg{* Package: accsupp 2007/03/21 v0.1 Accessibility support by marked content (HO)} +\Msg{************************************************************************} + +\keepsilent +\askforoverwritefalse + +\preamble + +This is a generated file. + +Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> + +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". + +This Current Maintainer of this work is Heiko Oberdiek. + +This work consists of the main source file accsupp.dtx +and the derived files + accsupp.sty, accsupp.pdf, accsupp.ins, accsupp.drv, + accsupp-pdftex.def, accsupp-dvipdfm.def, accsupp-dvips.def, + accsupp-example.tex. + +\endpreamble + +\generate{% + \file{accsupp.ins}{\from{accsupp.dtx}{install}}% + \file{accsupp.drv}{\from{accsupp.dtx}{driver}}% + \usedir{tex/latex/oberdiek}% + \file{accsupp.sty}{\from{accsupp.dtx}{package}}% + \file{accsupp-pdftex.def}{\from{accsupp.dtx}{pdftex}}% + \file{accsupp-dvipdfm.def}{\from{accsupp.dtx}{dvipdfm}}% + \file{accsupp-dvips.def}{\from{accsupp.dtx}{dvips}}% + \usedir{doc/latex/oberdiek}% + \file{accsupp-example.tex}{\from{accsupp.dtx}{example}}% +} + +\obeyspaces +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* accsupp.sty, accsupp-pdftex.def, accsupp-dvipdfm.def,} +\Msg{* accsupp-dvips.def} +\Msg{*} +\Msg{* To produce the documentation run the file `accsupp.drv'} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +%</install> +%<*ignore> +\fi +%</ignore> +%<*driver> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{accsupp.drv}% + [2007/03/21 v0.1 Accessibility support by marked content (HO)]% +\documentclass{ltxdoc} +\usepackage{holtxdoc} +\begin{document} + \DocInput{accsupp.dtx}% +\end{document} +%</driver> +% \fi +% +% \CheckSum{289} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \GetFileInfo{accsupp.drv} +% +% \title{The \xpackage{accsupp} package} +% \date{2007/03/21 v0.1} +% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} +% +% \maketitle +% +% \begin{abstract} +% Since PDF 1.5 portions of a page can be marked for better +% accessibility support. +% For example, replacement texts or expansions of abbreviations can be +% provided. Package \xpackage{accsupp} starts with providing a minimal +% low-level interface for programmers. Status is experimental. +% \end{abstract} +% +% \tableofcontents +% +% \section{Documentation} +% +% \subsection{Macros} +% +% Section ``10.8 Accessibility Support'' of the PDF reference +% \cite{pdfspec} lists some features that can be added by +% operators for marked content. +% +% \begin{declcs}{BeginAccSupp} \M{options} +% \end{declcs} +% It puts the operator |BDC| in the page stream: +% \begin{quote} +% |/Span|\\ +% |<<|\dots|>>| \qquad \textit{\% property dictionary}\\ +% |BDC| +% \end{quote} +% The contents of the dictionary is controlled by \meta{options}. +% See sections \ref{sec:feature} and \ref{sec:method}. +% +% \begin{declcs}{EndAccSupp} \M{options} +% \end{declcs} +% It puts the operator |EMC| in the page stream. +% The only option is \xoption{pdfliteral}, see section \ref{sec:pdftex}. +% +% \bigskip +% \noindent\textbf{Note:} +% The caller is responsible for the placement of \cs{BeginAccSupp} +% and \cs{EndAccSupp} pairs. Especially page breaks are not allowed +% in between. +% +% \subsubsection{Feature options}\label{sec:feature} +% +% The PDF reference \cite{pdfspec} describes and explains the different +% features. The names of the feature options are the same as the +% key names for the property dictionary for operator |BDC|, see +% \cs{BeginAccSupp}. +% +% \begin{description} +% \item[\xoption{ActualText}:] +% Provides a replacement text, see example in section \ref{sec:example}. +% \item[\xoption{Alt}:] +% Provides an alternate description. +% \item[\xoption{E}:] +% Provides the expansion of an abbreviation or an acronym. +% \item[\xoption{Lang}:] +% Specifies the language. +% \end{description} +% +% \subsubsection{Input methods}\label{sec:method} +% +% Except for \xoption{Lang} option \xoption{method} controls +% how the argument for \xoption{ActualText}, \xoption{Alt}, +% and \xoption{E} are interpreted. +% \begin{description} +% \item[\xoption{method=plain}:] +% The string is only expanded and written without further +% treatment. Special characters are not protected, thus this method +% may result in an invalid PDF file. +% \item[\xoption{mehod=escape}:] +% The string is expanded and special characters are escaped. +% The result is a valid PDF string. +% \item[\xoption{method=hex}:] +% The string is given in hexadecimal notation. +% Section \ref{sec:example} shows an example. +% \item[\xoption{method=pdfstringdef}:] +% If package \xpackage{hyperref} is loaded, then its \cs{pdfstringdef} +% is used. This method is slow, but useful if the string contains +% arbitrary \TeX\ code. +% \item[\xoption{unicode}:] +% This option is needed, if the string is given as Unicode string +% (16 bit). Internally it adds the string prefix for Unicode. +% In case of \xoption{method=pdfstringdef} it passes the option +% to \cs{hypersetup}. +% \end{description} +% +% \subsection{Driver options} +% +% Driver options are package options only. +% The special \TeX\ compilers \pdfTeX\ and Xe\TeX are detected +% automatically. The default for unrecognized drivers can be +% set by defining \cs{ActualTextDriverDefault}. This can be done +% in the configuration file \xfile{accsupp.cfg}. +% +% \subsubsection{Option \xoption{pdftex}}\label{sec:pdftex} +% Package option \xoption{pdftex} is used for \pdfTeX\ in PDF mode. +% Additionally \cs{BeginAccSupp} and \cs{EndAccSupp} understand +% option \xoption{pdfliteral}. It controls +% the modifier keyword for \cs{pdfliteral}: +% \begin{quote} +% |pdfliteral=direct| $\Rightarrow$ |\pdfliteral direct{...}| +% \end{quote} +% +% \subsubsection{Option \xoption{dvipdfm}} +% +% Package option \xoption{dvipdfm} and its aliases \xoption{dvipdfmx} +% \xoption{xetex} are used for drivers that support +% \textsf{dvipdfm} specials. +% +% \subsubsection{Option \xoption{dvips}} +% +% Package option \xoption{dvips} and its alias \xoption{dvipsone} +% write pdfmark specials in the output. Unhappily these pdfmark +% operators are ignored by \textsf{ghostscript} (latest tested +% version is 8.54). Perhaps they are recognized by commercial +% distiller applications. +% +% \subsubsection{Turning off page stream compression} +% +% For debugging it is useful to have uncompressed page stream objects. +% This can be done afterwards via \textsf{pdftk}: +% \begin{quote} +% |pdftk file.pdf output file-uncompressed.pdf uncompress| +% \end{quote} +% Or the PDF file is generated uncompressed: +% \begin{description} +% \item[\pdfTeX:] |\pdfcompresslevel=0| +% \item[dvipdfm:] |dvipdfm -z0 ...| +% \item[dvipdfmx:] |dvipdfmx -z0 ...| +% \item[ghostscript/ps2pdf:] +% |ps2pdf -dCompressPages=false input.ps output.pdf| +% \end{description} +% +% \section{Example}\label{sec:example} +% +% \begin{macrocode} +%<*example> +% \end{macrocode} +% \begin{macrocode} +\documentclass{article} +\usepackage{accsupp} +\usepackage{centernot} + % U+2226 NOT PARALLEL + % \mathrel{...} prevents page break in between +\newcommand*{\notparallel}{% + \ensuremath{% + \mathrel{% + \BeginAccSupp{method=hex,unicode,ActualText=2226}% + \centernot{\parallel}% + \EndAccSupp{}% + }% + }% +} +\begin{document} +\begin{equation} +A\notparallel B +\end{equation} +\end{document} +% \end{macrocode} +% \begin{macrocode} +%</example> +% \end{macrocode} +% +% \StopEventually{ +% } +% +% \section{Implementation} +% +% \subsection{Package} +% +% \begin{macrocode} +%<*package> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{accsupp}% + [2007/03/21 v0.1 Accessibility support by marked content (HO)]% +% \end{macrocode} +% +% \begin{macrocode} +\edef\ACCSUPP@end{% + \catcode39 \the\catcode39 % ' + \catcode40 \the\catcode40 % ( + \catcode41 \the\catcode41 % ) + \catcode60 \the\catcode60 % < + \catcode61 \the\catcode61 % = + \catcode62 \the\catcode62 % > + \catcode94 \the\catcode94 % ^ + \catcode96 \the\catcode96 % ` + \catcode254 \the\catcode254 % ^^FE + \catcode255 \the\catcode255 % ^^FF +} +\@makeother\( +\@makeother\) +\@makeother\' +\@makeother\< +\@makeother\= +\@makeother\> +\catcode94 = 7 % +\@makeother\` +\@makeother\^^fe +\@makeother\^^ff +% \end{macrocode} +% +% \begin{macrocode} +\RequirePackage{pdfescape}[2007/02/25] +\RequirePackage{ifpdf} +\RequirePackage{ifxetex} +\RequirePackage{kvoptions} +% \end{macrocode} +% \begin{macrocode} +\SetupKeyvalOptions{% + family=ACCSUPP,% + prefix=ACCSUPP@% +} +% \end{macrocode} +% +% \subsection{Driver detection and setup} +% +% \paragraph{Driver declarations.} +% +% \begin{macrocode} +\def\ACCSUPP@DefineDriverKey{% + \@dblarg\ACCSUPP@@DefineDriverKey +} +\def\ACCSUPP@@DefineDriverKey[#1]#2{% + \define@key{ActTxt}{#2}[]{% + \def\ACCSUPP@driver{#1}% + }% + \g@addto@macro\ACCSUPP@DisableOptions{% + \DisableKeyvalOption{ActTxt}{#2}% + }% +} +\let\ACCSUPP@DisableOptions\@empty +\ACCSUPP@DefineDriverKey{pdftex} +\ACCSUPP@DefineDriverKey{dvips} +\ACCSUPP@DefineDriverKey[dvips]{dvipsone} +\ACCSUPP@DefineDriverKey{dvipdfm} +\ACCSUPP@DefineDriverKey[dvipdfm]{dvipdfmx} +\ACCSUPP@DefineDriverKey[dvipdfm]{xetex} +\InputIfFileExists{accsupp.cfg}{}{} +\providecommand*{\ActualTextDriverDefault}{dvips} +\ifpdf + \def\ACCSUPP@driver{pdftex}% +\else + \ifxetex + \def\ACCSUPP@driver{dvipdfm}% + \else + \let\ACCSUPP@driver\BookmarkDriverDefault + \fi +\fi +% \end{macrocode} +% +% \paragraph{Process options.} +% +% \begin{macrocode} +\ProcessKeyvalOptions* +\ACCSUPP@DisableOptions +% \end{macrocode} +% +% \paragraph{Driver validation and loading.} +% +% \begin{macrocode} +\def\ACCSUPP@temp{pdftex}% +\ifpdf + \ifx\ACCSUPP@temp\ACCSUPP@driver + \else + \PackageWarningNoLine{accsupp}{% + Wrong driver `\ACCSUPP@driver', using `pdftex' instead% + }% + \let\ACCSUPP@driver\ACCSUPP@temp + \fi +\else + \ifx\ACCSUPP@temp\ACCSUPP@driver + \PackageError{accsupp}{% + Wrong driver, pdfTeX is not running in PDF mode.\MessageBreak + Package loading is aborted% + }\@ehc + \expandafter\expandafter\expandafter\endinput + \fi + \def\ACCSUPP@temp{dvipdfm}% + \ifxetex + \ifx\ACCSUPP@temp\ACCSUPP@driver + \else + \PackageWarningNoLine{accsupp}{% + Wrong driver `\ACCSUPP@driver',\MessageBreak + using `dvipdfm' for XeTeX instead% + }% + \let\ACCSUPP@driver\ACCSUPP@temp + \fi + \fi +\fi +\InputIfFileExists{accsupp-\ACCSUPP@driver.def}{}{% + \PackageError{accsupp}{% + Unsupported driver `\ACCSUPP@driver'.\MessageBreak + Package loading is aborted% + }\@ehc + \endinput +} +% \end{macrocode} +% +% \subsection{Main macro} +% +% \begin{macrocode} +\DeclareBoolOption{unicode} +\DeclareStringOption[page]{pdfliteral} +\DeclareStringOption{Lang} +\def\ACCSUPP@method{escape} +\define@key{ACCSUPP}{method}{% + \@ifundefined{ACCSUPP@method@#1}{% + \PackageError{accsupp}{% + Ignoring unknown method `#1'% + }\@ehc + }{% + \edef\ACCSUPP@method{#1}% + }% +} +\let\ACCSUPP@Lang\relax +\def\ACCSUPP@temp#1{% + \expandafter\ACCSUPP@@temp\csname ACCSUPP@#1\endcsname{#1}% +} +\def\ACCSUPP@@temp#1#2{% + \let#1\relax + \define@key{ACCSUPP}{#2}{% + \def#1{##1}% + \ifx#1\@empty + \def#1{()}% + \else + \csname ACCSUPP@method@\ACCSUPP@method\endcsname#1% + \fi + }% +} +\ACCSUPP@temp{Alt} +\ACCSUPP@temp{ActualText} +\ACCSUPP@temp{E} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\BeginAccSupp}[1]{% + \begingroup + \setkeys{ACCSUPP}{#1}% + \edef\ACCSUPP@span{% + /Span<<% + \ifx\ACCSUPP@Lang\relax + \else + /Lang\ACCSUPP@Lang + \fi + \ifx\ACCSUPP@Alt\relax + \else + /Alt\ACCSUPP@Alt + \fi + \ifx\ACCSUPP@ActualText\relax + \else + /ActualText\ACCSUPP@ActualText + \fi + \ifx\ACCSUPP@E\relax + \else + /E\ACCSUPP@E + \fi + >>% + }% + \ACCSUPP@bdc + \endgroup +} +\newcommand*{\EndAccSupp}[1]{% + \begingroup + \setkeys{ACCSUPP}{#1}% + \ACCSUPP@emc + \endgroup +} +% \end{macrocode} +% +% \subsubsection{Input methods} +% +% \begin{macrocode} +\def\ACCSUPP@method@plain#1{% + \csname @safe@activestrue\endcsname + \edef#1{% + (% + \ifACCSUPP@unicode + \string\376\string\377% + \fi + #1% + )% + }% + \@onelevel@sanitize#1% +} +% \end{macrocode} +% \begin{macrocode} +\def\ACCSUPP@method@escape#1{% + \EdefEscapeString#1{% + \ifACCSUPP@unicode + ^^fe^^ff% + \fi + #1% + }% + \edef#1{(#1)}% +}% +% \end{macrocode} +% \begin{macrocode} +\def\ACCSUPP@method@hex#1{% + \edef#1{% + <% + \ifACCSUPP@unicode + FEFF% + \fi + #1% + >% + }% +} +% \end{macrocode} +% \begin{macrocode} +\def\ACCSUPP@method@pdfstringdef#1{% + \ifActText@unicode + \@ifundefined{hypersetup}{}{% + \hypersetup{unicode}% + }% + \fi + \@ifundefined{pdfstringdef}{% + \PackageError{accsupp}{% + Method `pdfstringdef' requires package `hyperref'% + }\@ehc + \let\ACCSUPP@temp\@empty + }{% + \pdfstringdef\ACCSUPP@temp#1% + }% + \edef#1{(\ACCSUPP@temp)}% +} +% \end{macrocode} +% +% \begin{macrocode} +\ACCSUPP@end +%</package> +% \end{macrocode} +% +% \subsection{Drivers} +% +% \subsubsection{Driver \xoption{pdftex}} +% +% \begin{macrocode} +%<*pdftex> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{accsupp-pdftex.def}% + [2007/03/21 v0.1 accsupp driver for pdfTeX (HO)]% +% \end{macrocode} +% +% \begin{macrocode} +\def\ACCSUPP@bdc{% + \pdfliteral\ACCSUPP@pdfliteral{\ACCSUPP@span BDC}% +} +\def\ACCSUPP@emc{% + \pdfliteral\ACCSUPP@pdfliteral{EMC}% +} +% \end{macrocode} +% \begin{macrocode} +%</pdftex> +% \end{macrocode} +% +% \subsubsection{Driver \xoption{dvipdfm}} +% +% \begin{macrocode} +%<*dvipdfm> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{accsupp-dvipdfm.def}% + [2007/03/21 v0.1 accsupp driver for dvipdfm (HO)]% +% \end{macrocode} +% +% \begin{macrocode} +\def\ACCSUPP@bdc{% + \special{pdf:content \ACCSUPP@span BDC}% +} +\def\ACCSUPP@emc{% + \special{pdf:content EMC}% +} +% \end{macrocode} +% \begin{macrocode} +%</dvipdfm> +% \end{macrocode} +% +% \subsubsection{Driver \xoption{dvips}} +% +% \begin{macrocode} +%<*dvips> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{accsupp-dvips.def}% + [2007/03/21 v0.1 accsupp driver for dvips (HO)]% +% \end{macrocode} +% +% \begin{macrocode} +\def\ACCSUPP@bdc#1{% + \special{ps:[\ACCSUPP@span/BDC pdfmark}% +} +\def\ACCSUPP@emc{% + \special{ps:[/EMC pdfmark}% +} +% \end{macrocode} +% \begin{macrocode} +%</dvips> +% \end{macrocode} +% \section{Installation} +% +% \subsection{Download} +% +% \paragraph{Package.} This package is available on +% CTAN\footnote{\url{ftp://ftp.ctan.org/tex-archive/}}: +% \begin{description} +% \item[\CTAN{macros/latex/contrib/oberdiek/accsupp.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/oberdiek/accsupp.pdf}] Documentation. +% \end{description} +% +% +% \paragraph{Bundle.} All the packages of the bundle `oberdiek' +% are also available in a TDS compliant ZIP archive. There +% the packages are already unpacked and the documentation files +% are generated. The files and directories obey the TDS standard. +% \begin{description} +% \item[\CTAN{macros/latex/contrib/oberdiek/oberdiek-tds.zip}] +% \end{description} +% +% \subsection{Bundle installation} +% +% \paragraph{Unpacking.} Unpack the \xfile{oberdiek-tds.zip} in the +% TDS tree (also known as \xfile{texmf} tree) of your choice. +% Example (linux): +% \begin{quote} +% |unzip oberdiek-tds.zip -d ~/texmf| +% \end{quote} +% +% \paragraph{Script installation.} +% Check the directory \xfile{TDS:scripts/oberdiek/} for +% scripts that need further installation steps. +% Package \xpackage{attachfile2} comes with the Perl script +% \xfile{pdfatfi.pl} that should be installed in such a way +% that it can be called as \texttt{pdfatfi}. +% Example (linux): +% \begin{quote} +% |chmod +x scripts/oberdiek/pdfatfi.pl|\\ +% |cp scripts/oberdiek/pdfatfi.pl /usr/local/bin/| +% \end{quote} +% +% \subsection{Package installation} +% +% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting +% \docstrip\ archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX: +% \begin{quote} +% \verb|tex accsupp.dtx| +% \end{quote} +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \begin{quote} +% \sbox0{^^A +% \begin{tabular}{@{}>{\ttfamily}l@{$\quad\rightarrow\quad$}>{\ttfamily}l@{}} +% accsupp.sty & tex/latex/oberdiek/accsupp.sty\\ +% accsupp-pdftex.def & tex/latex/oberdiek/accsupp-pdftex.def\\ +% accsupp-dvipdfm.def & tex/latex/oberdiek/accsupp-dvipdfm.def\\ +% accsupp-dvips.def & tex/latex/oberdiek/accsupp-dvips.def\\ +% accsupp.pdf & doc/latex/oberdiek/accsupp.pdf\\ +% accsupp-example.tex & doc/latex/oberdiek/accsupp-example.tex\\ +% accsupp.dtx & source/latex/oberdiek/accsupp.dtx\\ +% \end{tabular}^^A +% }% +% \ifdim\wd0>\linewidth +% \mbox{}\nobreak\hskip0pt minus\leftmargin +% \usebox0 +% \nobreak\hskip0pt minus\rightmargin +% \else +% \usebox0 +% \fi +% \end{quote} +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's +% TDS installing feature, then some files can already be in the right +% place, see the documentation of \docstrip. +% +% \subsection{Refresh file name databases} +% +% If your \TeX~distribution +% (\teTeX, \mikTeX, \dots) relies on file name databases, you must refresh +% these. For example, \teTeX\ users run \verb|texhash| or +% \verb|mktexlsr|. +% +% \subsection{Some details for the interested} +% +% \paragraph{Attached source.} +% +% The PDF documentation on CTAN also includes the +% \xfile{.dtx} source file. It can be extracted by +% AcrobatReader 6 or higher. Another option is \textsf{pdftk}, +% e.g. unpack the file into the current directory: +% \begin{quote} +% \verb|pdftk accsupp.pdf unpack_files output .| +% \end{quote} +% +% \paragraph{Unpacking with \LaTeX.} +% The \xfile{.dtx} chooses its action depending on the format: +% \begin{description} +% \item[\plainTeX:] Run \docstrip\ and extract the files. +% \item[\LaTeX:] Generate the documentation. +% \end{description} +% If you insist on using \LaTeX\ for \docstrip\ (really, +% \docstrip\ does not need \LaTeX), then inform the autodetect routine +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{accsupp.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \paragraph{Generating the documentation.} +% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate +% the documentation. The process can be configured by the +% configuration file \xfile{ltxdoc.cfg}. For instance, put this +% line into this file, if you want to have A4 as paper format: +% \begin{quote} +% \verb|\PassOptionsToClass{a4paper}{article}| +% \end{quote} +% An example follows how to generate the +% documentation with pdf\LaTeX: +% \begin{quote} +%\begin{verbatim} +%pdflatex accsupp.dtx +%makeindex -s gind.ist accsupp.idx +%pdflatex accsupp.dtx +%makeindex -s gind.ist accsupp.idx +%pdflatex accsupp.dtx +%\end{verbatim} +% \end{quote} +% +% \begin{thebibliography}{9} +% \bibitem{pdfspec} +% Adobe Systems Incorporated, +% \textit{PDF Reference}, 6th edition, 2006. +% \url{http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf} +% +% \end{thebibliography} +% +% \begin{History} +% \begin{Version}{2007/03/21 v0.1} +% \item +% First version. +% \end{Version} +% \end{History} +% +% \PrintIndex +% +% \Finale +\endinput |