summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/srcltx/srcltx.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:07:36 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:07:36 +0000
commit574ac31af09708587fc784b607ce9a0842a9dd69 (patch)
tree5be50fdf9b6ac7c81a0d25bc18ac85ede9f3c819 /Master/texmf-dist/tex/latex/srcltx/srcltx.sty
parentd8423e5072980906b09f74bf85a2f142486e5374 (diff)
srcltx
git-svn-id: svn://tug.org/texlive/trunk@1341 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/srcltx/srcltx.sty')
-rw-r--r--Master/texmf-dist/tex/latex/srcltx/srcltx.sty162
1 files changed, 162 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/srcltx/srcltx.sty b/Master/texmf-dist/tex/latex/srcltx/srcltx.sty
new file mode 100644
index 00000000000..9fea37aea90
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/srcltx/srcltx.sty
@@ -0,0 +1,162 @@
+%%
+%% This is file `srcltx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% srcltx.dtx (with options: `package,latex')
+%%
+%% This package is in the public domain. It comes with no guarantees
+%% and no reserved rights. You can use or modify this package at your
+%% own risk.
+%% Originally written by: Aleksander Simonic
+%% Current maintainer: Stefan Ulrich <stefanulrich@users.sourceforge.net>
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{srcltx}[2004/10/05 v1.5 Source specials for inverse search in DVI files]
+\newif\ifSRCOK \SRCOKtrue
+\newif\ifsrc@debug@
+\newif\ifsrc@dviwin@
+\newif\ifsrc@winedt@\src@winedt@true
+\newif\ifsrc@everypar@\src@everypar@true
+\newif\ifsrc@everymath@\src@everymath@true
+\RequirePackage{ifthen}
+\DeclareOption{active}{\SRCOKtrue}
+\DeclareOption{inactive}{\SRCOKfalse}
+\DeclareOption{nowinedt}{\src@winedt@false}
+\DeclareOption{debug}{\src@debug@true}
+\DeclareOption{nopar}{\global\src@everypar@false}
+\DeclareOption{nomath}{\global\src@everymath@false}
+\newcommand*\src@maybe@space{}
+\let\src@maybe@space\space
+\DeclareOption{dviwin}{\let\src@maybe@space\relax}
+\ExecuteOptions{active}
+\ProcessOptions
+\newcount\src@lastline
+\global\src@lastline=-1
+\newcommand*\src@debug{}
+\def\src@debug#1{\ifsrc@debug@\typeout{DBG: |#1|}\fi}
+\newcommand*\MainFile{}
+\def\MainFile{\jobname.tex}
+\newcommand*\CurrentInput{}
+\gdef\CurrentInput{\MainFile}
+\newcommand*\WinEdt{}
+\def\WinEdt#1{\ifsrc@winedt@\typeout{:#1}\fi}
+\newcommand\src@AfterFi{}
+\def\src@AfterFi#1\fi{\fi#1}
+\AtBeginDocument{%
+ \@ifpackageloaded{soul}{%
+ \let\src@SOUL@\SOUL@
+ \def\SOUL@#1{%
+ \ifSRCOK
+ \SRCOKfalse\src@SOUL@{#1}\SRCOKtrue
+ \else
+ \src@AfterFi\src@SOUL@{#1}%
+ \fi
+ }%
+ }{}%
+}
+\newcommand*\src@spec{}
+\def\src@spec{%
+ \ifSRCOK
+ \ifnum\inputlineno>\src@lastline
+ \global\src@lastline=\inputlineno
+ \src@debug{%
+ src:\the\inputlineno\src@maybe@space\CurrentInput}%
+ \special{src:\the\inputlineno\src@maybe@space\CurrentInput}%
+ \fi
+ \fi
+}
+\newcommand\src@before@file@hook{}
+\newcommand\src@after@file@hook{}
+\def\src@before@file@hook#1{%
+ \protected@xdef\CurrentInput{#1}%
+ \WinEdt{<+ \CurrentInput}%
+ \global\src@lastline=0
+ \ifSRCOK\special{src:1\CurrentInput}\fi
+}
+\def\src@after@file@hook#1{%
+ \WinEdt{<-}%
+ \global\src@lastline=\inputlineno
+ \global\advance\src@lastline by -1%
+ \gdef\CurrentInput{#1}%
+ \src@spec
+}
+\newcommand*\src@fname{}
+\newcommand*\src@getfilename@with@ext[2]{%
+ \src@@getfilename@with@ext#1.\end{#2}%
+ \PackageInfo{srcltx}{Expanded filename `#1' to `\src@fname'}%
+}
+\newcommand*\src@@getfilename@with@ext{}
+\def\src@@getfilename@with@ext#1.#2\end#3{%
+ \ifthenelse{\equal{#2}{}}{%
+ \def\src@fname{#1.#3}%
+ }{%
+ \ifthenelse{\equal{#2}{#3.}}{%
+ \def\src@fname{#1.#3}%
+ }{%
+ \def\src@fname{#1.#2#3}%
+ }%
+ }%
+}
+\newcommand*\src@include{}
+\newcommand*\src@@include{}
+\let\src@include\include
+\def\include#1{%
+ \src@spec
+ \clearpage
+ \expandafter\src@@include\expandafter{\CurrentInput}{#1}%
+}%
+\def\src@@include#1#2{%
+ \src@before@file@hook{#2.tex}%
+ \src@include{#2}%
+ \src@after@file@hook{#1}%
+}
+\newcommand*\src@input{}
+\newcommand*\src@@input{}
+\newcommand*\src@@@input{}
+\let\src@input\input
+\def\input{\src@spec\@ifnextchar\bgroup\src@@input\@@input}%
+\def\src@@input#1{%
+ \expandafter\src@@@input\expandafter{\CurrentInput}{#1}%
+}
+\def\src@@@input#1#2{%
+ \src@getfilename@with@ext{#2}{tex}% this sets \src@fname
+ \src@before@file@hook{\src@fname}%
+ \src@input{#2}%
+ \src@after@file@hook{#1}%
+}
+\newcommand\Input{}
+\let\Input\input
+\ifsrc@everypar@
+ \newcommand*\src@old@everypar{}
+ \let\src@old@everypar\everypar
+ \newtoks\src@new@everypar
+ \let\everypar\src@new@everypar
+ \everypar\expandafter{\the\src@old@everypar}
+ \src@old@everypar{\the\src@new@everypar\src@spec}
+\fi
+\ifsrc@everymath@
+ \def\@tempa#1\the\everymath#2\delimiter{{#1\src@spec\the\everymath#2}}
+ \frozen@everymath=\expandafter\@tempa\the\frozen@everymath\delimiter
+\fi
+\newcommand*\src@bibliography{}
+\newcommand*\src@@bibliography{}
+\let\src@bibliography\bibliography
+\def\bibliography#1{%
+ \expandafter\src@@bibliography\expandafter{\CurrentInput}{#1}%
+}
+\def\src@@bibliography#1#2{%
+ \src@before@file@hook{\jobname.bbl}%
+ \src@bibliography{#2}%
+ \src@after@file@hook{#1}%
+}
+\newcommand*\src@old@output{}
+\let\src@old@output\output
+\newtoks\src@new@output
+\let\output\src@new@output
+\output\expandafter{\the\src@old@output}
+\src@old@output{\SRCOKfalse\the\src@new@output}
+\endinput
+%%
+%% End of file `srcltx.sty'.