From 574ac31af09708587fc784b607ce9a0842a9dd69 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 13 Jan 2006 00:07:36 +0000
Subject: srcltx

git-svn-id: svn://tug.org/texlive/trunk@1341 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/srcltx/srcltx.sty | 162 ++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/srcltx/srcltx.sty

(limited to 'Master/texmf-dist/tex/latex/srcltx/srcltx.sty')

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'.
-- 
cgit v1.2.3

