Warning, /education/labplot/src/3rdparty/preview.sty is written in an unsupported language. File is not indexed.

0001 %%
0002 %% This is file `preview.sty',
0003 %% generated with the docstrip utility.
0004 %%
0005 %% The original source files were:
0006 %%
0007 %% preview.dtx  (with options: `style')
0008 %% preview.dtx  (with options: `style,active')
0009 %% 
0010 %% IMPORTANT NOTICE:
0011 %% 
0012 %% For the copyright see the source file.
0013 %% 
0014 %% Any modified versions of this file must be renamed
0015 %% with new filenames distinct from preview.sty.
0016 %% 
0017 %% For distribution of the original source see the terms
0018 %% for copying and modification in the file preview.dtx preview.dtx.
0019 %% 
0020 %% This generated file may be distributed as long as the
0021 %% original source files, as listed above, are part of the
0022 %% same distribution. (The sources need not necessarily be
0023 %% in the same archive or directory.)
0024 %%    The preview style for extracting previews from LaTeX documents.
0025 %%    Developed as part of AUCTeX <URL:http://www.gnu.org/software/auctex>.
0026 \NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3:
0027 #4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1}
0028 \begingroup \catcode`\_=12
0029 \reserved@a\pr@version $Name: release_11_90 $ \ifx\pr@version\@empty
0030 \reserved@a\pr@version CVS-$Revision: 1.126 $ \endgroup \else
0031   \def\next release_{} \lccode`\_=`.
0032   \edef\next{\lowercase{\endgroup
0033     \def\noexpand\pr@version{\expandafter\next\pr@version}}} \next \fi
0034 \reserved@a\next $Date: 2017/04/24 13:20:00 $
0035 \edef\next{\noexpand\ProvidesPackage{preview}%
0036   [\next\space \pr@version\space (AUCTeX/preview-latex)]}
0037 \next
0038 \let\ifPreview\iffalse
0039 \let\preview@delay=\@gobble
0040 \let\pr@advise=\@gobbletwo
0041 \long\def\pr@advise@ship#1#2#3{}
0042 \def\pr@loadcfg#1{\InputIfFileExists{#1.cfg}{}{}}
0043 \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
0044 \DeclareOption{noconfig}{\let\pr@loadcfg=\@gobble}
0045 \long\def\pr@addto@front#1#2{%
0046   \toks@{#2}\toks@\expandafter{\the\expandafter\toks@#1}%
0047   \xdef#1{\the\toks@}}
0048 \DeclareOption{active}{%
0049   \let\ifPreview\iftrue
0050   \def\pr@advise#1{%
0051     \expandafter\pr@adviseii\csname pr@\string#1\endcsname#1}%
0052   \long\def\pr@advise@ship#1#2#3{\pr@advise#1{\pr@protect@ship{#2}{#3}}}%
0053   \let\preview@delay\@firstofone}
0054 \long\def\pr@adviseii#1#2#3{\preview@delay{%
0055   \ifx#1\relax \let#1#2\fi
0056   \toks@{#3#1}%
0057   \ifx\@undefined\protected \else \protected\fi
0058   \long\edef#2{\the\toks@}}}
0059 \DeclareOption{delayed}{%
0060   \ifPreview \def\preview@delay{\AtBeginDocument}\fi
0061 }
0062 \newif\ifpr@fixbb
0063 \pr@fixbbfalse
0064 \DeclareOption{psfixbb}{\ifPreview%
0065   \pr@fixbbtrue
0066   \newbox\pr@markerbox
0067   \setbox\pr@markerbox\hbox{\special{psfile=/dev/null}}\fi
0068 }
0069 \let\pr@graphicstype=\z@
0070 \DeclareOption{dvips}{%
0071   \let\pr@graphicstype\@ne
0072   \preview@delay{\AtBeginDvi{%
0073       \special{!/preview@version(\pr@version)def}
0074       \special{!userdict begin/preview-bop-level 0 def%
0075       /bop-hook{/preview-bop-level dup load dup 0 le{/isls false def%
0076           /vsize 792 def/hsize 612 def}if 1 add store}bind def%
0077       /eop-hook{/preview-bop-level dup load dup 0 gt{1 sub}if
0078         store}bind def end}}}}
0079 \DeclareOption{pdftex}{%
0080   \let\pr@graphicstype\tw@}
0081 \DeclareOption{xetex}{%
0082   \let\pr@graphicstype\thr@@}
0083 \begingroup
0084 \catcode`\*=11
0085 \@firstofone{\endgroup
0086 \DeclareOption{displaymath}{%
0087   \preview@delay{\toks@{%
0088       \pr@startbox{\noindent$$%
0089         \aftergroup\pr@endbox\@gobbletwo}{$$}\@firstofone}%
0090     \everydisplay\expandafter{\the\expandafter\toks@
0091       \expandafter{\the\everydisplay}}}%
0092   \pr@advise@ship\equation{\begingroup\aftergroup\pr@endbox
0093     \def\dt@ptrue{\m@ne=\m@ne}\noindent}%
0094     {\endgroup}%
0095   \pr@advise@ship\equation*{\begingroup\aftergroup\pr@endbox
0096     \def\dt@ptrue{\m@ne=\m@ne}\noindent}%
0097     {\endgroup}%
0098   \PreviewOpen[][\def\dt@ptrue{\m@ne=\m@ne}\noindent#1]\[%
0099   \PreviewClose\]%
0100   \PreviewEnvironment[][\noindent#1]{eqnarray}%
0101   \PreviewEnvironment[][\noindent#1]{eqnarray*}%
0102   \PreviewEnvironment{displaymath}%
0103 }}
0104 \begingroup
0105 \def\next#1#2{%
0106   \endgroup
0107   \DeclareOption{textmath}{%
0108     \PreviewEnvironment{math}%
0109     \preview@delay{\ifx#1\@undefined \let#1=$%$
0110       \fi\catcode`\$=\active
0111       \ifx\xyreuncatcodes\@undefined\else
0112         \edef\next{\catcode`@=\the\catcode`@\relax}%
0113         \makeatother\expandafter\xyreuncatcodes\next\fi}%
0114     \pr@advise@ship\(\pr@endaftergroup{}% \)
0115     \pr@advise@ship#1{\@firstoftwo{\let#1=#2%
0116         \futurelet\reserved@a\pr@textmathcheck}}{}}%
0117   \def\pr@textmathcheck{\expandafter\pr@endaftergroup
0118     \ifx\reserved@a#1{#2#2}\expandafter\@gobbletwo\fi#2}}
0119 \lccode`\~=`\$
0120 \lowercase{\expandafter\next\expandafter~}%
0121   \csname pr@\string$%$
0122   \endcsname
0123 \DeclareOption{graphics}{%
0124   \PreviewMacro[*[[!]{\includegraphics}%]]
0125 }
0126 \def\pr@floatfix#1#2{\ifx#1#2%
0127   \ifx#1\@undefined\else
0128   \PackageWarningNoLine{preview}{%
0129 Your document class has a bad definition^^J
0130 of \string#1, most likely^^J
0131 \string\let\string#1=\string#2^^J
0132 which has now been changed to^^J
0133 \string\def\string#1{\string#2}^^J
0134 because otherwise subsequent changes to \string#2^^J
0135 (like done by several packages changing float behaviour)^^J
0136 can't take effect on \string#1.^^J
0137 Please complain to your document class author}%
0138   \def#1{#2}\fi\fi}
0139 \begingroup
0140 \def\next#1#2{\endgroup
0141   \DeclareOption{floats}{%
0142     \pr@floatfix\endfigure\end@float
0143     \pr@floatfix\endtable\end@float
0144     \pr@floatfix#1\end@dblfloat
0145     \pr@floatfix#2\end@dblfloat
0146     \PreviewSnarfEnvironment[![]{@float}%]
0147     \PreviewSnarfEnvironment[![]{@dblfloat}%]
0148   }}
0149 \expandafter\next\csname endfigure*\expandafter\endcsname
0150   \csname endtable*\endcsname
0151 \DeclareOption{sections}{%
0152   \PreviewMacro[!!!!!!*[[!]{\@startsection}%]]
0153   \PreviewMacro[*[[!]{\chapter}%]]
0154 }
0155 \DeclareOption*
0156    {\InputIfFileExists{pr\CurrentOption.def}{}{\OptionNotUsed}}
0157 \def\PreviewMacro{\@ifstar\pr@starmacro\pr@macro}
0158 \long\def\pr@domacro#1#2{%
0159    \long\def\next##1{#2}%
0160    \pr@callafter\next#1]\pr@endparse}
0161 \newcommand\pr@macro[1][]{%
0162    \toks@{\pr@domacro{#1}}%
0163    \long\edef\next[##1]##2{%
0164     \noexpand\pr@advise@ship{##2}{\the\toks@{##1\noexpand\pr@endbox}}{}}%
0165    \@ifnextchar[\next\pr@macroii}
0166 \def\pr@macroii{\next[##1]}
0167 \long\def\pr@endmacro#1{#1\pr@endbox}
0168 \long\def\pr@protect@domacro#1#2{\pr@protect{%
0169     \long\def\next##1{#2}%
0170     \pr@callafter\next#1]\pr@endparse}}
0171 \newcommand\pr@starmacro[1][]{\toks@{\pr@protect@domacro{#1}}%
0172     \long\edef\next[##1]##2{%
0173       \noexpand\pr@advise##2{\the\toks@{##1}}}%
0174     \@ifnextchar[\next{\next[]}}
0175 \def\PreviewOpen{\@ifstar\pr@starmacro\pr@open}
0176 \newcommand\pr@open[1][]{%
0177    \toks@{\pr@domacro{#1}}%
0178    \long\edef\next[##1]##2{%
0179      \noexpand\pr@advise##2{\begingroup
0180      \noexpand\pr@protect@ship
0181         {\the\toks@{\begingroup\aftergroup\noexpand\pr@endbox##1}}%
0182         {\endgroup}}}%
0183    \@ifnextchar[\next\pr@macroii}
0184 \def\PreviewClose{\@ifstar\pr@starmacro\pr@close}
0185 \newcommand\pr@close[1][]{%
0186   \toks@{\pr@domacro{#1}}%
0187   \long\edef\next[##1]##2{%
0188    \noexpand\pr@advise{##2}{\the\toks@{##1\endgroup}}}%
0189    \@ifnextchar[\next\pr@macroii}
0190 \def\PreviewEnvironment{\@ifstar\pr@starenv\pr@env}
0191 \newcommand\pr@starenv[1][]{\toks@{\pr@starmacro[{#1}]}%
0192   \long\edef\next##1##2{%
0193     \the\toks@[{##2}]##1}%
0194   \begingroup\pr@starenvii}
0195 \newcommand\pr@starenvii[2][]{\endgroup
0196   \expandafter\next\csname#2\endcsname{#1}%
0197   \expandafter\pr@starmacro\csname end#2\endcsname}
0198 \newcommand\pr@env[1][]{%
0199    \toks@{\pr@domacro{#1}}%
0200    \long\edef\next[##1]##2{%
0201    \noexpand\expandafter\noexpand\pr@advise@ship
0202      \noexpand\csname##2\noexpand\endcsname{\the\toks@
0203       {\begingroup\aftergroup\noexpand\pr@endbox##1}}{\endgroup}}%
0204    \@ifnextchar[\next\pr@macroii %]
0205  }
0206 \newcommand{\PreviewSnarfEnvironment}[2][]{%
0207   \expandafter\pr@advise
0208    \csname #2\endcsname{\pr@snarfafter{#1}}%
0209  \expandafter\pr@advise
0210    \csname end#2\endcsname{\pr@endsnarf}}
0211 \let\pr@ship@start\@empty
0212 \let\pr@ship@end\@empty
0213 \newenvironment{preview}{\ignorespaces}{\ifhmode\unskip\fi}
0214 \newenvironment{nopreview}{\ignorespaces}{\ifhmode\unskip\fi}
0215 \ProcessOptions\relax
0216 \ifPreview\else\expandafter\endinput\fi
0217 %%    The preview style for extracting previews from LaTeX documents.
0218 %%    Developed as part of AUCTeX <URL:http://www.gnu.org/software/auctex>.
0219 \newif\ifpr@outer
0220 \pr@outertrue
0221 \newcount\pr@snippet
0222 \global\pr@snippet=1
0223 \def\pr@protect{\ifx\protect\@typeset@protect
0224   \ifpr@outer \expandafter\expandafter\expandafter
0225      \@secondoftwo\fi\fi\@gobble}
0226 \def\pr@protect@ship{\pr@protect{\@firstoftwo\pr@startbox}%
0227    \@gobbletwo}
0228 \def\pr@insert{\begingroup\afterassignment\pr@insertii\count@}
0229 \def\pr@insertii{\endgroup\setbox\pr@box\vbox}
0230 \def\pr@mark{{\afterassignment}\toks@}
0231 \def\pr@marks{{\aftergroup\pr@mark\afterassignment}\count@}
0232 \newbox\pr@box
0233 \long\def\pr@startbox#1#2{%
0234   \ifpr@outer
0235     \toks@{#2}%
0236     \edef\pr@cleanup{\the\toks@}%
0237     \setbox\pr@box\vbox\bgroup
0238     \break
0239     \pr@outerfalse\@arrayparboxrestore
0240     \let\insert\pr@insert
0241     \let\mark\pr@mark
0242     \let\marks\pr@marks
0243     \expandafter\expandafter\expandafter
0244     \pr@ship@start
0245     \expandafter\@firstofone
0246   \else
0247      \expandafter \@gobble
0248   \fi{#1}}
0249 \def\pr@endbox{%
0250    \let\reserved@a\relax
0251    \ifvmode \edef\reserved@a{\the\everypar}%
0252       \ifx\reserved@a\@empty\else
0253             \dimen@\prevdepth
0254             \noindent\par
0255             \setbox\z@\lastbox\unskip\unpenalty
0256             \prevdepth\dimen@
0257             \setbox\z@\hbox\bgroup\penalty-\maxdimen\unhbox\z@
0258               \ifnum\lastpenalty=-\maxdimen\egroup
0259               \else\egroup\box\z@ \fi\fi\fi
0260    \ifhmode \par\unskip\setbox\z@\lastbox
0261      \nointerlineskip\hbox{\unhbox\z@\/}%
0262    \else \unskip\unpenalty\unskip \fi
0263    \egroup
0264    \setbox\pr@box\vbox{%
0265        \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
0266        \@begindvi
0267        \nointerlineskip
0268        \splittopskip\z@skip\setbox\z@\vsplit\pr@box to\z@
0269        \unvbox\z@
0270        \nointerlineskip
0271        %\color@setgroup
0272        \box\pr@box
0273        %\color@endgroup
0274      }%
0275    \pr@ship@end
0276    {\let\protect\noexpand
0277    \ifx\pr@offset@override\@undefined
0278      \voffset=-\ht\pr@box
0279      \hoffset=\z@
0280    \fi
0281    \c@page=\pr@snippet
0282    \pr@shipout
0283    \ifpr@fixbb\hbox{%
0284      \dimen@\wd\pr@box
0285      \@tempdima\ht\pr@box
0286      \@tempdimb\dp\pr@box
0287      \box\pr@box
0288      \llap{\raise\@tempdima\copy\pr@markerbox\kern\dimen@}%
0289      \lower\@tempdimb\copy\pr@markerbox}%
0290    \else \box\pr@box \fi}%
0291    \global\advance\pr@snippet\@ne
0292    \pr@cleanup
0293 }
0294 \let\pr@shipout=\shipout
0295 \def\shipout{\deadcycles\z@\bgroup\setbox\z@\box\voidb@x
0296   \afterassignment\pr@shipoutegroup\setbox\z@}
0297 \def\pr@shipoutegroup{\ifvoid\z@ \expandafter\aftergroup\fi \egroup}
0298 \def\pr@parseit#1{\csname pr@parse#1\endcsname}
0299 \let\pr@endparse=\@percentchar
0300 \def\next#1{%
0301 \def\pr@callafter{%
0302   \afterassignment\pr@parseit
0303   \let#1= }}
0304 \expandafter\next\csname pr@parse\pr@endparse\endcsname
0305 \long\expandafter\def\csname pr@parse*\endcsname#1\pr@endparse#2{%
0306   \begingroup\toks@{#1\pr@endparse{#2}}%
0307   \edef\next##1{\endgroup##1\the\toks@}%
0308   \@ifstar{\next{\pr@parse@*}}{\next\pr@parseit}}
0309 \long\expandafter\def\csname pr@parse[\endcsname#1\pr@endparse#2{%
0310   \begingroup\toks@{#1\pr@endparse{#2}}%
0311   \edef\next##1{\endgroup##1\the\toks@}%
0312   \@ifnextchar[{\next\pr@bracket}{\next\pr@parseit}}
0313 \long\def\pr@bracket#1\pr@endparse#2[#3]{%
0314    \pr@parseit#1\pr@endparse{#2[{#3}]}}
0315 \expandafter\let\csname pr@parse]\endcsname=\pr@parseit
0316 \long\def\pr@parse#1\pr@endparse#2#3{%
0317   \pr@parseit#1\pr@endparse{#2{#3}}}
0318 \expandafter\let\csname pr@parse!\endcsname=\pr@parse
0319 \long\expandafter\def\csname pr@parse?\endcsname#1#2\pr@endparse#3{%
0320   \begingroup\toks@{#2\pr@endparse{#3}}%
0321   \@ifnextchar#1{\pr@parsecond\@firstoftwo}%
0322                 {\pr@parsecond\@secondoftwo}}
0323 \def\pr@parsecond#1{\expandafter\endgroup
0324   \expandafter\expandafter\expandafter\pr@parseit
0325   \expandafter#1\the\toks@}
0326  \long\def\pr@parse@#1#2\pr@endparse#3{%
0327    \pr@parseit #2\pr@endparse{#3#1}}
0328 \long\expandafter\def\csname pr@parse-\endcsname
0329   #1\pr@endparse#2{\begingroup
0330   \toks@{\endgroup\pr@parseit #1\pr@endparse{#2}}%
0331   {\aftergroup\the\aftergroup\toks@ \afterassignment}%
0332   \let\next= }
0333 \long\expandafter\def\csname pr@parse:\endcsname
0334   #1#2#3\pr@endparse#4{\begingroup
0335     \toks@{\endgroup \pr@parseit#3\pr@endparse{#4}}%
0336     \long\def\next#1{#2}%
0337     \the\expandafter\toks@\next}
0338 \long\expandafter\def\csname pr@parse#\endcsname
0339   #1#2#3\pr@endparse#4{\begingroup
0340     \toks@{#4}%
0341     \long\edef\next##1{\toks@{\the\toks@##1}}%
0342     \toks@{\endgroup \pr@parseit#3\pr@endparse}%
0343     \long\def\reserved@a#1{{#2}}%
0344     \the\expandafter\next\reserved@a}
0345 \def\pr@endaftergroup#1{#1\aftergroup\pr@endbox}
0346 \let\pr@endsnarf\relax
0347 \long\def\pr@snarfafter#1{\ifpr@outer
0348      \pr@ship@start
0349      \let\pr@ship@start\relax
0350      \let\pr@endsnarf\endgroup
0351    \else
0352      \let\pr@endsnarf\relax
0353    \fi
0354   \pr@protect{\pr@callafter\pr@startsnarf#1]\pr@endparse}}
0355 \def\pr@startsnarf#1{#1\begingroup
0356    \pr@startbox{\begingroup\aftergroup\pr@endbox}{\endgroup}%
0357    \ignorespaces}
0358 \renewenvironment{preview}{\begingroup
0359    \pr@startbox{\begingroup\aftergroup\pr@endbox}%
0360                {\endgroup}%
0361    \ignorespaces}%
0362    {\ifhmode\unskip\fi\endgroup}
0363 \renewenvironment{nopreview}{\pr@outerfalse\ignorespaces}%
0364   {\ifhmode\unskip\fi}
0365 \newtoks\pr@output
0366 \pr@output\output
0367 \output{%
0368   \pr@outerfalse
0369   \let\@begindvi\@empty
0370   \the\pr@output}
0371 \let\output\pr@output
0372 \def\pr@typeinfos{\typeout{Preview: Fontsize \f@size pt}%
0373   \ifnum\mag=\@m\else\typeout{Preview: Magnification \number\mag}\fi
0374   \ifx\pdfoutput\@undefined
0375     \ifx\XeTeXversion\@undefined \else
0376       % FIXME: The message should not be emitted if XeTeX does not produce
0377       % PDF.  There does not seem to be a primitive for that, though.
0378       \typeout{Preview: PDFoutput 1}%
0379     \fi
0380   \else
0381     \ifx\pdfoutput\relax \else
0382       \ifnum\pdfoutput>\z@
0383         \typeout{Preview: PDFoutput 1}%
0384       \fi
0385     \fi
0386   \fi
0387 }
0388 \AtBeginDocument{\pr@typeinfos}
0389 \pr@loadcfg{prdefault}
0390 \endinput
0391 %%
0392 %% End of file `preview.sty'.