diff options
author | Karl Berry <karl@freefriends.org> | 2007-09-03 16:42:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-09-03 16:42:39 +0000 |
commit | d4d1a38de7842f8d66c0e60fa6a702fd2deed84c (patch) | |
tree | 4cc6af7fca04683178cbc9dbf9d3f057e02f4e74 /Master/texmf-dist/tex/latex/changes | |
parent | f1d3e6c572a8075b14527a120c820c6a938f2947 (diff) |
new packages changes 0.5.1 (30aug07)
git-svn-id: svn://tug.org/texlive/trunk@4861 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/changes')
-rw-r--r-- | Master/texmf-dist/tex/latex/changes/changes.sty | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/changes/changes.sty b/Master/texmf-dist/tex/latex/changes/changes.sty new file mode 100644 index 00000000000..b4cf91a993e --- /dev/null +++ b/Master/texmf-dist/tex/latex/changes/changes.sty @@ -0,0 +1,261 @@ +%% +%% This is file `changes.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% changes.dtx (with options: `changes') +%% +%% changes.dtx +%% Copyright 2007 Ekkart Kleinod (ekkart@ekkart.de) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% The current maintainer of this work is Ekkart Kleinod. +%% +%% This work consists of the files +%% changes.drv +%% changes.dtx +%% changes.ins +%% README +%% and the derived files +%% changes.sty +%% changes.pdf +%% changes.example1.tex +%% changes.example2.tex +%% changes.example3.tex +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{changes} +[2007/08/27 v0.5.1 changes-Paket] +\typeout{*** changes-Paket 2007/08/27 v0.5.1 ***} +\RequirePackage{xkeyval} +\RequirePackage{ifthen} +\newboolean{Changes@optiondraft} +\setboolean{Changes@optiondraft}{true} +\DeclareOptionX{draft}{ + \typeout{Changes-Option 'draft'} +} +\DeclareOptionX{final}{ + \setboolean{Changes@optiondraft}{false} + \typeout{Changes-Option 'final'} +} +\ProcessOptionsX +\RequirePackage{xcolor} +\RequirePackage{pdfcolmk} +\RequirePackage{ulem} +\ifthenelse{\isundefined{\addto}} + { + \def\listchangesname{\"Anderungen} + \def\changesaddname{Eingef\"ugt} + \def\changesdeletename{Gel\"oscht} + \def\changesreplacename{Ersetzt} + \def\changesauthorname{Autor} + \def\changesanonymousname{Anonym} + \def\changesnoloc{\"Anderungsliste erst nach dem n\"achsten Durchlauf verf\"ugbar.} + }{ + \addto\captionsngerman{\def\listchangesname{\"Anderungen}} + \addto\captionsgerman{\def\listchangesname{\"Anderungen}} + \addto\captionsenglish{\def\listchangesname{Changes}} + + \addto\captionsngerman{\def\changesaddname{Eingef\"ugt}} + \addto\captionsgerman{\def\changesaddname{Eingef\"ugt}} + \addto\captionsenglish{\def\changesaddname{Added}} + + \addto\captionsngerman{\def\changesdeletename{Gel\"oscht}} + \addto\captionsgerman{\def\changesdeletename{Gel\"oscht}} + \addto\captionsenglish{\def\changesdeletename{Deleted}} + + \addto\captionsngerman{\def\changesreplacename{Ersetzt}} + \addto\captionsgerman{\def\changesreplacename{Ersetzt}} + \addto\captionsenglish{\def\changesreplacename{Replaced}} + + \addto\captionsngerman{\def\changesauthorname{Autor}} + \addto\captionsgerman{\def\changesauthorname{Autor}} + \addto\captionsenglish{\def\changesauthorname{Author}} + + \addto\captionsngerman{\def\changesanonymousname{Anonym}} + \addto\captionsgerman{\def\changesanonymousname{Anonym}} + \addto\captionsenglish{\def\changesanonymousname{anonymous}} + + \addto\captionsngerman{\def\changesnoloc{\"Anderungsliste erst nach dem n\"achsten \LaTeX-Lauf verf\"ugbar.}} + \addto\captionsgerman{\def\changesnoloc{\"Anderungsliste erst nach dem n\"achsten Durchlauf verf\"ugbar.}} + \addto\captionsenglish{\def\changesnoloc{List of changes is available after the next \LaTeX\ run.}} + } +\newcommand{\Changes@extension}{loc} +\newcommand{\setlocextension}[1]{ + \renewcommand{\Changes@extension}{#1} +} +\newcounter{Changes@AuthorCount} +\setcounter{Changes@AuthorCount}{0} +\newcounter{Changes@iAuthor} +\newcommand{\definechangesauthor}[3][\@empty]{ + \stepcounter{Changes@AuthorCount} + \@namedef{Changes@Author\theChanges@AuthorCount}{#2} + \@namedef{Changes@AuthorName#2}{#1} + \@namedef{Changes@AuthorColor#2}{#3} + \newcounter{Changes@AddCount#2} + \newcounter{Changes@DeleteCount#2} + \newcounter{Changes@ReplaceCount#2} + \colorlet{Changes@Color#2}{#3} +} +\definechangesauthor{\@empty}{blue} +\newboolean{Changes@AuthorPositionLeft} +\setboolean{Changes@AuthorPositionLeft}{false} +\newcommand{\Changes@AuthorMark}[1]{% + \textsuperscript{#1}% +} +\newcommand{\setauthormarkup}[2][left]{% + \ifthenelse{\equal{#1}{left}} + {\setboolean{Changes@AuthorPositionLeft}{true}} + {\setboolean{Changes@AuthorPositionLeft}{false}} + \renewcommand{\Changes@AuthorMark}[1]{#2} +} +\newcommand{\Changes@Remark}[2]{% + \footnote{\textcolor{Changes@Color#1}{#2}}% +} +\newcommand{\setremarkmarkup}[1]{% + \renewcommand{\Changes@Remark}[2]{#1}% +} +\newcommand{\Changes@temp}{\@empty} +\newcommand{\added}[1][\@empty]{% + \renewcommand{\Changes@temp}{#1}% + \Changes@added% +} +\newcommand{\Changes@added}[2][\@empty]{% + \ifthenelse{\boolean{Changes@optiondraft}}% + {% + \textcolor{Changes@Color\Changes@temp}{% + \ifthenelse{\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + #2% + \ifthenelse{\not\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + \ifthenelse{\equal{\@empty}{#1}}% + {}{\Changes@Remark{\Changes@temp}{#1}}% + }% + \stepcounter{Changes@AddCount\Changes@temp}% + }{#2}% +} +\newcommand{\deleted}[1][\@empty]{% + \renewcommand{\Changes@temp}{#1}% + \Changes@deleted% +} +\newcommand{\Changes@deleted}[2][\@empty]{% + \ifthenelse{\boolean{Changes@optiondraft}}% + {% + \textcolor{Changes@Color\Changes@temp}{% + \ifthenelse{\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + \sout{#2}% + \ifthenelse{\not\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + \ifthenelse{\equal{\@empty}{#1}}% + {}{\Changes@Remark{\Changes@temp}{#1}}% + }% + \stepcounter{Changes@DeleteCount\Changes@temp}% + }{\@bsphack \expandafter \@esphack}% +} +\newcommand{\replaced}[1][\@empty]{% + \renewcommand{\Changes@temp}{#1}% + \Changes@replaced% +} +\newcommand{\Changes@replaced}[3][\@empty]{% + \ifthenelse{\boolean{Changes@optiondraft}}% + {% + \textcolor{Changes@Color\Changes@temp}{% + \ifthenelse{\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + #2% + \sout{#3}% + \ifthenelse{\not\boolean{Changes@AuthorPositionLeft}}% + {\ifthenelse{\equal{\@empty}{\Changes@temp}}% + {}{\Changes@AuthorMark{\Changes@temp}}% + }{}% + \ifthenelse{\equal{\@empty}{#1}}% + {}{\Changes@Remark{\Changes@temp}{#1}}% + }% + \stepcounter{Changes@ReplaceCount\Changes@temp}% + }{#2}% +} +\def\changes@chopline#1;#2;#3;#4;#5;#6 \\{ + \def\Changes@InID{#1} + \def\Changes@InColor{#2} + \def\Changes@InName{#3} + \def\Changes@InAdded{#4} + \def\Changes@InDeleted{#5} + \def\Changes@InReplaced{#6} +} +\newcommand{\listofchanges}{% + \ifthenelse{\boolean{Changes@optiondraft}} + { + \section*{\listchangesname} + \IfFileExists{\jobname.\Changes@extension} + { + \newboolean{Changes@MoreLines} + \setboolean{Changes@MoreLines}{true} + \newread\Changes@InFile + \openin\Changes@InFile = \jobname.\Changes@extension + \whiledo{\boolean{Changes@MoreLines}}{ + \read\Changes@InFile to \Changes@Line + \ifeof\Changes@InFile + \setboolean{Changes@MoreLines}{false} + \else + \expandafter\changes@chopline\Changes@Line\\ + \begin{tabbing} + mm\=mmmmmm\=\kill + \ifthenelse{\equal{\Changes@InID}{}} + {\textcolor{\Changes@InColor}{\changesauthorname: \changesanonymousname}\\} + {\textcolor{\Changes@InColor}{\changesauthorname: \Changes@InID} + \ifthenelse{\equal{\Changes@InName}{}}{} + { \textcolor{\Changes@InColor}{(\Changes@InName)}} + \\ + } + \>\changesaddname:\>\Changes@InAdded\\ + \>\changesdeletename:\>\Changes@InDeleted\\ + \>\changesreplacename:\>\Changes@InReplaced\\ + \end{tabbing} + \fi + } + \closein\Changes@InFile + }{ + \emph{\changesnoloc} + } + }{} +} +\AtEndDocument{ + \newwrite\Changes@OutFile + \immediate\openout\Changes@OutFile = \jobname.\Changes@extension + \setcounter{Changes@iAuthor}{0} + \whiledo{\value{Changes@iAuthor} < \value{Changes@AuthorCount}}{ + \stepcounter{Changes@iAuthor} + \def\Changes@ID{\@nameuse{Changes@Author\theChanges@iAuthor}} + \immediate\write\Changes@OutFile{\Changes@ID;% + \@nameuse{Changes@AuthorColor\Changes@ID};% + \@nameuse{Changes@AuthorName\Changes@ID};% + \the\value{Changes@AddCount\Changes@ID};% + \the\value{Changes@DeleteCount\Changes@ID};% + \the\value{Changes@ReplaceCount\Changes@ID}} + } + \closeout\Changes@OutFile +} +%% Copyright 2007 Ekkart Kleinod +%% +%% End of file `changes.sty'. |