summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/latex/preview.sty
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/latex/preview.sty')
-rw-r--r--elpa/auctex-13.1.3/latex/preview.sty409
1 files changed, 409 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/latex/preview.sty b/elpa/auctex-13.1.3/latex/preview.sty
new file mode 100644
index 0000000..11f5990
--- /dev/null
+++ b/elpa/auctex-13.1.3/latex/preview.sty
@@ -0,0 +1,409 @@
+%%
+%% This is file `preview.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% preview.dtx (with options: `style')
+%% preview.dtx (with options: `style,active')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from preview.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file preview.dtx preview.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% The preview style for extracting previews from LaTeX documents.
+%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
+\NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3:
+#4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1}
+\begingroup \catcode`\_=12
+\reserved@a\pr@version $Name: release_13_1 $ \ifx\pr@version\@empty
+\reserved@a\pr@version CVS-$Revision: 1.126 $ \endgroup \else
+ \def\next release_{} \lccode`\_=`.
+ \edef\next{\lowercase{\endgroup
+ \def\noexpand\pr@version{\expandafter\next\pr@version}}} \next \fi
+\reserved@a\next $Date: 2017/04/24 13:20:00 $
+\edef\next{\noexpand\ProvidesPackage{preview}%
+ [\next\space \pr@version\space (AUCTeX/preview-latex)]}
+\next
+\let\ifPreview\iffalse
+\let\preview@delay=\@gobble
+\let\pr@advise=\@gobbletwo
+\long\def\pr@advise@ship#1#2#3{}
+\def\pr@loadcfg#1{\InputIfFileExists{#1.cfg}{}{}}
+\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
+\DeclareOption{noconfig}{\let\pr@loadcfg=\@gobble}
+\long\def\pr@addto@front#1#2{%
+ \toks@{#2}\toks@\expandafter{\the\expandafter\toks@#1}%
+ \xdef#1{\the\toks@}}
+\DeclareOption{active}{%
+ \let\ifPreview\iftrue
+ \def\pr@advise#1{%
+ \expandafter\pr@adviseii\csname pr@\string#1\endcsname#1}%
+ \long\def\pr@advise@ship#1#2#3{\pr@advise#1{\pr@protect@ship{#2}{#3}}}%
+ \let\preview@delay\@firstofone}
+\long\def\pr@adviseii#1#2#3{\preview@delay{%
+ \ifx#1\relax \let#1#2\fi
+ \toks@{#3#1}%
+ \ifx\@undefined\protected \else \protected\fi
+ \long\edef#2{\the\toks@}}}
+\DeclareOption{delayed}{%
+ \ifPreview \def\preview@delay{\AtBeginDocument}\fi
+}
+\newif\ifpr@fixbb
+\pr@fixbbfalse
+\DeclareOption{psfixbb}{\ifPreview%
+ \pr@fixbbtrue
+ \newbox\pr@markerbox
+ \setbox\pr@markerbox\hbox{\special{psfile=/dev/null}}\fi
+}
+\let\pr@graphicstype=\z@
+\DeclareOption{dvips}{%
+ \let\pr@graphicstype\@ne
+ \preview@delay{\AtBeginDvi{%
+ \special{!/preview@version(\pr@version)def}
+ \special{!userdict begin/preview-bop-level 0 def%
+ /bop-hook{/preview-bop-level dup load dup 0 le{/isls false def%
+ /vsize 792 def/hsize 612 def}if 1 add store}bind def%
+ /eop-hook{/preview-bop-level dup load dup 0 gt{1 sub}if
+ store}bind def end}}}}
+\DeclareOption{pdftex}{%
+ \let\pr@graphicstype\tw@}
+\DeclareOption{xetex}{%
+ \let\pr@graphicstype\thr@@}
+\begingroup
+\catcode`\*=11
+\@firstofone{\endgroup
+\DeclareOption{displaymath}{%
+ \preview@delay{\toks@{%
+ \pr@startbox{\noindent$$%
+ \aftergroup\pr@endbox\@gobbletwo}{$$}\@firstofone}%
+ \everydisplay\expandafter{\the\expandafter\toks@
+ \expandafter{\the\everydisplay}}}%
+ \pr@advise@ship\equation{\begingroup\aftergroup\pr@endbox
+ \def\dt@ptrue{\m@ne=\m@ne}\noindent}%
+ {\endgroup}%
+ \pr@advise@ship\equation*{\begingroup\aftergroup\pr@endbox
+ \def\dt@ptrue{\m@ne=\m@ne}\noindent}%
+ {\endgroup}%
+ \PreviewOpen[][\def\dt@ptrue{\m@ne=\m@ne}\noindent#1]\[%
+ \PreviewClose\]%
+ \PreviewEnvironment[][\noindent#1]{eqnarray}%
+ \PreviewEnvironment[][\noindent#1]{eqnarray*}%
+ \PreviewEnvironment{displaymath}%
+}}
+\begingroup
+\def\next#1#2{%
+ \endgroup
+ \DeclareOption{textmath}{%
+ \PreviewEnvironment{math}%
+ \preview@delay{\ifx#1\@undefined \let#1=$%$
+ \fi\catcode`\$=\active
+ \ifx\xyreuncatcodes\@undefined\else
+ \edef\next{\catcode`@=\the\catcode`@\relax}%
+ \makeatother\expandafter\xyreuncatcodes\next\fi}%
+ \pr@advise@ship\(\pr@endaftergroup{}% \)
+ \pr@advise@ship#1{\@firstoftwo{\let#1=#2%
+ \futurelet\reserved@a\pr@textmathcheck}}{}}%
+ \def\pr@textmathcheck{\expandafter\pr@endaftergroup
+ \ifx\reserved@a#1{#2#2}\expandafter\@gobbletwo\fi#2}}
+\lccode`\~=`\$
+\lowercase{\expandafter\next\expandafter~}%
+ \csname pr@\string$%$
+ \endcsname
+\DeclareOption{graphics}{%
+ \PreviewMacro[*[[!]{\includegraphics}%]]
+}
+\def\pr@floatfix#1#2{\ifx#1#2%
+ \ifx#1\@undefined\else
+ \PackageWarningNoLine{preview}{%
+Your document class has a bad definition^^J
+of \string#1, most likely^^J
+\string\let\string#1=\string#2^^J
+which has now been changed to^^J
+\string\def\string#1{\string#2}^^J
+because otherwise subsequent changes to \string#2^^J
+(like done by several packages changing float behaviour)^^J
+can't take effect on \string#1.^^J
+Please complain to your document class author}%
+ \def#1{#2}\fi\fi}
+\begingroup
+\def\next#1#2{\endgroup
+ \DeclareOption{floats}{%
+ \pr@floatfix\endfigure\end@float
+ \pr@floatfix\endtable\end@float
+ \pr@floatfix#1\end@dblfloat
+ \pr@floatfix#2\end@dblfloat
+ \PreviewSnarfEnvironment[![]{@float}%]
+ \PreviewSnarfEnvironment[![]{@dblfloat}%]
+ }}
+\expandafter\next\csname endfigure*\expandafter\endcsname
+ \csname endtable*\endcsname
+\DeclareOption{sections}{%
+ \PreviewMacro[!!!!!!*[[!]{\@startsection}%]]
+ \PreviewMacro[*[[!]{\chapter}%]]
+}
+\DeclareOption*
+ {\InputIfFileExists{pr\CurrentOption.def}{}{\OptionNotUsed}}
+\def\PreviewMacro{\@ifstar\pr@starmacro\pr@macro}
+\long\def\pr@domacro#1#2{%
+ \long\def\next##1{#2}%
+ \pr@callafter\next#1]\pr@endparse}
+\newcommand\pr@macro[1][]{%
+ \toks@{\pr@domacro{#1}}%
+ \long\edef\next[##1]##2{%
+ \noexpand\pr@advise@ship{##2}{\the\toks@{##1\noexpand\pr@endbox}}{}}%
+ \@ifnextchar[\next\pr@macroii}
+\def\pr@macroii{\next[##1]}
+\long\def\pr@endmacro#1{#1\pr@endbox}
+\long\def\pr@protect@domacro#1#2{\pr@protect{%
+ \long\def\next##1{#2}%
+ \pr@callafter\next#1]\pr@endparse}}
+\newcommand\pr@starmacro[1][]{\toks@{\pr@protect@domacro{#1}}%
+ \long\edef\next[##1]##2{%
+ \noexpand\pr@advise##2{\the\toks@{##1}}}%
+ \@ifnextchar[\next{\next[]}}
+\def\PreviewOpen{\@ifstar\pr@starmacro\pr@open}
+\newcommand\pr@open[1][]{%
+ \toks@{\pr@domacro{#1}}%
+ \long\edef\next[##1]##2{%
+ \noexpand\pr@advise##2{\begingroup
+ \noexpand\pr@protect@ship
+ {\the\toks@{\begingroup\aftergroup\noexpand\pr@endbox##1}}%
+ {\endgroup}}}%
+ \@ifnextchar[\next\pr@macroii}
+\def\PreviewClose{\@ifstar\pr@starmacro\pr@close}
+\newcommand\pr@close[1][]{%
+ \toks@{\pr@domacro{#1}}%
+ \long\edef\next[##1]##2{%
+ \noexpand\pr@advise{##2}{\the\toks@{##1\endgroup}}}%
+ \@ifnextchar[\next\pr@macroii}
+\def\PreviewEnvironment{\@ifstar\pr@starenv\pr@env}
+\newcommand\pr@starenv[1][]{\toks@{\pr@starmacro[{#1}]}%
+ \long\edef\next##1##2{%
+ \the\toks@[{##2}]##1}%
+ \begingroup\pr@starenvii}
+\newcommand\pr@starenvii[2][]{\endgroup
+ \expandafter\next\csname#2\endcsname{#1}%
+ \expandafter\pr@starmacro\csname end#2\endcsname}
+\newcommand\pr@env[1][]{%
+ \toks@{\pr@domacro{#1}}%
+ \long\edef\next[##1]##2{%
+ \noexpand\expandafter\noexpand\pr@advise@ship
+ \noexpand\csname##2\noexpand\endcsname{\the\toks@
+ {\begingroup\aftergroup\noexpand\pr@endbox##1}}{\endgroup}}%
+ \@ifnextchar[\next\pr@macroii %]
+ }
+\newcommand{\PreviewSnarfEnvironment}[2][]{%
+ \expandafter\pr@advise
+ \csname #2\endcsname{\pr@snarfafter{#1}}%
+ \expandafter\pr@advise
+ \csname end#2\endcsname{\pr@endsnarf}}
+\let\pr@ship@start\@empty
+\let\pr@ship@end\@empty
+\newenvironment{preview}{\ignorespaces}{\ifhmode\unskip\fi}
+\newenvironment{nopreview}{\ignorespaces}{\ifhmode\unskip\fi}
+\ProcessOptions\relax
+\ifPreview\else\expandafter\endinput\fi
+%% The preview style for extracting previews from LaTeX documents.
+%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
+\newif\ifpr@outer
+\pr@outertrue
+\newcount\pr@snippet
+\global\pr@snippet=1
+\def\pr@protect{\ifx\protect\@typeset@protect
+ \ifpr@outer \expandafter\expandafter\expandafter
+ \@secondoftwo\fi\fi\@gobble}
+\def\pr@protect@ship{\pr@protect{\@firstoftwo\pr@startbox}%
+ \@gobbletwo}
+\def\pr@insert{\begingroup\afterassignment\pr@insertii\count@}
+\def\pr@insertii{\endgroup\setbox\pr@box\vbox}
+\def\pr@mark{{\afterassignment}\toks@}
+\def\pr@marks{{\aftergroup\pr@mark\afterassignment}\count@}
+\newbox\pr@box
+\long\def\pr@startbox#1#2{%
+ \ifpr@outer
+ \toks@{#2}%
+ \edef\pr@cleanup{\the\toks@}%
+ \setbox\pr@box\vbox\bgroup
+ \break
+ \pr@outerfalse\@arrayparboxrestore
+ \let\insert\pr@insert
+ \let\mark\pr@mark
+ \let\marks\pr@marks
+ \expandafter\expandafter\expandafter
+ \pr@ship@start
+ \expandafter\@firstofone
+ \else
+ \expandafter \@gobble
+ \fi{#1}}
+\def\pr@endbox{%
+ \let\reserved@a\relax
+ \ifvmode \edef\reserved@a{\the\everypar}%
+ \ifx\reserved@a\@empty\else
+ \dimen@\prevdepth
+ \noindent\par
+ \setbox\z@\lastbox\unskip\unpenalty
+ \prevdepth\dimen@
+ \setbox\z@\hbox\bgroup\penalty-\maxdimen\unhbox\z@
+ \ifnum\lastpenalty=-\maxdimen\egroup
+ \else\egroup\box\z@ \fi\fi\fi
+ \ifhmode \par\unskip\setbox\z@\lastbox
+ \nointerlineskip\hbox{\unhbox\z@\/}%
+ \else \unskip\unpenalty\unskip \fi
+ \egroup
+ \setbox\pr@box\vbox{%
+ \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
+ \@begindvi
+ \nointerlineskip
+ \splittopskip\z@skip\setbox\z@\vsplit\pr@box to\z@
+ \unvbox\z@
+ \nointerlineskip
+ %\color@setgroup
+ \box\pr@box
+ %\color@endgroup
+ }%
+ \pr@ship@end
+ {\let\protect\noexpand
+ \ifx\pr@offset@override\@undefined
+ \voffset=-\ht\pr@box
+ \hoffset=\z@
+ \fi
+ \c@page=\pr@snippet
+ \pr@shipout
+ \ifpr@fixbb\hbox{%
+ \dimen@\wd\pr@box
+ \@tempdima\ht\pr@box
+ \@tempdimb\dp\pr@box
+ \box\pr@box
+ \llap{\raise\@tempdima\copy\pr@markerbox\kern\dimen@}%
+ \lower\@tempdimb\copy\pr@markerbox}%
+ \else \box\pr@box \fi}%
+ \global\advance\pr@snippet\@ne
+ \pr@cleanup
+}
+\def\pr@@shipout{\deadcycles\z@\bgroup\setbox\z@\box\voidb@x
+ \afterassignment\pr@shipoutegroup\setbox\z@}
+\def\pr@shipoutegroup{\ifvoid\z@ \expandafter\aftergroup\fi \egroup}
+\ifx\shipout\@undefined
+ \begingroup
+ \catcode`\:=10
+ \catcode`\_=10
+ \ifx\tex_shipout:D\@undefined
+ \PackageError{preview}{Cannot find \protect\shipout\space primitive}%
+ {preview needs to replace the \protect\shipout\space primitive with
+ its own routine to do its work. Due to packages or formats
+ interfering, it cannot be identified. Please report this.}
+ \else
+ \global\let\pr@shipout=\tex_shipout:D
+ \global\let\tex_shipout:D=\pr@@shipout
+ \fi
+ \endgroup
+\else
+ \let\pr@shipout=\shipout
+ \let\shipout=\pr@@shipout
+\fi
+\def\pr@parseit#1{\csname pr@parse#1\endcsname}
+\let\pr@endparse=\@percentchar
+\def\next#1{%
+\def\pr@callafter{%
+ \afterassignment\pr@parseit
+ \let#1= }}
+\expandafter\next\csname pr@parse\pr@endparse\endcsname
+\long\expandafter\def\csname pr@parse*\endcsname#1\pr@endparse#2{%
+ \begingroup\toks@{#1\pr@endparse{#2}}%
+ \edef\next##1{\endgroup##1\the\toks@}%
+ \@ifstar{\next{\pr@parse@*}}{\next\pr@parseit}}
+\long\expandafter\def\csname pr@parse[\endcsname#1\pr@endparse#2{%
+ \begingroup\toks@{#1\pr@endparse{#2}}%
+ \edef\next##1{\endgroup##1\the\toks@}%
+ \@ifnextchar[{\next\pr@bracket}{\next\pr@parseit}}
+\long\def\pr@bracket#1\pr@endparse#2[#3]{%
+ \pr@parseit#1\pr@endparse{#2[{#3}]}}
+\expandafter\let\csname pr@parse]\endcsname=\pr@parseit
+\long\def\pr@parse#1\pr@endparse#2#3{%
+ \pr@parseit#1\pr@endparse{#2{#3}}}
+\expandafter\let\csname pr@parse!\endcsname=\pr@parse
+\long\expandafter\def\csname pr@parse?\endcsname#1#2\pr@endparse#3{%
+ \begingroup\toks@{#2\pr@endparse{#3}}%
+ \@ifnextchar#1{\pr@parsecond\@firstoftwo}%
+ {\pr@parsecond\@secondoftwo}}
+\def\pr@parsecond#1{\expandafter\endgroup
+ \expandafter\expandafter\expandafter\pr@parseit
+ \expandafter#1\the\toks@}
+ \long\def\pr@parse@#1#2\pr@endparse#3{%
+ \pr@parseit #2\pr@endparse{#3#1}}
+\long\expandafter\def\csname pr@parse-\endcsname
+ #1\pr@endparse#2{\begingroup
+ \toks@{\endgroup\pr@parseit #1\pr@endparse{#2}}%
+ {\aftergroup\the\aftergroup\toks@ \afterassignment}%
+ \let\next= }
+\long\expandafter\def\csname pr@parse:\endcsname
+ #1#2#3\pr@endparse#4{\begingroup
+ \toks@{\endgroup \pr@parseit#3\pr@endparse{#4}}%
+ \long\def\next#1{#2}%
+ \the\expandafter\toks@\next}
+\long\expandafter\def\csname pr@parse#\endcsname
+ #1#2#3\pr@endparse#4{\begingroup
+ \toks@{#4}%
+ \long\edef\next##1{\toks@{\the\toks@##1}}%
+ \toks@{\endgroup \pr@parseit#3\pr@endparse}%
+ \long\def\reserved@a#1{{#2}}%
+ \the\expandafter\next\reserved@a}
+\def\pr@endaftergroup#1{#1\aftergroup\pr@endbox}
+\let\pr@endsnarf\relax
+\long\def\pr@snarfafter#1{\ifpr@outer
+ \pr@ship@start
+ \let\pr@ship@start\relax
+ \let\pr@endsnarf\endgroup
+ \else
+ \let\pr@endsnarf\relax
+ \fi
+ \pr@protect{\pr@callafter\pr@startsnarf#1]\pr@endparse}}
+\def\pr@startsnarf#1{#1\begingroup
+ \pr@startbox{\begingroup\aftergroup\pr@endbox}{\endgroup}%
+ \ignorespaces}
+\renewenvironment{preview}{\begingroup
+ \pr@startbox{\begingroup\aftergroup\pr@endbox}%
+ {\endgroup}%
+ \ignorespaces}%
+ {\ifhmode\unskip\fi\endgroup}
+\renewenvironment{nopreview}{\pr@outerfalse\ignorespaces}%
+ {\ifhmode\unskip\fi}
+\newtoks\pr@output
+\pr@output\output
+\output{%
+ \pr@outerfalse
+ \let\@begindvi\@empty
+ \the\pr@output}
+\let\output\pr@output
+\def\pr@typeinfos{\typeout{Preview: Fontsize \f@size pt}%
+ \ifnum\mag=\@m\else\typeout{Preview: Magnification \number\mag}\fi
+ \ifx\pdfoutput\@undefined
+ \ifx\XeTeXversion\@undefined \else
+ % FIXME: The message should not be emitted if XeTeX does not produce
+ % PDF. There does not seem to be a primitive for that, though.
+ \typeout{Preview: PDFoutput 1}%
+ \fi
+ \else
+ \ifx\pdfoutput\relax \else
+ \ifnum\pdfoutput>\z@
+ \typeout{Preview: PDFoutput 1}%
+ \fi
+ \fi
+ \fi
+}
+\AtBeginDocument{\pr@typeinfos}
+\pr@loadcfg{prdefault}
+\endinput
+%%
+%% End of file `preview.sty'.