From 574ac31af09708587fc784b607ce9a0842a9dd69 Mon Sep 17 00:00:00 2001 From: Karl Berry 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 +%% +\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