%% This file contains the ntabbing.sty %% Written by Gideon Stupp stupp@math.tau.ac.il %% %% The ntabbing environment is an extension of the tabbing environment. %% Two commands added: %% \label{} - enumerates the and gives %% a reference to the line just like any \label operation. %% %% \reset - Resets line numbering. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ntabbing}[2000/03/20 v2.0 tabbing enhancements] \newcounter{g@linecounter} \newbox\g@numbox% \newdimen\numboxsize \numboxsize=1.5em% \newbox\g@seperator \setbox\g@seperator=\hbox{:} \gdef\g@setnumbox{ \refstepcounter{g@linecounter}% \global\setbox\g@numbox=\hbox to\numboxsize{\hfil \theg@linecounter\copy\g@seperator\hfil } } % newlabel increments counter and set numbox. Empty labels are not passed to old label. \gdef\g@newlabel#1{\g@setnumbox\ifx#1\@empty\else\g@oldlabel{#1}\fi} % Change tabbing startline to give empty default value to numbox \gdef\g@newstartline{\global\setbox\g@numbox=\hbox to\numboxsize{} \g@oldstartline} % Change tabbing stopline to print numbox before current line. \gdef\g@newstopline{\unskip\@stopfield\if@rjfield \global\@rjfieldfalse \@tempdima\@totalleftmargin \advance\@tempdima\linewidth \hb@xt@\@tempdima{\@itemfudge\box\g@numbox\hskip\dimen\@curtabmar \box\@curline\hfil\box\@curfield}\else\@addfield \hbox{\@itemfudge\box\g@numbox\hskip\dimen\@curtabmar\box\@curline}\fi} %ntabbing environment definition. \def\ntabbing{ \def\reset{\setcounter{g@linecounter}{0}} \let\g@oldstopline=\@stopline \let\@stopline=\g@newstopline \let\g@oldstartline=\@startline \let\@startline=\g@newstartline \let\g@oldlabel=\label \let\label=\g@newlabel \let\g@oldcaption=\caption % redefine \caption{} to support the old \label \def\caption##1{\let\label=\g@oldlabel \g@oldcaption{##1}} \tabbing } % Of ntabbing. \def\endntabbing {\endtabbing}