summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/changes
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-01-12 23:14:21 +0000
committerKarl Berry <karl@freefriends.org>2012-01-12 23:14:21 +0000
commit0bef79968f3cdff2ce0c5b3a0fc06d1b1d6363fd (patch)
treebf650b7f1031eaad155091ea6ede74a09be5a669 /Master/texmf-dist/source/latex/changes
parenta8dc21bc7f0d5d3240be20c07c97a6746b210b1e (diff)
changes 0.6.0 (12jan12)
git-svn-id: svn://tug.org/texlive/trunk@25085 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/changes')
-rw-r--r--Master/texmf-dist/source/latex/changes/changes.drv89
-rw-r--r--Master/texmf-dist/source/latex/changes/changes.dtx829
-rw-r--r--Master/texmf-dist/source/latex/changes/changes.ins90
-rw-r--r--Master/texmf-dist/source/latex/changes/examples.dtx283
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/authors.tex8
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/changes.de.tex642
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/changes.en.tex651
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_definechangesauthor.tex8
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_listofchanges.tex3
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setaddedmarkup.tex6
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkup.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkupposition.tex6
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkuptext.tex6
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setdeletedmarkup.tex6
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setlocextension.tex6
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/command_setremarkmarkup.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/copyright.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/email.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/files_generated.tex13
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/files_original.tex12
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_addedmarkup.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_authormarkup.tex9
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_authormarkupposition.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_authormarkuptext.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_deletedmarkup.tex8
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_draft.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_final.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_markup.tex9
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_ulem.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/option_xcolor.tex7
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/path_examples.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/path_scripts.tex1
-rw-r--r--Master/texmf-dist/source/latex/changes/userdoc/url.tex1
33 files changed, 2465 insertions, 275 deletions
diff --git a/Master/texmf-dist/source/latex/changes/changes.drv b/Master/texmf-dist/source/latex/changes/changes.drv
index fe248862132..91176e5a17f 100644
--- a/Master/texmf-dist/source/latex/changes/changes.drv
+++ b/Master/texmf-dist/source/latex/changes/changes.drv
@@ -1,49 +1,39 @@
%%%
-%
-% Treiberdatei für changes-Paket
-%
-%
+% driver file of changes package
-\documentclass[twoside, titlepage, parskip=half, toc=flat, cleardoublepage=empty, captions=nooneline, origlongtable, english, ngerman]{scrartcl}
+\documentclass[twoside, titlepage, parskip=half, toc=flat, cleardoublepage=empty, captions=nooneline, origlongtable, ngerman, english]{scrartcl}
-% Doc-Paket
+% code definition and documentation
\usepackage{doc}
-% im Basis-Layout setzen
-% http://www.dr-kleinod.de/schreiben/latex.html
+% basis layout
\usepackage[font=charter]{basis}
-% Änderungsmarkierungen ermöglichen ;)
+% language selection
+\selectlanguage{english}
+
+% use change management ;)
\usepackage{changes}
-\definechangesauthor{EK}{orange}
+\definechangesauthor[name={Ekkart Kleinod}, color=orange]{EK}
+\setremarkmarkup{(#2)}
+
+% improve list layout
+\usepackage{enumitem}
+\setlist{noitemsep}
-% voller Index
+% full index
\EnableCrossrefs
-% Angabe nach Zeilennummern
+% with line numbers
\CodelineIndex
-% Umgebung für Einsatz
-\newenvironment{einspiel}[1][false]{%
- \small
- \begin{tabbing}
- Definitionm\=\kill
- \textsl{%
- \ifthenelse{\equal{#1}{false}}%
- {Definition}%
- {\iflanguage{english}{Example}{Beispiel}}%
- }
-}{%
- \end{tabbing}
-}
-
-% Formatierungsbefehle
+% formatting
\newcommand{\chpackage}[1]{\textsl{#1}}
\newcommand{\choption}[1]{\texttt{#1}}
\newcommand{\chfile}[1]{\texttt{#1}}
\newcommand{\chcommand}[1]{\texttt{\textbackslash{}#1}}
-% Makroüberschriften
+% makro headings
\makeatletter
\def\Describe@Macro#1{%
\endgroup%
@@ -57,9 +47,6 @@
}
\makeatother
-% language selection
-\selectlanguage{ngerman}
-
% catchall - english
\newif\ifENGLISH
\ENGLISHtrue
@@ -75,23 +62,49 @@
% \FRENCHfalse
% \iflanguage{french}{\FRENCHtrue\ENGLISHfalse}{}
+% example environment
+\newenvironment{chusage}{
+ \small
+ \begin{tabbing}
+ m\=\kill
+ \usagecall
+}{%
+ \end{tabbing}
+}
+\newcommand{\usagecall}{
+ \ifENGLISH
+ \textsl{Call}\\
+ \fi
+ \ifGERMAN
+ \textsl{Aufruf}\\
+ \fi
+}
+\newcommand{\usageexample}{
+ \ifENGLISH
+ \textsl{Examples}\\
+ \fi
+ \ifGERMAN
+ \textsl{Beispiele}\\
+ \fi
+}
+% document title
\ifENGLISH
\title{The \chpackage{changes}-package}
- \subtitle{Manual change markup --- version 0.5.4}
+ \subtitle{Manual change markup --- version 0.6.0}
+\fi
+\ifGERMAN
+ \title{Das \chpackage{changes}-Paket}
+ \subtitle{Manuelle Änderungsmarkierung -- Version 0.6.0}
\fi
- \ifGERMAN
- \title{Das \chpackage{changes}-Paket}
- \subtitle{Manuelle Änderungsmarkierung -- Version 0.5.4}
- \fi
\author{Ekkart Kleinod}
-\email{ekkart@ekkart.de}
+\email{ekleinod@edgesoft.de}
% only description part?
%\OnlyDescription
-% Eigentliches Dokument
+% content
\begin{document}
\DocInput{changes.dtx}
diff --git a/Master/texmf-dist/source/latex/changes/changes.dtx b/Master/texmf-dist/source/latex/changes/changes.dtx
index 8637b2a8702..1fc50b29ccc 100644
--- a/Master/texmf-dist/source/latex/changes/changes.dtx
+++ b/Master/texmf-dist/source/latex/changes/changes.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{442}
+% \CheckSum{822}
%
% \iffalse meta-comment
%
-% Copyright (C) 2007-2011
+% Copyright (C) 2007-2012
% Ekkart Kleinod (ekleinod@edgesoft.de)
% --------------------------------------------------------------------------
%
@@ -43,10 +43,12 @@
% \changes{v0.4}{2007/01/24}{pdfcolmk for improved markup, introduced author-ids, first CTAN version}
% \changes{v0.5}{2007/08/26}{reimplementation without array package, UTF-8, grayed text, change pf command arguments}
% \changes{v0.5.1}{2007/08/27}{deleted text is striked out again using package ulem, greying didn't work}
-% \changes{v0.5.2}{2007/10/10}{package options for pdfcolmk, ulem, and xcolor}
+% \changes{v0.5.2}{2007/10/10}{package options for ulem and xcolor}
% \changes{v0.5.3}{2010/11/22}{use class options (final, draft) as well}
% \changes{v0.5.4}{2011/04/25}{extract user documentation; default language changed to English; script for removal of commands}
+% \changes{v0.6.0}{2012/01/11}{redefined user interface for setting options, markup, authors; newly structured documentation}
% \GetFileInfo{changes.dtx}
+% \RecordChanges
%
%^^A --------------------------------------------------------------------------
%
@@ -55,32 +57,37 @@
% \tableofcontents
% \cleardoublepage
%
-% \input{user}
+% \ifENGLISH
+% \input{userdoc/changes.en}
+% \fi
+% \ifGERMAN
+% \input{userdoc/changes.de}
+% \fi
%
%^^A -- source code
%
% \StopEventually
%
-% \section{The documented sourcecode}
+% \selectlanguage{english}
%
-% \iflanguage{english}{}{
-% The sourcecode is documented in English only.
-% This is intended, please do not provide translations for the text below, just corrections or improvements.
-% }
+% \section{The documented sourcecode}
%
-% \subsection{Package information and options}
+% The sourcecode is documented in English only.
+% This is intended, please do not provide translations for the text below, just corrections or improvements.
%
% \begin{macrocode}
%<*changes>
% \end{macrocode}
%
+% \subsection{Package information and options}
+%
% Set needed \LaTeX-format to \LaTeXe{}, provide name, date, version.
% Type some information to the console.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{changes}
-[2011/04/25 v0.5.4 changes-Paket]
-\typeout{*** changes-Paket 2011/04/25 v0.5.4 ***}
+[2012/01/11 v0.6.0 changes-Paket]
+\typeout{*** changes-Paket 2012/01/11 v0.6.0 ***}
% \end{macrocode}
%
% Package \chpackage{xkeyval} provides options with key-value-pairs.
@@ -88,135 +95,354 @@
\RequirePackage{xkeyval}
% \end{macrocode}
%
-% Package \chpackage{ifthen} provides improved \texttt{if} as well as a \texttt{while}-loop.
+% Package \chpackage{xifthen} provides improved \texttt{if} as well as a \texttt{while}-loop.
% \begin{macrocode}
-\RequirePackage{ifthen}
+\RequirePackage{xifthen}
% \end{macrocode}
%
-% \minisec{Options}
+% \subsubsection{Package options}
+%
% Option \choption{draft}, \emph{default} is \texttt{true}.
% \begin{macrocode}
\newboolean{Changes@optiondraft}
\setboolean{Changes@optiondraft}{true}
\DeclareOptionX{draft}{
- \setboolean{Changes@optiondraft}{true}
- \typeout{changes-option '\CurrentOption'}
+ \setboolean{Changes@optiondraft}{true}
+ \typeout{changes-option '\CurrentOption'}
}
% \end{macrocode}
%
% Option \choption{final}, sets \choption{draft} to \texttt{false}.
% \begin{macrocode}
\DeclareOptionX{final}{
- \setboolean{Changes@optiondraft}{false}
- \typeout{changes-option '\CurrentOption'}
+ \setboolean{Changes@optiondraft}{false}
+ \typeout{changes-option '\CurrentOption'}
+}
+% \end{macrocode}
+%
+% Declare storage for markup options, they are set by the markup option but can be changed with the more special options, therefore they have to be declared at this place.
+% \begin{macrocode}
+\newcommand{\Changes@optionaddedmarkup}{none}
+\newcommand{\Changes@optiondeletedmarkup}{sout}
+% \end{macrocode}
+%
+% Option \choption{markup}, sets markup options accordingly.
+% \begin{macrocode}
+\newcommand{\Changes@optionmarkup}{default}
+\DeclareOptionX{markup}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{default}\or
+ \equal{#1}{underlined}\or
+ \equal{#1}{bfit}\or
+ \equal{#1}{nocolor}
+ }
+ {\renewcommand{\Changes@optionmarkup}{#1}}
+ {\PackageWarning{changes}{markup '#1' unknown, using '\Changes@optionmarkup'}}
+ }
+ \ifthenelse{\equal{\Changes@optionmarkup}{default}}
+ {
+ \renewcommand{\Changes@optionaddedmarkup}{none}
+ \renewcommand{\Changes@optiondeletedmarkup}{sout}
+ }
+ {}
+ \ifthenelse{\equal{\Changes@optionmarkup}{underlined}}
+ {
+ \renewcommand{\Changes@optionaddedmarkup}{uline}
+ \renewcommand{\Changes@optiondeletedmarkup}{sout}
+ }
+ {}
+ \ifthenelse{\equal{\Changes@optionmarkup}{bfit}}
+ {
+ \renewcommand{\Changes@optionaddedmarkup}{bf}
+ \renewcommand{\Changes@optiondeletedmarkup}{it}
+ }
+ {}
+ \ifthenelse{\equal{\Changes@optionmarkup}{nocolor}}
+ {
+ \renewcommand{\Changes@optionaddedmarkup}{uline}
+ \renewcommand{\Changes@optiondeletedmarkup}{sout}
+ }
+ {}
+ \typeout{changes-option 'markup=\Changes@optionmarkup'}
}
% \end{macrocode}
%
+% Option \choption{addedmarkup}, stored or set to default value ``\texttt{none}''.
+% \begin{macrocode}
+\DeclareOptionX{addedmarkup}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{none}\or
+ \equal{#1}{uline}\or
+ \equal{#1}{uuline}\or
+ \equal{#1}{uwave}\or
+ \equal{#1}{dashuline}\or
+ \equal{#1}{dotuline}\or
+ \equal{#1}{sout}\or
+ \equal{#1}{xout}\or
+ \equal{#1}{bf}\or
+ \equal{#1}{it}\or
+ \equal{#1}{sl}\or
+ \equal{#1}{em}
+ }
+ {\renewcommand{\Changes@optionaddedmarkup}{#1}}
+ {\PackageWarning{changes}{addedmarkup '#1' unknown, using '\Changes@optionaddedmarkup'}}
+ }
+ \typeout{changes-option 'addedmarkup=\Changes@optionaddedmarkup'}
+}
+% \end{macrocode}
+%
+% Option \choption{deletedmarkup}, stored or set to default value ``\texttt{striked}''.
+% \begin{macrocode}
+\DeclareOptionX{deletedmarkup}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{none}\or
+ \equal{#1}{uline}\or
+ \equal{#1}{uuline}\or
+ \equal{#1}{uwave}\or
+ \equal{#1}{dashuline}\or
+ \equal{#1}{dotuline}\or
+ \equal{#1}{sout}\or
+ \equal{#1}{xout}\or
+ \equal{#1}{bf}\or
+ \equal{#1}{it}\or
+ \equal{#1}{sl}\or
+ \equal{#1}{em}
+ }
+ {\renewcommand{\Changes@optiondeletedmarkup}{#1}}
+ {\PackageWarning{changes}{deletedmarkup '#1' unknown, using '\Changes@optiondeletedmarkup'}}
+ }
+ \typeout{changes-option 'deletedmarkup=\Changes@optiondeletedmarkup'}
+}
+% \end{macrocode}
+%
+% Declare storage for authormarkup option and store option value or set to default value ``\texttt{superscript}''.
+% \begin{macrocode}
+\newcommand{\Changes@optionauthormarkup}{superscript}
+\DeclareOptionX{authormarkup}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{superscript}\or
+ \equal{#1}{subscript}\or
+ \equal{#1}{brackets}\or
+ \equal{#1}{footnote}
+ }
+ {\renewcommand{\Changes@optionauthormarkup}{#1}}
+ {\PackageWarning{changes}{authormarkup '#1' unknown, using '\Changes@optionauthormarkup'}}
+ }
+ \typeout{changes-option 'authormarkup=\Changes@optionauthormarkup'}
+}
+% \end{macrocode}
+%
+% Declare storage for authormarkupposition option and store option value or set to default value ``\texttt{right}''.
+% \begin{macrocode}
+\newcommand{\Changes@optionauthormarkupposition}{right}
+\DeclareOptionX{authormarkupposition}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{right}\or
+ \equal{#1}{left}
+ }
+ {\renewcommand{\Changes@optionauthormarkupposition}{#1}}
+ {\PackageWarning{changes}{authormarkupposition '#1' unknown, using '\Changes@optionauthormarkupposition'}}
+ }
+ \typeout{changes-option 'authormarkupposition=\Changes@optionauthormarkupposition'}
+}
+% \end{macrocode}
+%
+% Declare storage for authormarkuptext option and store option value or set to default value ``\texttt{id}''.
+% \begin{macrocode}
+\newcommand{\Changes@optionauthormarkuptext}{id}
+\DeclareOptionX{authormarkuptext}{
+ \ifthenelse{\equal{\@empty}{#1}}
+ {}
+ {
+ \ifthenelse{
+ \equal{#1}{id}\or
+ \equal{#1}{name}
+ }
+ {\renewcommand{\Changes@optionauthormarkuptext}{#1}}
+ {\PackageWarning{changes}{authormarkuptext '#1' unknown, using '\Changes@optionauthormarkuptext'}}
+ }
+ \typeout{changes-option 'authormarkuptext=\Changes@optionauthormarkuptext'}
+}
+% \end{macrocode}
+%
+%
+%
% Options for package \chpackage{ulem} are directly passed to the package.
% \begin{macrocode}
\DeclareOptionX{ulem}{
- \typeout{ulem-option '#1', passed to package ulem}
- \PassOptionsToPackage{#1}{ulem}
+ \typeout{ulem-option '#1', passed to package ulem}
+ \PassOptionsToPackage{#1}{ulem}
}
% \end{macrocode}
%
% Options for package \chpackage{xcolor} are directly passed to the package.
% \begin{macrocode}
\DeclareOptionX{xcolor}{
- \typeout{xcolor-option '#1', passed to package xcolor}
- \PassOptionsToPackage{#1}{xcolor}
+ \typeout{xcolor-option '#1', passed to package xcolor}
+ \PassOptionsToPackage{#1}{xcolor}
}
% \end{macrocode}
%
-% Unknown options generate package warning.
+% Unknown options generate a package warning.
% \begin{macrocode}
\DeclareOptionX*{
- \PackageWarning{Unknown changes-option '\CurrentOption'}
+ \PackageWarning{changes}{Unknown option '\CurrentOption'}
}
% \end{macrocode}
%
-% Process the options.
+% \subsubsection{Command options}
+%
+% All options for commands (e.g. \chcommand{definechangesauthor}) have to be declared before option processing.
+%
+% Declare available options of the command, define value storage.
% \begin{macrocode}
-\ProcessOptionsX*\relax
+\DeclareOptionX<Changes@definechangesauthor>{name}{\def\Changes@definechangesauthor@name{#1}}
+\DeclareOptionX<Changes@definechangesauthor>{color}{\def\Changes@definechangesauthor@color{#1}}
+% \end{macrocode}
+%
+% Set the default values of the options.
+% \begin{macrocode}
+\presetkeys{Changes@definechangesauthor}{
+ name=\@empty,
+ color=black
+}{}
% \end{macrocode}
%
-% Package \chpackage{xcolor} provides coloured text.
+% \subsubsection{Option processing}
+%
+% Process the options.
% \begin{macrocode}
-\RequirePackage{xcolor}
+\ProcessOptionsX*\relax
% \end{macrocode}
%
-% Package \chpackage{pdfcolmk} solves the problem of coloured text and page breaks (has to be loaded after \chpackage{xcolor}).
+% \subsection{Packages}
+%
+% Package \chpackage{xcolor} provides colored text.
+% Package \chpackage{pdfcolmk} solves the problem of colored text and page breaks (has to be loaded after \chpackage{xcolor}).
% \begin{macrocode}
-\RequirePackage{pdfcolmk}
+\newboolean{Changes@colored}
+\setboolean{Changes@colored}{true}
+\ifthenelse{\equal{\Changes@optionmarkup}{nocolor}}
+ {\setboolean{Changes@colored}{false}}
+ {}
+\ifthenelse{\boolean{Changes@colored}}
+ {
+ \RequirePackage{xcolor}
+ \RequirePackage{pdfcolmk}
+ }
+ {}
% \end{macrocode}
%
% Package \chpackage{ulem} provides commands for striking out text.
% \begin{macrocode}
-\RequirePackage{ulem}
+\ifthenelse{
+ \equal{\Changes@optionaddedmarkup}{uline}\or
+ \equal{\Changes@optionaddedmarkup}{uuline}\or
+ \equal{\Changes@optionaddedmarkup}{uwave}\or
+ \equal{\Changes@optionaddedmarkup}{dashuline}\or
+ \equal{\Changes@optionaddedmarkup}{dotuline}\or
+ \equal{\Changes@optionaddedmarkup}{sout}\or
+ \equal{\Changes@optionaddedmarkup}{xout}\or
+ \equal{\Changes@optiondeletedmarkup}{uline}\or
+ \equal{\Changes@optiondeletedmarkup}{uuline}\or
+ \equal{\Changes@optiondeletedmarkup}{uwave}\or
+ \equal{\Changes@optiondeletedmarkup}{dashuline}\or
+ \equal{\Changes@optiondeletedmarkup}{dotuline}\or
+ \equal{\Changes@optiondeletedmarkup}{sout}\or
+ \equal{\Changes@optiondeletedmarkup}{xout}
+}
+ {\RequirePackage[normalem,normalbf]{ulem}}
+ {}
% \end{macrocode}
%
-% \subsection{Definitions}
+% \subsection{Language dependent texts}
%
% Declaration of language dependent names and identifiers.
% The check for \chcommand{addto} is a check for the \chpackage{babel} package.
-% If the babel package is not loaded, the default language is English, in order to use an own language, the user has to redefine the variables.
+% If the babel package is not loaded, the default language is English, in order to use another language, the user has to redefine the variables.
% \begin{macrocode}
\ifthenelse{\isundefined{\addto}}
- {
- \def\listchangesname{Changes}
- \def\changesaddname{Added}
- \def\changesdeletename{Deleted}
- \def\changesreplacename{Replaced}
- \def\changesauthorname{Author}
- \def\changesanonymousname{anonymous}
- \def\changesnoloc{List of changes is available after the next \LaTeX\ run.}
- }{
- \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}}
+ {
+ \def\listchangesname{Changes}
+ \def\changesaddname{Added}
+ \def\changesdeletename{Deleted}
+ \def\changesreplacename{Replaced}
+ \def\changesauthorname{Author}
+ \def\changesanonymousname{anonymous}
+ \def\changesnoloc{List of changes is available after the next \LaTeX\ run.}
+ }{
+ \addto\captionsngerman{\def\listchangesname{\"Anderungen}}
+ \addto\captionsngerman{\def\changesaddname{Eingef\"ugt}}
+ \addto\captionsngerman{\def\changesdeletename{Gel\"oscht}}
+ \addto\captionsngerman{\def\changesreplacename{Ersetzt}}
+ \addto\captionsngerman{\def\changesauthorname{Autor}}
+ \addto\captionsngerman{\def\changesanonymousname{Anonym}}
+ \addto\captionsngerman{\def\changesnoloc{\"Anderungsliste nach dem n\"achsten \LaTeX-Lauf verf\"ugbar.}}
- \addto\captionsngerman{\def\changesauthorname{Autor}}
- \addto\captionsgerman{\def\changesauthorname{Autor}}
- \addto\captionsenglish{\def\changesauthorname{Author}}
+ \addto\captionsgerman{\def\listchangesname{\"Anderungen}}
+ \addto\captionsgerman{\def\changesaddname{Eingef\"ugt}}
+ \addto\captionsgerman{\def\changesdeletename{Gel\"oscht}}
+ \addto\captionsgerman{\def\changesreplacename{Ersetzt}}
+ \addto\captionsgerman{\def\changesauthorname{Autor}}
+ \addto\captionsgerman{\def\changesanonymousname{Anonym}}
+ \addto\captionsgerman{\def\changesnoloc{\"Anderungsliste nach dem n\"achsten \LaTeX-Lauf verf\"ugbar.}}
- \addto\captionsngerman{\def\changesanonymousname{Anonym}}
- \addto\captionsgerman{\def\changesanonymousname{Anonym}}
- \addto\captionsenglish{\def\changesanonymousname{anonymous}}
+ \addto\captionsenglish{\def\listchangesname{Changes}}
+ \addto\captionsenglish{\def\changesaddname{Added}}
+ \addto\captionsenglish{\def\changesdeletename{Deleted}}
+ \addto\captionsenglish{\def\changesreplacename{Replaced}}
+ \addto\captionsenglish{\def\changesauthorname{Author}}
+ \addto\captionsenglish{\def\changesanonymousname{anonymous}}
+ \addto\captionsenglish{\def\changesnoloc{List of changes is available after the next \LaTeX\ run.}}
- \addto\captionsngerman{\def\changesnoloc{\"Anderungsliste nach dem n\"achsten \LaTeX-Lauf verf\"ugbar.}}
- \addto\captionsgerman{\def\changesnoloc{\"Anderungsliste nach dem n\"achsten Durchlauf verf\"ugbar.}}
- \addto\captionsenglish{\def\changesnoloc{List of changes is available after the next \LaTeX\ run.}}
- }
+ \addto\captionsitalian{\def\listchangesname{Modifiche}}
+ \addto\captionsitalian{\def\changesaddname{Aggiunte}}
+ \addto\captionsitalian{\def\changesdeletename{Cancellazioni}}
+ \addto\captionsitalian{\def\changesreplacename{Sostituzioni}}
+ \addto\captionsitalian{\def\changesauthorname{Autore}}
+ \addto\captionsitalian{\def\changesanonymousname{anonimo}}
+ \addto\captionsitalian{\def\changesnoloc{La lista delle modifiche sar\`a disponibile alla prossima esecuzione di \LaTeX.}}
+ }
% \end{macrocode}
%
-% File extension.
+% \subsection{File extension}
+%
+% \begin{macro}{\Changes@extension}
+% Store file extension in variable, set default to \texttt{loc}.
% \begin{macrocode}
\newcommand{\Changes@extension}{loc}
% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\setlocextension}
% Set a new file extension.
% Argument: new extension.
% \begin{macrocode}
\newcommand{\setlocextension}[1]{
- \renewcommand{\Changes@extension}{#1}
+ \renewcommand{\Changes@extension}{#1}
}
% \end{macrocode}
% \end{macro}
%
-% \subsection{management of authors}
+%
+% \subsection{Authors}
+%
+% \subsubsection{Author management}
%
% Author counter.
% \begin{macrocode}
@@ -227,57 +453,105 @@
%
% \begin{macro}{\definechangesauthor}
% Define a new author.
-% Mandatory arguments: author's id and author's colour.
-% Optional argument: author's name.
+% Mandatory argument: author's id.
+% Optional arguments (key-value): author's name (default: empty) and author's color (default: black).
+%
+% Store id, name and color using named variables.
+% Define counter and color per author.
+% \begin{macrocode}
+\newcommand*\definechangesauthor[2][]{%
+% \end{macrocode}
%
-% Store id, name and colour using named variables.
-% Define counter and colour per author.
+% Call \emph{setkeys} in order to evaluate the key-value-options and fill the value storage.
% \begin{macrocode}
-\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}
+ \setkeys{Changes@definechangesauthor}{#1}
+% \end{macrocode}
+%
+% Increment author counter, later needed for \emph{while} loop of authors.
+% \begin{macrocode}
+ \stepcounter{Changes@AuthorCount}
+% \end{macrocode}
+%
+% Store the id in a name with the given counter/index.
+% All other storage refers to the id.
+% \begin{macrocode}
+ \@namedef{Changes@AuthorID\theChanges@AuthorCount}{#2}
+% \end{macrocode}
+%
+% Store the author's definition in according variables/colors, create change counters.
+% \begin{macrocode}
+ \expandafter
+ \let\csname Changes@AuthorName#2\endcsname=\Changes@definechangesauthor@name
+ \newcounter{Changes@AddCount#2}
+ \newcounter{Changes@DeleteCount#2}
+ \newcounter{Changes@ReplaceCount#2}
+ \ifthenelse{\boolean{Changes@colored}}
+ {
+ \expandafter
+ \let\csname Changes@AuthorColor#2\endcsname=\Changes@definechangesauthor@color
+ \colorlet{Changes@Color#2}{\@nameuse{Changes@AuthorColor#2}}
+ }
+ {}
}
% \end{macrocode}
% \end{macro}
%
% Define default-author (anonymous) with empty id and blue color.
% \begin{macrocode}
-\definechangesauthor{\@empty}{blue}
+\definechangesauthor[color=blue]{\@empty}
% \end{macrocode}
%
-% Position of the authors markup relative to the text.
-% \emph{true} = left, \emph{false} = right (default).
+%
+% \subsubsection{Author markup}
+%
+% \begin{macro}{\Changes@Markup@Author}
+% Store markup for authors.
% \begin{macrocode}
-\newboolean{Changes@AuthorPositionLeft}
-\setboolean{Changes@AuthorPositionLeft}{false}
+\newcommand{\Changes@Markup@Author}[1]{%
+ \ifthenelse{\equal{\Changes@optionauthormarkup}{superscript}}{\textsuperscript{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionauthormarkup}{subscript}}{\textsubscript{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionauthormarkup}{brackets}}{(#1)}{}%
+ \ifthenelse{\equal{\Changes@optionauthormarkup}{footnote}}{\footnote{#1}}{}%
+}
% \end{macrocode}
+% \end{macro}
%
-% \begin{macro}{\Changes@AuthorMark}
-% Markup of the author.
-% Default: superscripted.
+% \begin{macro}{\setauthormarkup}
+% Set markup for authors.
% \begin{macrocode}
-\newcommand{\Changes@AuthorMark}[1]{%
- \textsuperscript{#1}%
+\newcommand{\setauthormarkup}[1]{
+ \renewcommand{\Changes@Markup@Author}[1]{#1}
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\setauthormarkup}
-% Redefine the author markup.
-% Mandatory argument: markup definition.
-% Optional argument: markup position (default = left).
+% \begin{macro}{\textsubscript}
+% Define the command \chcommand{textsubscript} in case the author markup \choption{subscript} is used and the command \chcommand{textsubscript} is not defined yet.
+% \chcommand{textsubscript} is the antagonist of \chcommand{textsuperscript} which is predefined in \LaTeX.
+% The code is taken from \LaTeX-FAQ 8.5.17.
+% \begin{macrocode}
+\ifthenelse{\isundefined{\textsubscript}}
+ {
+ \DeclareRobustCommand*\textsubscript[1]{\@textsubscript{\selectfont#1}}
+ \newcommand{\@textsubscript}[1]{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
+ }{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setauthormarkupposition}
+% Set position for author markup text.
+% \begin{macrocode}
+\newcommand{\setauthormarkupposition}[1]{
+ \renewcommand{\Changes@optionauthormarkupposition}{#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setauthormarkuptext}
+% Set author markup text to be displayed.
% \begin{macrocode}
-\newcommand{\setauthormarkup}[2][left]{%
- \ifthenelse{\equal{#1}{left}}
- {\setboolean{Changes@AuthorPositionLeft}{true}}
- {\setboolean{Changes@AuthorPositionLeft}{false}}
- \renewcommand{\Changes@AuthorMark}[1]{#2}
+\newcommand{\setauthormarkuptext}[1]{
+ \renewcommand{\Changes@optionauthormarkuptext}{#1}
}
% \end{macrocode}
% \end{macro}
@@ -287,7 +561,12 @@
% Default: in a footnote.
% \begin{macrocode}
\newcommand{\Changes@Remark}[2]{%
- \footnote{\textcolor{Changes@Color#1}{#2}}%
+ \footnote{%
+ \ifthenelse{\not\equal{#1}{\@empty}}%
+ {#1: }%
+ {}%
+ #2%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -297,117 +576,213 @@
% Mandatory argument: markup definition.
% \begin{macrocode}
\newcommand{\setremarkmarkup}[1]{%
- \renewcommand{\Changes@Remark}[2]{#1}%
+ \renewcommand{\Changes@Remark}[2]{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Change management commands}
+%
+% \subsubsection{Text markup definition}
+%
+% Replaced text is always typeset as follows: \meta{added text}\meta{deleted text}.
+% Therefore no extra command for markup of replaced text is given.
+%
+% \begin{macro}{\Changes@Markup@Added}
+% Store markup for added text.
+% \begin{macrocode}
+\newcommand{\Changes@Markup@Added}[1]{%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{none}}{#1}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{uline}}{\uline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{uuline}}{\uuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{uwave}}{\uwave{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{dashuline}}{\dashuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{dotuline}}{\dotuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{sout}}{\sout{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{xout}}{\xout{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{bf}}{\textbf{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{it}}{\textit{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{sl}}{\textsl{#1}}{}%
+ \ifthenelse{\equal{\Changes@optionaddedmarkup}{em}}{\emph{#1}}{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setaddedmarkup}
+% Set markup for added text.
+% \begin{macrocode}
+\newcommand{\setaddedmarkup}[1]{
+ \renewcommand{\Changes@Markup@Added}[1]{#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Changes@Markup@Deleted}
+% Store markup for deleted text.
+% \begin{macrocode}
+\newcommand{\Changes@Markup@Deleted}[1]{%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{none}}{#1}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{uline}}{\uline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{uuline}}{\uuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{uwave}}{\uwave{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{dashuline}}{\dashuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{dotuline}}{\dotuline{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{sout}}{\sout{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{xout}}{\xout{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{bf}}{\textbf{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{it}}{\textit{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{sl}}{\textsl{#1}}{}%
+ \ifthenelse{\equal{\Changes@optiondeletedmarkup}{em}}{\emph{#1}}{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setdeletedmarkup}
+% Set markup for deleted text.
+% \begin{macrocode}
+\newcommand{\setdeletedmarkup}[1]{
+ \renewcommand{\Changes@Markup@Deleted}[1]{#1}
}
% \end{macrocode}
% \end{macro}
%
-% \subsection{Change commands}
%
+% \subsubsection{Change management command definition}
+%
+% \begin{macro}{\Changes@output}
+% Output command for the changed text.
+% This command has the following arguments:
+% \begin{enumerate}
+% \item changed text (including markup)
+% \item unchanged text
+% \item author's id
+% \item remark
+% \end{enumerate}
+% \begin{macrocode}
+\newcommand{\Changes@output}[4]{%
+% \end{macrocode}
+% Output changed text if option \choption{draft} is set, otherwise output unchanged text.
+% \begin{macrocode}
+ \ifthenelse{\boolean{Changes@optiondraft}}%
+ {%
+% \end{macrocode}
+% Save author text for output.
+% \begin{macrocode}
+ \ifthenelse{\equal{\Changes@optionauthormarkuptext}{id}}%
+ {\@namedef{Changes@AuthorText}{#3}}%
+ {}%
+ \ifthenelse{\equal{\Changes@optionauthormarkuptext}{name}}%
+ {\@namedef{Changes@AuthorText}{\@nameuse{Changes@AuthorName#3}}}%
+ {}%
+ {%
+% \end{macrocode}
+% Change color, if colored text is used.
+% \begin{macrocode}
+ \ifthenelse{\boolean{Changes@colored}}%
+ {\color{Changes@Color#3}}%
+ {}%
+% \end{macrocode}
+% Output author text if author's id is given and text should appear left of changes.
+% \begin{macrocode}
+ \ifthenelse{\equal{\Changes@optionauthormarkupposition}{left} \and \not\equal{#3}{\@empty}}%
+ {\Changes@Markup@Author{\@nameuse{Changes@AuthorText}}}%
+ {}%
+% \end{macrocode}
+% Output changed text.
+% \begin{macrocode}
+ {#1}%
+% \end{macrocode}
+% Output author text if author's id is given and text should appear right of changes.
+% \begin{macrocode}
+ \ifthenelse{\equal{\Changes@optionauthormarkupposition}{right} \and \not\equal{#3}{\@empty}}%
+ {\Changes@Markup@Author{\@nameuse{Changes@AuthorText}}}%
+ {}%
+% \end{macrocode}
+% Output remark if a remark is given.
+% \begin{macrocode}
+ \ifthenelse{\not\equal{#4}{\@empty}}%
+ {\Changes@Remark{#3}{#4}}%
+ {}%
+ }%
+ }%
+% \end{macrocode}
+% Output unchanged text (option \choption{final} was set).
+% \begin{macrocode}
+ {#2}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Changes@temp}
% Temporary variable for exchange of optional parameters between interlocked commands.
% \begin{macrocode}
\newcommand{\Changes@temp}{\@empty}
% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\added}
% The command formats text as new text.
-% It's rather complicated for defining a command with two optional parameters.
+% Defining a command with two optional parameters is rather complicated.
%
% Mandatory argument: added text.
% Optional arguments: author's id, remark
% \begin{macrocode}
\newcommand{\added}[1][\@empty]{%
- \renewcommand{\Changes@temp}{#1}%
- \Changes@added%
+ \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}%
+ \Changes@output
+ {\Changes@Markup@Added{#2}}
+ {#2}
+ {\Changes@temp}
+ {#1}%
+ \stepcounter{Changes@AddCount\Changes@temp}%
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\deleted}
% The command formats text as deleted text.
-% It's rather complicated for defining a command with two optional parameters.
%
-% The \choption{final}-part is taken from a tip from \texttt{de.comp.text.tex}.
+% The definition of the empty text for unchanged text is taken from a tip from \texttt{de.comp.text.tex}.
% It solves the problem of additional space caused by an empty command.
%
% Mandatory argument: deleted text.
% Optional arguments: author's id, remark
% \begin{macrocode}
\newcommand{\deleted}[1][\@empty]{%
- \renewcommand{\Changes@temp}{#1}%
- \Changes@deleted%
+ \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}%
+ \Changes@output
+ {\Changes@Markup@Deleted{#2}}
+ {\@bsphack \expandafter \@esphack}
+ {\Changes@temp}
+ {#1}%
+ \stepcounter{Changes@DeleteCount\Changes@temp}%
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\replaced}
% The command formats text as replaced text.
-% It's rather complicated for defining a command with two optional parameters.
%
% Mandatory arguments: new text and old text.
% Optional arguments: author's id, remark
% \begin{macrocode}
\newcommand{\replaced}[1][\@empty]{%
- \renewcommand{\Changes@temp}{#1}%
- \Changes@replaced%
+ \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}%
+ \Changes@output
+ {{\Changes@Markup@Added{#2}}{\Changes@Markup@Deleted{#3}}}
+ {#2}
+ {\Changes@temp}
+ {#1}%
+ \stepcounter{Changes@ReplaceCount\Changes@temp}%
}
% \end{macrocode}
% \end{macro}
@@ -421,57 +796,64 @@
% The contents have to be separated by a semicolon.
% \begin{macrocode}
\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}
+ \def\Changes@InID{#1}
+ \def\Changes@InColor{#2}
+ \def\Changes@InName{#3}
+ \def\Changes@InAdded{#4}
+ \def\Changes@InDeleted{#5}
+ \def\Changes@InReplaced{#6}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\listofchanges}
-% This command outputs a list of changes, sorted by authors.
+% This command outputs the list of changes, separated by authors.
% The values are read from the loc-file, if it exists.
% If no loc-file exists, an according message is generated.
% \begin{macrocode}
\newcommand{\listofchanges}{%
- \ifthenelse{\boolean{Changes@optiondraft}}
- {
- \section*{\listchangesname}
- \IfFileExists{\jobname.\Changes@extension}
+ \ifthenelse{\boolean{Changes@optiondraft}}
{
- \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)}}
- \\
+ \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{\boolean{Changes@colored}}
+ {\color{\Changes@InColor}}
+ {}
+ \ifthenelse{\equal{\Changes@InID}{\@empty}}
+ {\changesauthorname: \changesanonymousname}
+ {
+ \changesauthorname: \Changes@InID
+ \ifthenelse{\equal{\Changes@InName}{\@empty}}
+ {}
+ {(\Changes@InName)}
+ }
+ }\\
+ \>\changesaddname:\>\Changes@InAdded\\
+ \>\changesdeletename:\>\Changes@InDeleted\\
+ \>\changesreplacename:\>\Changes@InReplaced\\
+ \end{tabbing}
+ \fi
}
- \>\changesaddname:\>\Changes@InAdded\\
- \>\changesdeletename:\>\Changes@InDeleted\\
- \>\changesreplacename:\>\Changes@InReplaced\\
- \end{tabbing}
- \fi
- }
- \closein\Changes@InFile
- }{
- \emph{\changesnoloc}
- }
- }{}
+ \closein\Changes@InFile
+ }{
+ \emph{\changesnoloc}
+ \PackageWarning{changes}{LaTeX rerun needed for list of changes}
+ }
+ }{}
}
% \end{macrocode}
% \end{macro}
@@ -483,20 +865,20 @@
% The contents have to be separated by a semicolon.
% \begin{macrocode}
\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
+ \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@AuthorID\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
}
% \end{macrocode}
%
@@ -504,6 +886,9 @@
%</changes>
% \end{macrocode}
%
+% \PrintChanges
+% \PrintIndex
+%
%\Finale
\endinput
diff --git a/Master/texmf-dist/source/latex/changes/changes.ins b/Master/texmf-dist/source/latex/changes/changes.ins
index c349a5d425b..3cf3c8ed710 100644
--- a/Master/texmf-dist/source/latex/changes/changes.ins
+++ b/Master/texmf-dist/source/latex/changes/changes.ins
@@ -1,6 +1,6 @@
%% This file creates the needed files from changes.dtx
%%
-\def\filedate{2011/04/25}
+\def\filedate{2012/01/11}
\def\batchfile{changes.ins}
\input docstrip
@@ -10,7 +10,7 @@
\preamble
changes.dtx
-Copyright 2007-2011 Ekkart Kleinod (ekkart@ekkart.de)
+Copyright 2007-2012 Ekkart Kleinod (ekleinod@edgesoft.de)
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -24,36 +24,96 @@ This work has the LPPL maintenance status `maintained'.
The current maintainer of this work is Ekkart Kleinod.
This work consists of the files
- doc/latex/changes/examples/changes.example.1.de.tex
- doc/latex/changes/examples/changes.example.2.de.tex
- doc/latex/changes/examples/changes.example.3.de.tex
- doc/latex/changes/examples/changes.example.1.de.pdf
- doc/latex/changes/examples/changes.example.2.de.pdf
- doc/latex/changes/examples/changes.example.3.de.pdf
-
source/latex/changes/changes.drv
source/latex/changes/changes.dtx
source/latex/changes/changes.ins
+ source/latex/changes/examples.dtx
source/latex/changes/README
+ source/latex/changes/userdoc/*.tex
scripts/changes/delcmdchanges.bash
and the derived files
- doc/latex/changes/changes.english.full.pdf
- doc/latex/changes/changes.english.short.pdf
- doc/latex/changes/changes.ngerman.full.pdf
- doc/latex/changes/changes.ngerman.short.pdf
+ doc/latex/changes/changes.english.pdf
+ doc/latex/changes/changes.english.withcode.pdf
+ doc/latex/changes/changes.ngerman.pdf
+ doc/latex/changes/changes.ngerman.withcode.pdf
- tex/latex/changes/changes.sty
+ doc/latex/changes/examples/changes.example.*.tex
+ doc/latex/changes/examples/changes.example.*.pdf
+ tex/latex/changes/changes.sty
\endpreamble
\postamble
-Copyright 2007-2011 Ekkart Kleinod
+Copyright 2007-2012 Ekkart Kleinod
\endpostamble
\generate{
\file{changes.sty}{\from{changes.dtx}{changes}}
+%
+ \file{changes.example.simple.tex}{\from{examples.dtx}{example:simple}}
+ \file{changes.example.draft.tex}{\from{examples.dtx}{example:draft}}
+ \file{changes.example.final.tex}{\from{examples.dtx}{example:final}}
+%
+ \file{changes.example.markup.default.tex}{\from{examples.dtx}{example:markup:default}}
+ \file{changes.example.markup.underlined.tex}{\from{examples.dtx}{example:markup:underlined}}
+ \file{changes.example.markup.bfit.tex}{\from{examples.dtx}{example:markup:bfit}}
+ \file{changes.example.markup.nocolor.tex}{\from{examples.dtx}{example:markup:nocolor}}
+ \file{changes.example.markup.wrong.tex}{\from{examples.dtx}{example:markup:wrong}}
+%
+ \file{changes.example.addedmarkup.none.tex}{\from{examples.dtx}{example:addedmarkup:none}}
+ \file{changes.example.addedmarkup.uline.tex}{\from{examples.dtx}{example:addedmarkup:uline}}
+ \file{changes.example.addedmarkup.uuline.tex}{\from{examples.dtx}{example:addedmarkup:uuline}}
+ \file{changes.example.addedmarkup.uwave.tex}{\from{examples.dtx}{example:addedmarkup:uwave}}
+ \file{changes.example.addedmarkup.dashuline.tex}{\from{examples.dtx}{example:addedmarkup:dashuline}}
+ \file{changes.example.addedmarkup.dotuline.tex}{\from{examples.dtx}{example:addedmarkup:dotuline}}
+ \file{changes.example.addedmarkup.sout.tex}{\from{examples.dtx}{example:addedmarkup:sout}}
+ \file{changes.example.addedmarkup.xout.tex}{\from{examples.dtx}{example:addedmarkup:xout}}
+ \file{changes.example.addedmarkup.bf.tex}{\from{examples.dtx}{example:addedmarkup:bf}}
+ \file{changes.example.addedmarkup.it.tex}{\from{examples.dtx}{example:addedmarkup:it}}
+ \file{changes.example.addedmarkup.sl.tex}{\from{examples.dtx}{example:addedmarkup:sl}}
+ \file{changes.example.addedmarkup.em.tex}{\from{examples.dtx}{example:addedmarkup:em}}
+ \file{changes.example.addedmarkup.wrong.tex}{\from{examples.dtx}{example:addedmarkup:wrong}}
+%
+ \file{changes.example.deletedmarkup.none.tex}{\from{examples.dtx}{example:deletedmarkup:none}}
+ \file{changes.example.deletedmarkup.uline.tex}{\from{examples.dtx}{example:deletedmarkup:uline}}
+ \file{changes.example.deletedmarkup.uuline.tex}{\from{examples.dtx}{example:deletedmarkup:uuline}}
+ \file{changes.example.deletedmarkup.uwave.tex}{\from{examples.dtx}{example:deletedmarkup:uwave}}
+ \file{changes.example.deletedmarkup.dashuline.tex}{\from{examples.dtx}{example:deletedmarkup:dashuline}}
+ \file{changes.example.deletedmarkup.dotuline.tex}{\from{examples.dtx}{example:deletedmarkup:dotuline}}
+ \file{changes.example.deletedmarkup.sout.tex}{\from{examples.dtx}{example:deletedmarkup:sout}}
+ \file{changes.example.deletedmarkup.xout.tex}{\from{examples.dtx}{example:deletedmarkup:xout}}
+ \file{changes.example.deletedmarkup.bf.tex}{\from{examples.dtx}{example:deletedmarkup:bf}}
+ \file{changes.example.deletedmarkup.it.tex}{\from{examples.dtx}{example:deletedmarkup:it}}
+ \file{changes.example.deletedmarkup.sl.tex}{\from{examples.dtx}{example:deletedmarkup:sl}}
+ \file{changes.example.deletedmarkup.em.tex}{\from{examples.dtx}{example:deletedmarkup:em}}
+ \file{changes.example.deletedmarkup.wrong.tex}{\from{examples.dtx}{example:deletedmarkup:wrong}}
+%
+ \file{changes.example.setaddedmarkup.tex}{\from{examples.dtx}{example:setaddedmarkup}}
+ \file{changes.example.setdeletedmarkup.tex}{\from{examples.dtx}{example:setdeletedmarkup}}
+%
+ \file{changes.example.authormarkup.superscript.tex}{\from{examples.dtx}{example:authormarkup:superscript}}
+ \file{changes.example.authormarkup.subscript.tex}{\from{examples.dtx}{example:authormarkup:subscript}}
+ \file{changes.example.authormarkup.brackets.tex}{\from{examples.dtx}{example:authormarkup:brackets}}
+ \file{changes.example.authormarkup.footnote.tex}{\from{examples.dtx}{example:authormarkup:footnote}}
+ \file{changes.example.authormarkup.wrong.tex}{\from{examples.dtx}{example:authormarkup:wrong}}
+%
+ \file{changes.example.authormarkupposition.left.tex}{\from{examples.dtx}{example:authormarkupposition:left}}
+ \file{changes.example.authormarkupposition.right.tex}{\from{examples.dtx}{example:authormarkupposition:right}}
+ \file{changes.example.authormarkupposition.wrong.tex}{\from{examples.dtx}{example:authormarkupposition:wrong}}
+%
+ \file{changes.example.authormarkuptext.id.tex}{\from{examples.dtx}{example:authormarkuptext:id}}
+ \file{changes.example.authormarkuptext.name.tex}{\from{examples.dtx}{example:authormarkuptext:name}}
+ \file{changes.example.authormarkuptext.wrong.tex}{\from{examples.dtx}{example:authormarkuptext:wrong}}
+%
+ \file{changes.example.setauthormarkup.tex}{\from{examples.dtx}{example:setauthormarkup}}
+ \file{changes.example.setauthormarkupposition.tex}{\from{examples.dtx}{example:setauthormarkupposition}}
+ \file{changes.example.setauthormarkuptext.tex}{\from{examples.dtx}{example:setauthormarkuptext}}
+%
+ \file{changes.example.setremarkmarkup.tex}{\from{examples.dtx}{example:setremarkmarkup}}
+%
+ \file{changes.example.setlocextension.tex}{\from{examples.dtx}{example:setlocextension}}
}
\endinput
diff --git a/Master/texmf-dist/source/latex/changes/examples.dtx b/Master/texmf-dist/source/latex/changes/examples.dtx
new file mode 100644
index 00000000000..40aadc29d57
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/examples.dtx
@@ -0,0 +1,283 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2007-2012
+% Ekkart Kleinod (ekleinod@edgesoft.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\\
+% \url{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.
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \changes{v0.6.0}{2012/01/11}{separated examples in own dtx file}
+% \GetFileInfo{examples.dtx}
+%
+%^^A --------------------------------------------------------------------------
+%
+% Start the \LaTeX document the standard way.
+%
+% \begin{macrocode}
+\documentclass[11pt, a4paper, notitlepage, english]{article}
+\usepackage{babel}
+% \end{macrocode}
+%
+% Different package options.
+%
+% \begin{macrocode}
+%<*example:simple|example:setlocextension|example:setaddedmarkup|example:setdeletedmarkup|example:setauthormarkup|example:setauthormarkupposition|example:setauthormarkuptext|example:setremarkmarkup>
+\usepackage{changes}
+%</example:simple|example:setlocextension|example:setaddedmarkup|example:setdeletedmarkup|example:setauthormarkup|example:setauthormarkupposition|example:setauthormarkuptext|example:setremarkmarkup>
+%
+%<*example:draft>
+\usepackage[draft]{changes}
+%</example:draft>
+%<*example:final>
+\usepackage[final]{changes}
+%</example:final>
+%
+%<*example:markup:default>
+\usepackage[markup=default]{changes}
+%</example:markup:default>
+%<*example:markup:underlined>
+\usepackage[markup=underlined]{changes}
+%</example:markup:underlined>
+%<*example:markup:bfit>
+\usepackage[markup=bfit]{changes}
+%</example:markup:bfit>
+%<*example:markup:nocolor>
+\usepackage[markup=nocolor]{changes}
+%</example:markup:nocolor>
+%<*example:markup:wrong>
+\usepackage[markup=wrong]{changes}
+%</example:markup:wrong>
+%
+%<*example:addedmarkup:none>
+\usepackage[addedmarkup=none]{changes}
+%</example:addedmarkup:none>
+%<*example:addedmarkup:uline>
+\usepackage[addedmarkup=uline]{changes}
+%</example:addedmarkup:uline>
+%<*example:addedmarkup:uuline>
+\usepackage[addedmarkup=uuline]{changes}
+%</example:addedmarkup:uuline>
+%<*example:addedmarkup:uwave>
+\usepackage[addedmarkup=uwave]{changes}
+%</example:addedmarkup:uwave>
+%<*example:addedmarkup:dashuline>
+\usepackage[addedmarkup=dashuline]{changes}
+%</example:addedmarkup:dashuline>
+%<*example:addedmarkup:dotuline>
+\usepackage[addedmarkup=dotuline]{changes}
+%</example:addedmarkup:dotuline>
+%<*example:addedmarkup:sout>
+\usepackage[addedmarkup=sout]{changes}
+%</example:addedmarkup:sout>
+%<*example:addedmarkup:xout>
+\usepackage[addedmarkup=xout]{changes}
+%</example:addedmarkup:xout>
+%<*example:addedmarkup:bf>
+\usepackage[addedmarkup=bf]{changes}
+%</example:addedmarkup:bf>
+%<*example:addedmarkup:it>
+\usepackage[addedmarkup=it]{changes}
+%</example:addedmarkup:it>
+%<*example:addedmarkup:sl>
+\usepackage[addedmarkup=sl]{changes}
+%</example:addedmarkup:sl>
+%<*example:addedmarkup:em>
+\usepackage[addedmarkup=em]{changes}
+%</example:addedmarkup:em>
+%<*example:addedmarkup:wrong>
+\usepackage[addedmarkup=wrong]{changes}
+%</example:addedmarkup:wrong>
+%
+%<*example:deletedmarkup:none>
+\usepackage[deletedmarkup=none]{changes}
+%</example:deletedmarkup:none>
+%<*example:deletedmarkup:uline>
+\usepackage[deletedmarkup=uline]{changes}
+%</example:deletedmarkup:uline>
+%<*example:deletedmarkup:uuline>
+\usepackage[deletedmarkup=uuline]{changes}
+%</example:deletedmarkup:uuline>
+%<*example:deletedmarkup:uwave>
+\usepackage[deletedmarkup=uwave]{changes}
+%</example:deletedmarkup:uwave>
+%<*example:deletedmarkup:dashuline>
+\usepackage[deletedmarkup=dashuline]{changes}
+%</example:deletedmarkup:dashuline>
+%<*example:deletedmarkup:dotuline>
+\usepackage[deletedmarkup=dotuline]{changes}
+%</example:deletedmarkup:dotuline>
+%<*example:deletedmarkup:sout>
+\usepackage[deletedmarkup=sout]{changes}
+%</example:deletedmarkup:sout>
+%<*example:deletedmarkup:xout>
+\usepackage[deletedmarkup=xout]{changes}
+%</example:deletedmarkup:xout>
+%<*example:deletedmarkup:bf>
+\usepackage[deletedmarkup=bf]{changes}
+%</example:deletedmarkup:bf>
+%<*example:deletedmarkup:it>
+\usepackage[deletedmarkup=it]{changes}
+%</example:deletedmarkup:it>
+%<*example:deletedmarkup:sl>
+\usepackage[deletedmarkup=sl]{changes}
+%</example:deletedmarkup:sl>
+%<*example:deletedmarkup:em>
+\usepackage[deletedmarkup=em]{changes}
+%</example:deletedmarkup:em>
+%<*example:deletedmarkup:wrong>
+\usepackage[deletedmarkup=wrong]{changes}
+%</example:deletedmarkup:wrong>
+%
+%<*example:authormarkup:superscript>
+\usepackage[authormarkup=superscript]{changes}
+%</example:authormarkup:superscript>
+%<*example:authormarkup:subscript>
+\usepackage[authormarkup=subscript]{changes}
+%</example:authormarkup:subscript>
+%<*example:authormarkup:brackets>
+\usepackage[authormarkup=brackets]{changes}
+%</example:authormarkup:brackets>
+%<*example:authormarkup:footnote>
+\usepackage[authormarkup=footnote]{changes}
+%</example:authormarkup:footnote>
+%<*example:authormarkup:wrong>
+\usepackage[authormarkup=wrong]{changes}
+%</example:authormarkup:wrong>
+%
+%<*example:authormarkupposition:left>
+\usepackage[authormarkupposition=left]{changes}
+%</example:authormarkupposition:left>
+%<*example:authormarkupposition:right>
+\usepackage[authormarkupposition=right]{changes}
+%</example:authormarkupposition:right>
+%<*example:authormarkupposition:wrong>
+\usepackage[authormarkupposition=wrong]{changes}
+%</example:authormarkupposition:wrong>
+%
+%<*example:authormarkuptext:id>
+\usepackage[authormarkuptext=id]{changes}
+%</example:authormarkuptext:id>
+%<*example:authormarkuptext:name>
+\usepackage[authormarkuptext=name]{changes}
+%</example:authormarkuptext:name>
+%<*example:authormarkuptext:wrong>
+\usepackage[authormarkuptext=wrong]{changes}
+%</example:authormarkuptext:wrong>
+%
+%<*example:setaddedmarkup>
+\setaddedmarkup{\emph{#1}}
+%</example:setaddedmarkup>
+%<*example:setdeletedmarkup>
+\setdeletedmarkup{\emph{#1}}
+%</example:setdeletedmarkup>
+%
+%<*example:setauthormarkup>
+\setauthormarkup{\xout{#1}}
+%</example:setauthormarkup>
+%<*example:setauthormarkupposition>
+\setauthormarkupposition{left}
+%</example:setauthormarkupposition>
+%<*example:setauthormarkuptext>
+\setauthormarkuptext{name}
+%</example:setauthormarkuptext>
+%
+%<*example:setremarkmarkup>
+\setremarkmarkup{\footnote{#2 as was written by #1}}
+%</example:setremarkmarkup>
+%
+%<*example:setlocextension>
+\setlocextension{changes}
+%</example:setlocextension>
+% \end{macrocode}
+%
+% Define some authors.
+%
+% \begin{macrocode}
+\definechangesauthor[color=green]{Green}
+\definechangesauthor[name={Mister Orange}, color=orange]{OA}
+% \end{macrocode}
+%
+% This ist the document we use, some paragraphs from \texttt{http://slipsum.com/}.
+%
+% \begin{macrocode}
+\begin{document}
+
+%<example:simple>\section*{Changes Example: Simple}
+
+\listofchanges
+
+\subsection*{Changes by default author}
+
+You think water moves fast?
+\added{You should see ice.}
+It moves like it has a mind.
+Like it knows it killed the world once and got a taste for murder.
+\deleted[][No?]{After the avalanche, it took us a week to climb out.}
+Now, I don't know exactly \added{when} we turned on each other, but I know that seven of us survived the slide... and only five made it out.
+\replaced{Now we took an oath, that I'm breaking now.}{We said we'd say it was the snow that killed the other two, but it wasn't.}
+Nature is lethal but it doesn't hold a candle to man.
+
+\subsection*{Changes by green author}
+
+The lysine contingency - it's intended to prevent the spread of the animals is case they ever got off the island.
+\added[Green]{Dr. Wu inserted} a gene \replaced[Green]{taht}{that} makes a \deleted[Green]{single} faulty enzyme in protein metabolism.
+The animals can't manufacture the amino acid lysine.
+Unless \replaced[Green]{they're}{continually} supplied with lysine by us, they'll slip into a coma and die.
+
+\subsection*{Changes by orange author with some remarks}
+
+Now that we know who you are, I know who I am.
+\added[OA][Yeah, I like animals better than people sometimes\dots]{I'm not a mistake!}
+It all makes sense!
+In a comic, you know how you can tell who the arch-villain's going to be?
+\deleted[OA][Especially dogs. Dogs are the best.]{He's the exact opposite of the hero.}
+\deleted[OA]{And most times they're friends, like you and me!}
+I should've known way back when...
+\replaced[OA][Every time you come home, they act like they haven't seen you in a year.]{You know why, David?}{Because of the kids.}
+They called me Mr Glass.
+
+\subsection*{No changes}
+
+Your bones don't break, mine do.
+\textbf{That's clear.}
+Your cells react to bacteria and viruses differently than mine.
+\textsl{You don't get sick, I do.}
+That's also clear.
+\textit{But for some reason, you and I react the exact same way to water.}
+We swallow it too fast, we choke.
+\emph{We get some in our lungs, we drown.}
+However unreal it may seem, we are connected, you and I.
+We're on the same curve, just on opposite ends.
+
+\end{document}
+% \end{macrocode}
+%
+%\Finale
+\endinput
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/authors.tex b/Master/texmf-dist/source/latex/changes/userdoc/authors.tex
new file mode 100644
index 00000000000..2cfbde89e60
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/authors.tex
@@ -0,0 +1,8 @@
+\begin{itemize}
+ \item Chiaradonna, Silvano
+ \item Giovannini, Daniele
+ \item Kleinod, Ekkart
+ \item Wölfel, Philipp
+ \item Wolter, Steve
+\end{itemize}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/changes.de.tex b/Master/texmf-dist/source/latex/changes/userdoc/changes.de.tex
new file mode 100644
index 00000000000..6c71c9cbe0c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/changes.de.tex
@@ -0,0 +1,642 @@
+%^^A ---- introduction
+\section{Einleitung}
+
+Dieses Paket dient dazu, manuelle Änderungsmarkierung zu ermöglichen.
+
+Verbesserungsvorschläge, Gedanken oder Kritik sind willkommen.
+Das Paket wird auf \emph{sourceforge} gehalten, bitte gehen Sie zu
+
+\input{userdoc/url}
+
+für Quellcodezugang, Fehler- und Featuretracker, Forum etc.
+Wenn Sie mich direkt kontaktieren wollen, mailen Sie bitte an \input{userdoc/email}.
+Bitte starten Sie Ihr Mail-Subject mit \texttt{[changes]}.
+
+\begin{quote}
+ \small\textsc{README:}
+ Das changes-Paket dient zur manuellen Markierung von geändertem Text, insbesondere Einfügungen, Löschungen und Ersetzungen.
+ Der geänderte Text wird farbig markiert und, bei gelöschtem Text, durchgestrichen.
+ Das Paket ermöglicht die freie Definition von Autoren und deren zugeordneten Farben.
+ Es erlaubt zusätzlich die Änderung des Änderungs-, Autor- und Anmerkungsmarkups.
+\end{quote}
+
+
+%^^A ---- usage
+\section{Benutzung des \chpackage{changes}-Pakets}
+\label{sec:usage}
+
+In diesem Kapitel wird die Nutzung des \chpackage{changes}-Pakets beschrieben.
+Dabei wird ein typischer Anwendungsfall geschildert.
+Die ausführliche Beschreibung der Paketoptionen und neuen Befehle finden Sie nicht hier, sondern in \autoref{sec:user}.
+
+Ausgangslage ist ein Text, an dem Änderungen vorgenommen werden sollen.
+Diese Änderungen sollen markiert werden, und zwar für jeden Autor einzeln.
+Eine solche Änderungsmarkierung ist z.\,B.\ von WYSIWYG-Textprogrammen wie \emph{LibreOffice}, \emph{OpenOffice} oder \emph{Word} bekannt.
+
+Zu diesem Zweck wurde das \chpackage{changes}-Paket entwickelt.
+Das Paket stellt Befehle zur Verfügung, um verschiedene Autoren zu definieren und Text als zugefügt, gelöscht oder geändert zu markieren.
+Um das Paket zu nutzen, müssen Sie folgende Schritte ausführen:
+\begin{enumerate}
+ \item \chpackage{changes}-Paket einbinden
+ \item Autoren definieren
+ \item Textänderungen markieren
+ \item Dokument mit \LaTeX\ setzen
+ \item Liste von Änderungen anzeigen lassen
+ \item Markierungen entfernen
+\end{enumerate}
+
+\minisec{\chpackage{changes}-Paket einbinden}
+
+Um die Änderungsverfolgung zu aktivieren, ist das \chpackage{changes}-Paket wie folgt einzubinden:
+
+\chcommand{usepackage\{changes\}}
+
+bzw.
+
+\chcommand{usepackage[<optionen>]\{changes\}}
+
+Mit den verfügbaren Optionen bestimmen Sie hauptsächlich das Aussehen der Änderungsmarkierungen.
+Sie können das Aussehen der Änderungsmarkierungen auch nach Einbinden des \chpackage{changes}-Pakets verändern.
+
+Für Details lesen Sie bitte \autoref{sec:user:options} und \autoref{sec:user:customizingoutput}.
+
+\minisec{Autoren definieren}
+
+Das \chpackage{changes}-Paket stellt einen vordefinierten anonymen Autor zur Verfügung.
+Wenn Sie jedoch die Änderungen per AutorIn verfolgen wollen, müssen Sie die entsprechenden AutorInnen definieren.
+Dies geht wie folgt:
+
+\chcommand{definechangesauthor[<optionen>]\{ID\}}
+
+Über die ID werden der/die AutorIn und die zugehörigen Textänderungen eindeutig identifiziert.
+Optional können Sie einen Namen angeben und dem/der AutorIn eine eigene Farbe zuweisen.
+
+Für Details lesen Sie bitte \autoref{sec:user:authormanagement}.
+
+\minisec{Textänderungen markieren}
+
+Jetzt ist alles vorbereitet, um den geänderten Text zu markieren.
+Benutzen Sie bitte je nach Änderung die folgenden Befehle:
+
+für neu zugefügten Text:\\
+\chcommand{added[<ID>][<Anmerkung>]\{Text\}}
+
+für gelöschten Text:\\
+\chcommand{deleted[<ID>][<Anmerkung>]\{Text\}}
+
+für geänderten Text:\\
+\chcommand{replaced[<ID>][<Anmerkung>]\{neuer Text\}\{alter Text\}}
+
+Die Angabe von Autoren-ID und einer Anmerkung ist optional.
+
+Für Details lesen Sie bitte \autoref{sec:user:changemanagement}.
+
+\minisec{Dokument mit \LaTeX\ setzen}
+
+Nachdem Sie die Änderungen im \LaTeX-Text markiert haben, können Sie sie im erzeugten Dokument sichtbar machen, indem Sie das Dokument ganz normal übersetzen.
+Durch die Übersetzung wird der geänderte Text so markiert, wie Sie das mittels der Optionen bzw.\ speziellen Befehle eingestellt haben.
+
+\minisec{Liste von Änderungen anzeigen lassen}
+
+Sie können sich eine Liste der Änderungen ausgeben lassen.
+Dies erfolgt mit dem Kommando:
+
+\chcommand{listofchanges}
+
+Die Ausgabe ist gedacht als Analogon zur Liste von Tabellen oder Abbildungen.
+Sie dient dazu, einen schnellen Überblick über Art und Anzahl der Änderungen abhängig von dem/der AutorIn zu bekommen.
+
+Bei jedem \LaTeX-Lauf werden die Daten für diese Liste in eine Hilfsdatei geschrieben.
+Beim nächsten \LaTeX-Lauf werden dann diese Daten genutzt, um die Änderungsliste anzuzeigen.
+Daher sind nach jeder Änderung zwei \LaTeX-Läufe notwendig, um eine aktuelle Änderungsliste anzuzeigen.
+
+\minisec{Markierungen entfernen}
+
+Oft ist es der Fall, dass die Änderungen eines Dokuments angenommen oder abgelehnt werden und nach diesem Prozess die Änderungsmarkierungen entfernt werden sollen.
+Sie können die Ausgabe der Änderungsmarkierungen per Option beim Einbinden des \chpackage{changes}-Pakets unterdrücken:
+
+\input{userdoc/option_final}
+
+Für die Entfernung der Markierungen aus dem Quelltext steht ein Script von Silvano Chiaradonna zur Verfügung.
+Das Script liegt im Verzeichnis:
+
+\input{userdoc/path_scripts}
+
+Das Script entfernt alle Markierungen, es ist nicht möglich, die zu entfernenden Markierungen zu selektieren.
+
+%^^A ---- limitations
+\section{Einschränkungen und Erweiterungsmöglichkeiten}
+\label{sec:limitations}
+
+Das \chpackage{changes}-Paket ist sorgfältig programmiert und getestet worden.
+Dennoch kann es vorkommen, dass Fehler im Paket sind, dass die Benutzung problematisch ist oder dass eine Funktion fehlt, die Sie gerne hätten.
+In diesem Fall gehen Sie bitte zu
+
+\input{userdoc/url.tex}
+
+Dort können Sie Fehler melden, im Forum um Hilfe fragen oder Tips einstellen.
+Sie können dort den Quellcode ansehen und nach Ihren Wünschen ändern bzw.\ erweitern.
+Ich werde mich dann bemühen, Ihre Änderungen einzuarbeiten.
+Sie können als Co-Autor am Paket mitarbeiten, wenn Sie bei \emph{sourceforge} angemeldet sind.
+
+Sie können mir auch eine Mail schreiben an \href{mailto:ekleinod@edgesoft.de}{ekleinod@edgesoft.de}, in diesem Fall starten Sie bitte Ihr Mail-Subject mit \texttt{[changes]}.
+
+Die Änderungsmarkierung von Text funktioniert recht gut, es können auch ganze Absätze markiert werden.
+Die Markierung von mehreren Absätzen gleichzeitig, von Bildern und Tabellen ist nicht möglich.
+
+Fußnoten (die standardmäßige Auszeichnung von Anmerkungen) werden in bestimmten Umgebungen, z.\,B.\ Tabellen oder der \emph{tabbing}-Umgebung, nicht korrekt gesetzt, dort erscheinen also Anmerkungen nicht.
+Das kann gelöst werden, indem eine andere Annotation von Anmerkungen definiert wird.
+
+Das Paket bietet Raum für Erweiterungen, die ich ich jedoch nicht selbst programmieren werde (weil mir Zeit und oft auch die Fähigkeit fehlt).
+Ich liste hier einige Möglichkeiten auf, eine komplettere Liste finden Sie auf der \emph{sourceforge}-Seite:
+\begin{itemize}
+ \item Auswahl der anzunehmenden/abzulehnenden Änderungen mit entsprechendem Löschen des Textes
+ \item Markierung von mehreren Absätzen
+ \item Markierung von Bildern und Tabellen
+ \item automatische Markierung anhand von diff-Informationen (unter Berücksichtigung der Einschränkungen bzgl.\ Absätzen, Bildern, etc.)
+ \item Übersetzung der sprachabhängigen Texte und der Nutzerdokumentation in andere Sprachen
+\end{itemize}
+
+
+
+%^^A ---- user interface
+\section{Die Benutzerschnittstelle des \chpackage{changes}-Pakets}
+\label{sec:user}
+
+In diesem Kapitel wird die Nutzerschnittstelle des \chpackage{changes}-Pakets vorgestellt, d.\,h.\ alle Optionen und Kommandos.
+Jede Option bzw. jedes neue Kommando werden beschrieben.
+Wenn Sie die Optionen und Kommandos im Beispiel sehen wollen, sehen Sie bitte in das Beispielverzeichnis unter
+
+\input{userdoc/path_examples}
+
+Die Beispieldateien sind mit der benutzten Option bzw. dem benutzten Kommando benannt.
+
+Eine Vorbemerkung zum Setzen von ersetztem Text: ersetzter Text wird immer wie folgt gesetzt: \meta{neuer Text}\meta{alter Text}.
+Daher gibt es keine Möglichkeit, die Ausgabe ersetzten Texts direkt zu beeinflussen, sondern nur über die Änderung der Ausgabe neuen bzw.\ gelöschten Texts.
+
+%^^A -- options
+\subsection{Paketoptionen}
+\label{sec:user:options}
+
+\subsubsection{draft}
+
+Die \choption{draft}-Option bewirkt, dass alle Änderungen markiert werden.
+Die Änderungsliste kann durch \chcommand{listofchanges} ausgegeben werden.
+Diese Option ist automatisch voreingestellt.
+
+Die Angabe von \choption{draft} in \chcommand{documentclass} wird vom \chpackage{changes}-Paket mitgenutzt.
+Die lokale Angabe von \choption{final} überstimmt die Angabe von \choption{draft} in \chcommand{documentclass}.
+
+\input{userdoc/option_draft}
+
+\subsubsection{final}
+
+Die \choption{final}-Option bewirkt, dass alle Änderungsmarkierungen ausgeblendet werden und nur noch der korrekte Text ausgegeben wird.
+Die Änderungsliste wird ebenfalls unterdrückt.
+
+Die Angabe von \choption{final} in \chcommand{documentclass} wird vom \chpackage{changes}-Paket mitgenutzt.
+Die lokale Angabe von \choption{draft} überstimmt die Angabe von \choption{final} in \chcommand{documentclass}.
+
+\input{userdoc/option_final}
+
+\subsubsection{markup}
+
+Die \choption{markup}-Option wählt ein vordefiniertes visuelles Markup für geänderten Text.
+Das default-Markup wird gewählt, wenn die Option nicht gesetzt wird.
+Das mit \choption{markup} gewählte Markup kann mit den spezielleren Optionen \choption{addedmarkup} und/oder \choption{deletedmarkup} geändert werden.
+
+Die folgenden Werte sind erlaubt:
+\begin{description}
+ \item [\choption{default}] farbige Markierung von zugefügtem Text, gelöschter Text wird durchgestrichen (default-Markup)
+ \item [\choption{underlined}] zugefügter Text wird unterstrichen, gelöschter Text wird durchgestrichen
+ \item [\choption{bfit}] fetter zugefügter Text, schräger gelöschter Text
+ \item [\choption{nocolor}] es werden keine Farben verwendet, zugefügter Text wird unterstrichen, gelöschter Text wird durchgestrichen
+\end{description}
+
+\input{userdoc/option_markup}
+
+\subsubsection{addedmarkup, deletedmarkup}
+
+Die \choption{addedmarkup}-Option wählt ein vordefiniertes visuelles Markup für zugefügten Text.
+Die \choption{deletedmarkup}-Option wählt analog ein vordefiniertes visuelles Markup für gelöschten Text.
+Das default-Markup wird gewählt, wenn die Option nicht gesetzt wird.
+Die Optionen \choption{addedmarkup} und \choption{deletedmarkup} überschreiben das mit \choption{markup} gewählte Markup.
+
+Die folgenden Werte sind erlaubt:
+\begin{description}
+ \item [\choption{none}] kein Markup -- Beispiel (default-Markup für zugefügten Text)
+ \item [\choption{uline}] unterstrichener Text -- \uline{Beispiel}
+ \item [\choption{uuline}] doppelt unterstrichener Text -- \uuline{Beispiel}
+ \item [\choption{uwave}] gewellt unterstrichener Text -- \uwave{Beispiel}
+ \item [\choption{dashuline}] gestrichelt unterstrichener Text -- \dashuline{Beispiel}
+ \item [\choption{dotuline}] gepunktet unterstrichener Text -- \dotuline{Beispiel}
+ \item [\choption{sout}] durchgestrichener Text -- \sout{Beispiel} (default-Markup für gelöschten Text)
+ \item [\choption{xout}] schräg durchgestrichener Text -- \xout{Beispiel}
+ \item [\choption{bf}] fetter Text -- \textbf{Beispiel}
+ \item [\choption{it}] italic Text -- \textit{Beispiel}
+ \item [\choption{sl}] schräger Text -- \textsl{Beispiel}
+ \item [\choption{em}] hervorgehobener Text -- \emph{Beispiel}
+\end{description}
+
+\input{userdoc/option_addedmarkup}
+\input{userdoc/option_deletedmarkup}
+
+
+\subsubsection{authormarkup}
+
+Die \choption{authormarkup}-Option wählt ein vordefiniertes visuelles Markup für die Autor-Identifizierung.
+Das default-Markup wird gewählt, wenn die Option nicht gesetzt wird.
+
+Die folgenden Werte sind erlaubt:
+\begin{description}
+ \item [\choption{superscript}] hochgestellter Text -- Text\textsuperscript{Beispiel} (default-Markup)
+ \item [\choption{subscript}] tiefgestellter Text -- Text\textsubscript{Beispiel}
+ \item [\choption{brackets}] Text in Klammern -- Text(Beispiel)
+ \item [\choption{footnote}] Text in einer Fußnote -- Text\footnote{Beispiel}
+\end{description}
+
+\input{userdoc/option_authormarkup}
+
+
+\subsubsection{authormarkupposition}
+
+Die \choption{authormarkupposition}-Option gibt an, wo die Autor-Identifizierung gesetzt wird.
+Der default-Wert wird gewählt, wenn die Option nicht gesetzt wird.
+
+Die folgenden Werte sind erlaubt:
+\begin{description}
+ \item [\choption{right}] rechts vom Text -- Text\textsuperscript{Beispiel} (default value)
+ \item [\choption{left}] links vom Text -- \textsuperscript{Beispiel}Text
+\end{description}
+
+\input{userdoc/option_authormarkupposition}
+
+
+\subsubsection{authormarkuptext}
+
+Die \choption{authormarkuptext}-Option gibt an, was für die Autor-Identifizierung genutzt wird.
+Der default-Wert wird gewählt, wenn die Option nicht gesetzt wird.
+
+Die folgenden Werte sind erlaubt:
+\begin{description}
+ \item [\choption{id}] Autoren-ID -- Text\textsuperscript{ID} (default-Wert)
+ \item [\choption{name}] Autorenname -- Text\textsuperscript{Autorenname}
+\end{description}
+
+\input{userdoc/option_authormarkuptext}
+
+
+\subsubsection{ulem}
+
+Optionen für das \chpackage{ulem}-Paket können als Parameter der \choption{ulem}-Option angegeben werden.
+Zwei oder mehr Optionen müssen in geschweifte Klammern gesetzt werden.
+
+\input{userdoc/option_ulem}
+
+
+\subsubsection{xcolor}
+
+Optionen für das \chpackage{xcolor}-Paket können als Parameter der \choption{xcolor}-Option angegeben werden.
+Zwei oder mehr Optionen müssen in geschweifte Klammern gesetzt werden.
+
+\input{userdoc/option_xcolor}
+
+
+%^^A ---- change management
+
+\subsection{Änderungsmanagement}
+\label{sec:user:changemanagement}
+
+\subsubsection{\chcommand{added}}
+\DescribeMacro{\added}
+
+Der Befehl \chcommand{added} markiert zugefügten Text.
+Der neue Text wird als notwendiges Argument in geschweiften Klammern übergeben.
+Optional können eine Autor-ID sowie eine Anmerkung übergeben werden.
+Die Autor-ID muss mit einer mit dem \chcommand{definechangesauthor}-Befehl definierten ID übereinstimmen.
+Soll nur eine Anmerkung (ohne Autor) eingegeben werden, so ist statt des Autors ein leeres Argument zu übergeben.
+
+\begin{chusage}
+ \>\chcommand{added[\meta{Autor-ID}][\meta{Anmerkung}]\{\meta{neuer Text}\}}\\
+ \usageexample
+ \>\texttt{Das ist \chcommand{added}[EK]\{neuer\} Text.}\\
+ \>Das ist \added[EK]{neuer} Text.\\
+ \>\texttt{Das ist \chcommand{added}[EK][muss rein]\{neuer\} Text.}\\
+ \>Das ist \added[EK][muss rein]{neuer} Text.\\
+ \>\texttt{Das ist \chcommand{added}[][anonym]\{neuer\} Text.}\\
+ \>Das ist \added[][anonym]{neuer} Text.
+\end{chusage}
+
+
+\subsubsection{\chcommand{deleted}}
+\DescribeMacro{\deleted}
+
+Der Befehl \chcommand{deleted} markiert gelöschten Text.
+Argumente: siehe \chcommand{added}.
+
+\begin{chusage}
+ \>\chcommand{deleted[\meta{Autor-ID}][\meta{Anmerkung}]\{\meta{gelöschter Text}\}}\\
+ \usageexample
+ \>\texttt{Das ist \chcommand{deleted}[][obsolet]\{schlechter\} Text.}\\
+ \>Das ist \deleted[][obsolet]{schlechter} Text.
+\end{chusage}
+
+
+\subsubsection{\chcommand{replaced}}
+\DescribeMacro{\replaced}
+
+Der Befehl \chcommand{replaced} markiert geänderten Text.
+Notwendige Argumente sind der neue sowie der alte Text.
+Optionale Argumente: siehe \chcommand{added}.
+
+\begin{chusage}
+ \>\chcommand{replaced[\meta{Autor-ID}][\meta{Anmerkung}]\{\meta{neuer Text}\}\{\meta{alter Text}\}}\\
+ \usageexample
+ \>\texttt{Das ist \chcommand{replaced}[EK]\{schöner\}\{schlechter\} Text.}\\
+ \>Das ist \replaced[EK]{schöner}{schlechter} Text.
+\end{chusage}
+
+
+\subsubsection{\chcommand{listofchanges}}
+\DescribeMacro{\listofchanges}
+
+Der Befehl \chcommand{listofchanges} gibt eine Liste der Änderungen aus.
+Im ersten \LaTeX-Lauf wird eine Hilfsdatei angelegt, deren Daten im zweiten Durchlauf eingebunden werden.
+Für eine aktuelle Liste der Änderungen sind daher zwei \LaTeX-Läufe notwendig.
+
+\input{userdoc/command_listofchanges}
+
+
+%^^A ---- Author management
+
+\subsection{Autorenverwaltung}
+\label{sec:user:authormanagement}
+
+\subsubsection{\chcommand{definechangesauthor}}
+\DescribeMacro{\definechangesauthor}
+
+Der Befehl \chcommand{definechangesauthor} definiert einen neuen Autor/eine neue Autorin für Änderungen.
+Es muss eine eindeutige Autor-ID angegeben werden, die keine Sonder- oder Leerzeichen enthalten darf.
+Optional kann eine Farbe und ein Name angegeben werden.
+Wird keine Farbe angegeben, wird schwarz genutzt.
+Der AutorInnenname wird in der Änderungsliste sowie im Markup benutzt, im Markup jedoch nur, wenn die entsprechende Option gesetzt ist.
+
+\input{userdoc/command_definechangesauthor}
+
+
+%^^A ---- Adaptation of the output
+\subsection{Anpassung der Ausgabe}
+\label{sec:user:customizingoutput}
+
+\subsubsection{\chcommand{setaddedmarkup}}
+\DescribeMacro{\setaddedmarkup}
+
+Der Befehl \chcommand{setaddedmarkup} legt fest, wie neuer Text ausgezeichnet wird.
+Ohne andere Definition gilt, dass der Text farbig oder je nach Option \choption{markup} bzw.\ \choption{addedmarkup} erscheint.
+
+Werte für Definition: beliebige \LaTeX-Befehle, der neue Text wird mit "`\#1"' eingesetzt.
+
+\input{userdoc/command_setaddedmarkup}
+
+
+\subsubsection{\chcommand{setdeletedmarkup}}
+\DescribeMacro{\setdeletedmarkup}
+
+Der Befehl \chcommand{setdeletedmarkup} legt fest, wie gelöschter Text ausgezeichnet wird.
+Ohne andere Definition gilt, dass der Text durchgestrichen oder je nach Option \choption{markup} bzw.\ \choption{deletedmarkup} erscheint.
+
+Werte für Definition: beliebige \LaTeX-Befehle, der gelöschte Text wird mit "`\#1"' eingesetzt.
+
+\input{userdoc/command_setdeletedmarkup}
+
+
+\subsubsection{\chcommand{setauthormarkup}}
+\DescribeMacro{\setauthormarkup}
+
+Der Befehl \chcommand{setauthormarkup} legt fest, wie der Autortext im Text angezeigt wird.
+Ohne andere Definition gilt, dass der Autor hochgestellt erscheint.
+
+Werte für Definition: beliebige \LaTeX-Befehle, der Autortext wird mit "`\#1"' eingesetzt.
+
+\input{userdoc/command_setauthormarkup}
+
+
+\subsubsection{\chcommand{setauthormarkupposition}}
+\DescribeMacro{\setauthormarkupposition}
+
+Der Befehl \chcommand{setauthormarkupposition} legt fest, auf welcher Seite der Autor im Text angezeigt wird.
+Ohne andere Definition gilt, dass der Autor rechts von den Änderungen erscheint.
+
+Mögliche Werte: \emph{left} == links von den Änderungen; alles andere: rechts
+
+\input{userdoc/command_setauthormarkupposition}
+
+
+\subsubsection{\chcommand{setauthormarkuptext}}
+\DescribeMacro{\setauthormarkuptext}
+
+Der Befehl \chcommand{setauthormarkuptext} legt fest, welche Information des Autors im Text angezeigt wird.
+Ohne andere Definition gilt, dass die Autor-ID genutzt wird.
+
+Mögliche Werte: \emph{name} == Autorenname; alles andere: Autor-ID
+
+\input{userdoc/command_setauthormarkuptext}
+
+
+\subsubsection{\chcommand{setremarkmarkup}}
+\DescribeMacro{\setremarkmarkup}
+
+Der Befehl \chcommand{setremarkmarkup} legt fest, wie die Anmerkungen im Text angezeigt werden.
+Ohne andere Definition gilt, dass die Anmerkungen als Fußnote gesetzt werden.
+
+Werte für Definition: beliebige \LaTeX-Befehle, die Autor-ID wird mit "`\#1"' benutzt, der Anmerkungstext mit "`\#2"'.
+Über die Autor-ID kann mit \texttt{Changes@Color\#1} die Farbe des Autors benutzt werden.
+
+\input{userdoc/command_setremarkmarkup}
+
+
+\subsubsection{\chcommand{setlocextension}}
+\DescribeMacro{\setlocextension}
+
+Der Befehl \chcommand{setlocextension} legt das Suffix der Hilfsdatei für die Änderungsliste (loc-Datei\footnote{%
+ "`loc"' steht dabei für "`list of changes"'.
+}) fest.
+Ohne andere Definition gilt das Suffix "`\texttt{loc}"'.
+Im unten angegebenen Beispiel würde für "`\texttt{foo.tex}"' eine Hilfsdatei erzeugt werden, die "`\texttt{foo.changes}"' statt des Standardnamens "`\texttt{foo.loc}"' hieße.
+
+\input{userdoc/command_setlocextension}
+
+
+%^^A ---- other
+\subsection{Sonstige neue Befehle}
+\label{sec:user:other}
+
+\subsubsection{\chcommand{textsubscript}}
+\DescribeMacro{\textsubscript}
+
+\LaTeX\ stellt den Befehl \chcommand{textsuperscript} zur Verfügung, nicht jedoch dessen Gegenstück \chcommand{textsubscript}.
+Falls der Befehl nicht bereits definiert ist, wird er durch das \chpackage{changes}-Paket zur Verfügung gestellt.
+Ist er bereits definiert, wird er nicht geändert.
+\begin{chusage}
+ \>\chcommand{textsubscript\{\meta{Text}\}}\\
+ \usageexample
+ \>\texttt{Jetzt kommt ein \chcommand{textsubscript\{tiefgestellter\}} Text.}\\
+ \>Jetzt kommt ein \textsubscript{tiefgestellter} Text.
+\end{chusage}
+
+
+%^^A ---- packages
+\subsection{Benötigte Pakete}
+\label{sec:user:packages}
+
+Das \chpackage{changes}-Paket bindet bereits Pakete ein, die für die Funktion des Pakets notwendig sind.
+Eine genauere Beschreibung der einzelnen Pakete ist in der Dokumentation der Pakete selbst zu finden.
+
+Die folgenden Pakete sind zwingend notwendig und müssen für die Nutzung des \chpackage{changes}-Pakets installiert sein:
+\begin{description}
+ \item [xifthen] stellt eine verbesserte \texttt{if}-Abfrage sowie eine \texttt{while}-Schleife zur Verfügung
+ \item [xkeyval] Eingabe von Optionen mit Werteübergabe
+\end{description}
+
+Die folgenden Pakete sind manchmal notwendig und müssen installiert sein, wenn sie über die entsprechende Option genutzt werden:
+\begin{description}
+ \item [pdfcolmk] wird geladen, wenn farbiger Text genutzt wird (default Markup); löst das Problem farbigen Texts über Seitenumbrüche hinweg (bei pdflatex)
+ \item [ulem] wird geladen, wenn Text durchgestrichen oder ausge-x-t wird (default Markup)
+ \item [xcolor] wird geladen, wenn farbiger Text genutzt wird (default Markup)
+\end{description}
+
+
+%^^A ---- Authors
+\section{Autoren}
+\label{sec:authors}
+
+Am \chpackage{changes}-Paket haben mehrere Autoren mitgewirkt.
+Dies sind in alphabetischer Reihenfolge:
+\input{userdoc/authors}
+
+
+%^^A ---- Versions
+\section{Versionen}
+\label{sec:versions}
+
+\minisec{Version 0.6.0}
+
+Datum: 11.\,01.~2012
+\begin{itemize}
+ \item Italienische Übersetzungen der captions von Daniele Giovannini
+ \item neues Nutzerinterface für das Setzen von Optionen sowie die Definition von Markup und Autoren
+ \item Restrukturierung und Codeverbesserung
+ \item verbesserte Dokumentation mit typischem Anwendungsfall
+ \item Beispieldateien für alle Optionen und Befehle
+ \item Anmerkunge sind per Default nicht mehr farbig
+\end{itemize}
+
+\minisec{Version 0.5.4}
+
+Datum: 25.\,04.~2011
+\begin{itemize}
+ \item Auslagerung der Nutzerdokumentation in eigene Datei
+ \item Änderung der default-Sprache zu Englisch
+ \item neues Script, um die \chpackage{changes}-Befehle zu löschen von Silvano Chiaradonna
+\end{itemize}
+
+\minisec{Version 0.5.3}
+
+Datum: 22.\,11.~2010
+\begin{itemize}
+\item Dokumentoptionen von \chcommand{documentclass} werden ebenfalls genutzt (Vorschlag und Code von Steve Wolter)
+\end{itemize}
+
+\minisec{Version 0.5.2}
+
+Datum: 10.\,10.~2007
+\begin{itemize}
+ \item Paketoptionen der Pakete \chpackage{ulem} und \chpackage{xcolor} werden weitergeleitet
+\end{itemize}
+
+\minisec{Version 0.5.1}
+
+Datum: 27.\,08.~2007
+\begin{itemize}
+ \item gelöschter Text wieder durchgestrichen, Paket \chpackage{ulem} funktioniert; ausgrauen hat nicht funktioniert
+\end{itemize}
+
+\minisec{Version 0.5}
+
+Datum: 26.\,08.~2007
+\begin{itemize}
+ \item keine Nutzung des \chpackage{arrayjob}-Pakets mehr, dadurch Fehler im Zusammenspiel mit \chpackage{array} behoben
+ \item auf UTF-8-encoding umgestellt
+ \item keine Nutzung des \chpackage{soul}-Pakets mehr, dadurch Fehler im Zusammenspiel UTF-8-encoding behoben
+ \item gelöschter Text durch grauen Hintergrund visualisiert (es gibt bisher kein ordentliches Durchstreichen bei UTF-8-Nutzung)
+ \item neues optionales Argument für Autorenname
+ \item farbige Liste der Änderungen
+ \item loc-Format geändert
+ \item englische Doku verbessert
+\end{itemize}
+
+\minisec{Version 0.4}
+
+Datum: 24.\,01.~2007
+\begin{itemize}
+ \item \chpackage{pdfcolmk} eingebunden, um Problem mit farbigem Text bei Seitenumbrüchen zu lösen
+ \item \chcommand{setremarkmarkup} um Autor-ID erweitert, um Anmerkung farbig setzen zu können
+ \item Anmerkungen werden in der Fußnote farbig gesetzt
+ \item erste Version für das CTAN
+\end{itemize}
+
+\minisec{Version 0.3}
+
+Datum: 22.\,01.~2007
+\begin{itemize}
+ \item englische Nutzerdokumentation
+ \item Befehl \chcommand{changed} ersetzt durch \chcommand{replaced}
+ \item verbesserte \choption{final}-Option: kein zusätzlicher Leerraum
+\end{itemize}
+
+\minisec{Version 0.2}
+
+Datum: 17.\,01.~2007
+\begin{itemize}
+ \item Bezeichnungen auch bei fehlendem \chpackage{babel}-Paket eingeführt
+ \item \chcommand{setauthormarkup}, \chcommand{setlocextension}, \chcommand{setremarkmarkup} für Einstellungen
+ \item Beispieldateien generiert
+ \item LPPL eingefügt
+\end{itemize}
+Beseitigte Fehler
+\begin{itemize}
+ \item Fehler mit \chpackage{ifthen}-Paketplazierung behoben
+ \item bei Liste war immer "`Eingefügt"' eingestellt, behoben
+ \item Autorausgabe war buggy (\chcommand{if}-Abfrage nicht einwandfrei)
+\end{itemize}
+
+\minisec{Version 0.1}
+
+Datum: 16.\,01.~2007
+\begin{itemize}
+ \item initiale Version
+ \item Befehle \chcommand{added}, \chcommand{deleted} und \chcommand{changed}
+\end{itemize}
+
+
+%^^A ---- copyright, license
+\section{Weitergabe, Copyright, Lizenz}
+
+\input{userdoc/copyright}
+
+Dieses Paket darf unter der "`\LaTeX\ Project Public License"' Version~1.3 oder jeder späteren Version weitergegeben und/oder geändert werden.
+Die neueste Version dieser Lizenz steht auf \url{http://www.latex-project.org/lppl.txt} Version~1.3 und spätere Versionen sind Teil aller \LaTeX-Distributionen ab Version~2005/12/01.
+
+Dieses Paket besitzt den Status "`maintained"' (verwaltet).
+Der aktuelle Verwalter dieses Pakets ist Ekkart Kleinod.
+
+Dieses Paket besteht aus den Dateien
+
+\input{userdoc/files_original}
+
+und den generierten Dateien
+
+\input{userdoc/files_generated}
+
+%^^A end of user documentation
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/changes.en.tex b/Master/texmf-dist/source/latex/changes/userdoc/changes.en.tex
new file mode 100644
index 00000000000..024230439a0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/changes.en.tex
@@ -0,0 +1,651 @@
+%^^A ---- introduction
+\section{Introduction}
+
+This package provides means for manual change markup.
+
+Any comments, thoughts or improvements are welcome.
+The package is maintained at \emph{sourceforge}, please see
+
+\input{userdoc/url}
+
+for source code access, bug and feature tracker, forum etc.
+If you want to contact me directly, please send an email to \input{userdoc/email}.
+Please start your email subject with \texttt{[changes]}.
+
+\begin{quote}
+ \small\textsc{README:}
+ The changes-package allows the user to manually markup changes of text, such as additions, deletions, or replacements.
+ Changed text is shown in a different color; deleted text is striked out.
+ The package allows free definition of additional authors and their associated color.
+ It also allows you to change the markup of changes, authors, or annotations.
+\end{quote}
+
+
+%^^A ---- usage
+\section{Using the \chpackage{changes}-package}
+\label{sec:usage}
+
+In this section a typical use case of the \chpackage{changes}-package is described.
+You can find the detailed description of the package options and new commands in \autoref{sec:user}.
+
+We start with the text you want to change.
+You want to markup the changes for each author individually.
+Such a change markup is well-known in WYSIWYG text processors such as \emph{LibreOffice}, \emph{OpenOffice}, or \emph{Word}.
+
+The \chpackage{changes}-package was developed in order to support such change markup.
+The package provides commands for defining authors, and for marking text as added, deleted, or replaced.
+In order to use the package, you have to follow these steps:
+
+\begin{enumerate}
+ \item use \chpackage{changes}-package
+ \item define authors
+ \item markup text changes
+ \item typeset the document with \LaTeX
+ \item output list of changes
+ \item remove markup
+\end{enumerate}
+
+
+\minisec{use \chpackage{changes}-package}
+
+In order to activate change management, use the \chpackage{changes}-package as follows:
+
+\chcommand{usepackage\{changes\}}
+
+respectively
+
+\chcommand{usepackage[<options>]\{changes\}}
+
+You can use the options for defining the layout of the change markup.
+You can change the layout after using the \chpackage{changes}-package as well.
+
+For detailed information please refer to \autoref{sec:user:options} and \autoref{sec:user:customizingoutput}.
+
+
+\minisec{define authors}
+
+The \chpackage{changes}-package provides a default anonymous author.
+If you want to track your changes depending on the author, you have to define the needed authors as follows:
+
+\chcommand{definechangesauthor[<options>]\{id\}}
+
+Every author is uniquely identified through his or her id.
+You can give every author an optional name and/or color.
+
+For detailed information please refer to \autoref{sec:user:authormanagement}.
+
+
+\minisec{markup text changes}
+
+Now everything is set to markup the changed text.
+Please use the following commands according to your change:
+
+for newly added text:\\
+\chcommand{added[<id>][<remark>]\{text\}}
+
+for deleted text:\\
+\chcommand{deleted[<id>][<remark>]\{text\}}
+
+for replaced text:\\
+\chcommand{replaced[<id>][<remark>]\{text\}}
+
+Stating the author's id and/or a remark is optional.
+
+For detailed information please refer to \autoref{sec:user:changemanagement}.
+
+
+\minisec{typeset the document with \LaTeX}
+
+After marking your changes in the text you are able to display them in the generated document by processing it as usual with \LaTeX.
+By processing your document the changed text is layouted as you stated by the corresponding options and/or special commands.
+
+\minisec{output list of changes}
+
+You can print a list of changes using:
+
+\chcommand{listofchanges}
+
+The list is meant to be the analogon to the list of tables, or the list of figures.
+It provides a quick overview of the number and kind of changes of every author.
+
+By runnning \LaTeX\ the data of the list is written into an auxiliary file.
+This data is used in the next \LaTeX\ run for typesetting the list of changes.
+Therefore, two \LaTeX\ runs are needed after every change in order to typeset an up-to-date list of changes.
+
+
+\minisec{remove markup}
+
+Often you want to remove the change markup after acknowledging or rejecting the changes.
+You can suppress the output of changes with:
+
+\input{userdoc/option_final}
+
+In order to remove the markup from the \LaTeX\ source code you can use a script from Silvano Chiaradonna.
+You find the script in the directory:
+
+\input{userdoc/path_scripts}
+
+The script removes all markups.
+It is not possible to partially select the markup.
+
+%^^A ---- limitations
+\section{Limitations and possible enhancements}
+\label{sec:limitations}
+
+The \chpackage{changes}-package was carefully programmed and tested.
+Yet the possibility of errors in the package exists, you might encounter problem during use, or you might miss functionionality.
+In that case, please go to
+
+\input{userdoc/url.tex}
+
+There you can report errors, ask for help in the forum, or give advice to other users.
+You can view the source code, and change it according to your needs.
+I will try to include your changes in the maintained package.
+If you are a registered \emph{sourceforge} user you can be a co-author of the \chpackage{changes}-package.
+
+You can write me an email too, please send it to \input{userdoc/email}.
+In that case, please start your email subject with \texttt{[changes]}.
+
+Change markup of texts works well, it is possible to markup whole paragraphs.
+You cannot markup more than one paragraph at a time.
+You cannot markup figures or tables as well.
+
+There is a problem of typesetting footnotes in special environments, such as tables or tabbings.
+Since footnotes are the default markup of remarks, this would be a problem.
+You can solve this problem by defining another annotation of remarks.
+
+There are several possibilities of enhancing the \chpackage{changes}-package.
+I will describe but a few here, I will not implement them due to lack of time and/or skill.
+You can have a look at the more complete list of enhancements on the \emph{sourceforge} page.
+
+\begin{itemize}
+ \item selecting of acknowledged and rejected texts; deletion of the corresponding markup
+ \item markup of more than one paragraph
+ \item markup of figures and tables
+ \item automatic markup based on diff information (with regard to the limitations, such as markup of paragraphs, figures etc.)
+ \item translation of language dependent texts and the user documentation in other languages
+\end{itemize}
+
+
+%^^A ---- user interface
+\section{User interface of the \chpackage{changes}-package}
+\label{sec:user}
+
+This section describes the user interface of the \chpackage{changes}-package, i.e. all options and commands of the package.
+Every option respectively new command is described.
+If you want to see the options and commands in action, please refer to the examples in
+
+\input{userdoc/path_examples}
+
+The example files are named with the used option respectively command.
+
+A preliminary remark regarding typesetting of replaced text: replaced text is always typeset as follows: \meta{new text}\meta{old text}.
+Thus, there is no possiblity to influence the output of replaced text directly, but via changing the output of added respectively deleted text.
+
+
+%^^A -- options
+\subsection{Package Options}
+\label{sec:user:options}
+
+\subsubsection{draft}
+
+The \choption{draft}-option enables markup of changes.
+The list of changes is available via \chcommand{listofchanges}.
+This option is the default option, if no other option is selected.
+
+The \chpackage{changes} package reuses the declaration of \choption{draft} in \chcommand{documentclass}.
+The local declaration of \choption{final} overrules the declaration of \choption{draft} in \chcommand{documentclass}.
+
+\input{userdoc/option_draft}
+
+\subsubsection{final}
+The \choption{final}-option disables markup of changes, only the correct text will be shown.
+The list of changes is disabled, too.
+
+The \chpackage{changes} package reuses the declaration of \choption{final} in \chcommand{documentclass}.
+The local declaration of \choption{draft} overrules the declaration of \choption{final} in \chcommand{documentclass}.
+
+\input{userdoc/option_final}
+
+
+\subsubsection{markup}
+
+The \choption{markup} option chooses a predefined visual markup of changed text.
+The default markup is chosen if no explicit markup is given.
+The markup chosen with \choption{markup} can be overwritten with the more special markup options \choption{addedmarkup} and/or \choption{deletedmarkup}.
+
+The following values are allowed:
+\begin{description}
+ \item [\choption{default}] colored markup of added text, striked out for deleted text (default markup)
+ \item [\choption{underlined}] underlined for added text, striked out for deleted text
+ \item [\choption{bfit}] bold added text, italic deleted text
+ \item [\choption{nocolor}] no colored markup, underlined for added text, striked out for deleted text
+\end{description}
+
+\input{userdoc/option_markup}
+
+\subsubsection{addedmarkup, deletedmarkup}
+
+The \choption{addedmarkup} option chooses a predefined visual markup of added text.
+The \choption{deletedmarkup} option chooses a predefined visual markup of deleted text respectively.
+The default markup is chosen if no explicit markup is given.
+The options \choption{addedmarkup} and \choption{deletedmarkup} overwrite the markup chosen with \choption{markup}.
+
+The following values are allowed:
+\begin{description}
+ \item [\choption{none}] no markup -- example (default markup for added text)
+ \item [\choption{uline}] underlined text -- \uline{example}
+ \item [\choption{uuline}] double underlined text -- \uuline{example}
+ \item [\choption{uwave}] wavy underlined text -- \uwave{example}
+ \item [\choption{dashuline}] dashed underlined text -- \dashuline{example}
+ \item [\choption{dotuline}] dotted underlined text -- \dotuline{example}
+ \item [\choption{sout}] striked out text -- \sout{example} (default markup for deleted text)
+ \item [\choption{xout}] crossed out text -- \xout{example}
+ \item [\choption{bf}] bold text -- \textbf{example}
+ \item [\choption{it}] italic text -- \textit{example}
+ \item [\choption{sl}] slanted text -- \textsl{example}
+ \item [\choption{em}] emphasized text -- \emph{example}
+\end{description}
+
+\input{userdoc/option_addedmarkup}
+\input{userdoc/option_deletedmarkup}
+
+
+\subsubsection{authormarkup}
+
+The \choption{authormarkup} option chooses a predefined visual markup of the author's identification.
+The default markup is chosen if no explicit markup is given.
+
+The following values are allowed:
+\begin{description}
+ \item [\choption{superscript}] superscripted text -- text\textsuperscript{author} (default markup)
+ \item [\choption{subscript}] subscripted text -- text\textsubscript{author}
+ \item [\choption{brackets}] text in brackets -- text(author)
+ \item [\choption{footnote}] text in footnote -- text\footnote{author}
+\end{description}
+
+\input{userdoc/option_authormarkup}
+
+
+\subsubsection{authormarkupposition}
+
+The \choption{authormarkupposition} option chooses the position of the author's identification.
+The default value is chosen if no explicit markup is given.
+
+The following values are allowed:
+\begin{description}
+ \item [\choption{right}] right of the text -- text\textsuperscript{example} (default value)
+ \item [\choption{left}] left of the text -- \textsuperscript{example}text
+\end{description}
+
+\input{userdoc/option_authormarkupposition}
+
+
+\subsubsection{authormarkuptext}
+
+The \choption{authormarkuptext} option chooses the text that is used for the author's identification.
+The default value is chosen if no explicit markup is given.
+
+The following values are allowed:
+\begin{description}
+ \item [\choption{id}] author's id -- text\textsuperscript{id} (default value)
+ \item [\choption{name}] author's name -- text\textsuperscript{authorname}
+\end{description}
+
+\input{userdoc/option_authormarkuptext}
+
+
+\subsubsection{ulem}
+
+All options for the \chpackage{ulem} package can be specified as parameters of the \choption{ulem}-option.
+Two or more options have to be put in curly brackets.
+
+\input{userdoc/option_ulem}
+
+
+\subsubsection{xcolor}
+
+All options for the \chpackage{xcolor} package can be specified as parameters of the \choption{xcolor}-option.
+Two or more option have to be embraced in curly brackets.
+
+\input{userdoc/option_xcolor}
+
+
+%^^A -- Change management ----------------------------------------------------------
+\subsection{Change management}
+\label{sec:user:changemanagement}
+
+\subsubsection{\chcommand{added}}
+\DescribeMacro{\added}
+
+The command \chcommand{added} marks new text.
+The new text is the mandatory argument for the command, thus it is written in curly braces.
+There are two optional arguments: author-id and remark.
+The author-id has to be defined using \chcommand{definechangesauthor}.
+Use an empty author for an anonymous remark.
+
+\begin{chusage}
+ \>\chcommand{added[\meta{author's id}][\meta{remark}]\{\meta{new text}\}}\\
+ \usageexample
+ \>\texttt{This is \chcommand{added}[EK]\{new\} text.}\\
+ \>This is \added[EK]{new} text.\\
+ \>\texttt{This is \chcommand{added}[EK][has to be in it]\{new\} text.}\\
+ \>This is \added[EK][has to be in it]{new} text.\\
+ \>\texttt{This is \chcommand{added}[][anonymous]\{new\} text.}\\
+ \>This is \added[][anonymous]{new} text.
+\end{chusage}
+
+
+\subsubsection{\chcommand{deleted}}
+\DescribeMacro{\deleted}
+
+The command \chcommand{deleted} marks deleted text.
+For arguments see \chcommand{added}.
+
+\begin{chusage}
+ \>\chcommand{deleted[\meta{author's id}][\meta{remark}]\{\meta{deleted text}\}}\\
+ \usageexample
+ \>\texttt{This is \chcommand{deleted}[][obsolete]\{bad\} text.}\\
+ \>This is \deleted[][obsolete]{bad} text.
+\end{chusage}
+
+
+\subsubsection{\chcommand{replaced}}
+\DescribeMacro{\replaced}
+
+The command \chcommand{replaced} marks replaced text.
+Mandatory arguments are the new text and the old text.
+For optional arguments see \chcommand{added}.
+
+\begin{chusage}
+ \>\chcommand{replaced[\meta{author's id}][\meta{remark}]\{\meta{new text}\}\{\meta{old text}\}}\\
+ \usageexample
+ \>\texttt{This is \chcommand{replaced}[EK]\{nice\}\{bad\} text.}\\
+ \>This is \replaced[EK]{nice}{bad} text.
+\end{chusage}
+
+
+
+\subsubsection{\chcommand{listofchanges}}
+\DescribeMacro{\listofchanges}
+
+The command \chcommand{listofchanges} outputs a list of changes.
+The first \LaTeX-run creates an auxiliary file, the second run uses the data of this file.
+Therefore you need two \LaTeX-runs for an up-to-date list of changes.
+
+\input{userdoc/command_listofchanges}
+
+
+%^^A -- Author management -----------------------------------------------------
+\subsection{Author management}
+\label{sec:user:authormanagement}
+
+\subsubsection{\chcommand{definechangesauthor}}
+\DescribeMacro{\definechangesauthor}
+
+The command \chcommand{definechangesauthor} defines a new author for changes.
+You have to define a unique author's id, special characters or spaces are not allowed within the author's id.
+You may define a corresponding color and the author's name.
+If you do not define a color, black is used.
+The author's name is used in the list of changes and in the markup, if you set the corresponding option.
+
+\input{userdoc/command_definechangesauthor}
+
+
+%^^A -- Adaptation of the output -----------------------------------------------------
+\subsection{Adaptation of the output}
+\label{sec:user:customizingoutput}
+
+
+\subsubsection{\chcommand{setaddedmarkup}}
+\DescribeMacro{\setaddedmarkup}
+
+The command \chcommand{setaddedmarkup} defines the layout of added text.
+The default markup is colored text, or the markup set with the option \choption{markup} respectively \choption{addedmarkup}.
+
+Values for definition: any \LaTeX-commands, added text can be used with ``\#1''.
+
+\input{userdoc/command_setaddedmarkup}
+
+
+\subsubsection{\chcommand{setdeletedmarkup}}
+\DescribeMacro{\setdeletedmarkup}
+
+The command \chcommand{setdeletedmarkup} defines the layout of deleted text.
+The default markup is striked-out, or the markup set with the option \choption{markup} respectively \choption{deletedmarkup}.
+
+Values for definition: any \LaTeX-commands, deleted0 text can be used with ``\#1''.
+
+\input{userdoc/command_setdeletedmarkup}
+
+
+\subsubsection{\chcommand{setauthormarkup}}
+\DescribeMacro{\setauthormarkup}
+
+The command \chcommand{setauthormarkup} defines the layout of the author's markup in the text.
+The default markup is a superscripted author's text.
+
+Values for definition: any \LaTeX-commands, author's text can be used with ``\#1''.
+
+\input{userdoc/command_setauthormarkup}
+
+
+\subsubsection{\chcommand{setauthormarkupposition}}
+\DescribeMacro{\setauthormarkupposition}
+
+The command \chcommand{setauthormarkupposition} defines the position of the author's markup relative to the changed text.
+The default position is right of the changed text.
+
+Possible values: \emph{left} == left of the changes; all other values: right
+
+\input{userdoc/command_setauthormarkupposition}
+
+
+\subsubsection{\chcommand{setauthormarkuptext}}
+\DescribeMacro{\setauthormarkuptext}
+
+The command \chcommand{setauthormarkuptext} defines the text for the author's markup.
+The default markup is the author's id.
+
+Possible values: \emph{name} == author's name; all other values: author's id
+
+\input{userdoc/command_setauthormarkuptext}
+
+
+\subsubsection{\chcommand{setremarkmarkup}}
+\DescribeMacro{\setremarkmarkup}
+
+The command \chcommand{setremarkmarkup} defines the layout of remarks in the text.
+The default markup typesets the remark in a footnote.
+
+Values for definition: any \LaTeX-commands, author's id can be used with ``\#1'', the remark can be shown using ``\#2''.
+Using the author's id you can use the author's color with \texttt{Changes@Color\#1}.
+
+\input{userdoc/command_setremarkmarkup}
+
+
+\subsubsection{\chcommand{setlocextension}}
+\DescribeMacro{\setlocextension}
+
+The command \chcommand{setlocextension} sets the extension of the auxiliary file for the list of changes (loc-file\footnote{%
+ ``loc'' stands for ``list of changes''.
+}).
+The default extension is ``\texttt{loc}''.
+In the example stated below, the loc-file for ``\texttt{foo.tex}'' would be named ``\texttt{foo.changes}'' instead of the default name ``\texttt{foo.loc}''.
+
+\input{userdoc/command_setlocextension}
+
+
+%^^A ---- other
+\subsection{Other new commands}
+\label{sec:user:other}
+
+\subsubsection{\chcommand{textsubscript}}
+\DescribeMacro{\textsubscript}
+
+\LaTeX\ provides the command \chcommand{textsuperscript}, but not it's counterpart \chcommand{textsubscript}.
+If the command is not defined yet, it will be provided by the \chpackage{changes}-package.
+If the command is defined yet, it will not be changed.
+\begin{chusage}
+ \>\chcommand{textsubscript\{\meta{text}\}}\\
+ \usageexample
+ \>\texttt{This is a \chcommand{textsubscript\{subscript\}} text.}\\
+ \>This is a \textsubscript{subscript} text.
+\end{chusage}
+
+
+%^^A -- packages
+\subsection{Used packages}
+\label{sec:user:packages}
+
+The \chpackage{changes}-package uses already existing packages for it's functions.
+You will find detailed description of the packages in their distributions.
+
+The following packages are always required and have to be installed for the \chpackage{changes}-package:
+\begin{description}
+ \item [xifthen] provides an enhanced \chcommand{if}-command as well as a \texttt{while}-loop
+ \item [xkeyval] provides options with key-value-pairs
+\end{description}
+
+The following packages are sometimes required and have to be installed if used by the corresponding option:
+\begin{description}
+ \item [pdfcolmk] loaded if colored text is used for markup (default markup); solves the problem of colored text and page breaks (with pdflatex)
+ \item [ulem] loaded if text has to be striked or exed out (default markup)
+ \item [xcolor] loaded if colored text is used for markup (default markup)
+\end{description}
+
+
+%^^A -- Authors -------------------------------------------------------------
+\section{Authors}
+\label{sec:authors}
+
+Several authors contributed to the \chpackage{changes}-package.
+The authors are (in alphabetical order):
+\input{userdoc/authors}
+
+
+%^^A -- Versions -------------------------------------------------------------
+\section{Versions}
+\label{sec:versions}
+
+\minisec{Version 0.6.0}
+
+Date: 2012/01/11
+\begin{itemize}
+ \item Italian translations of captions by Daniele Giovannini
+ \item redefined user interface for setting options and definitions of markup and authors
+ \item restructuring and code improvement
+ \item improved documentation including typical use case
+ \item example files for all options and commands
+ \item by default remarks are not colored anymore
+\end{itemize}
+
+\minisec{Version 0.5.4}
+
+Date: 2011/04/25
+\begin{itemize}
+ \item extraction of user documentation in separate file
+ \item default language changed to English
+ \item new script for removal of \chpackage{changes} commands by Silvano Chiaradonna
+\end{itemize}
+
+\minisec{Version 0.5.3}
+
+Date: 2010/11/22
+\begin{itemize}
+ \item document options of \chcommand{documentclass} are used too (suggestion and code of Steve Wolter)
+\end{itemize}
+
+\minisec{Version 0.5.2}
+
+Date: 2007/10/10
+\begin{itemize}
+ \item package options for \chpackage{ulem} and \chpackage{xcolor} are passed to the packages
+\end{itemize}
+
+\minisec{Version 0.5.1}
+
+Date: 2007/08/27
+\begin{itemize}
+ \item deleted text is striked out again using package \chpackage{ulem}, greying didn't work
+\end{itemize}
+
+\minisec{Version 0.5}
+
+Date: 2007/08/26
+\begin{itemize}
+ \item no usage of package \chpackage{arrayjob} anymore, thus no errors using package \chpackage{array}
+ \item switch to UTF-8-encoding
+ \item no usage of package \chpackage{soul} anymore, thus no errors using UTF-8-encoding
+ \item markup for deleted text changed to gray background, because there's no possibility to conveniently strike out UTF-8-text
+ \item new optional argument for author's name
+ \item colored list of changes
+ \item changed loc file format
+ \item improved English documentation
+\end{itemize}
+
+\minisec{Version 0.4}
+
+Date: 2007/01/24
+\begin{itemize}
+ \item included \chpackage{pdfcolmk} to solve problem with colored text and page breaks
+ \item extended \chcommand{setremarkmarkup} with author's id for using color in remarks
+ \item by default remarks are colored now
+ \item first version uploaded to CTAN
+\end{itemize}
+
+\minisec{Version 0.3}
+
+Date: 2007/01/22
+\begin{itemize}
+ \item English user-documentation
+ \item replaced command \chcommand{changed} with \chcommand{replaced}
+ \item improved \choption{final}-option: no additional space
+\end{itemize}
+
+\minisec{Version 0.2}
+
+Date: 2007/01/17
+\begin{itemize}
+ \item defined loc-names when missing \chpackage{babel}-package
+ \item new commands \chcommand{setauthormarkup}, \chcommand{setlocextension}, \chcommand{setremarkmarkup}
+ \item generated examples
+ \item inserted LPPL
+\end{itemize}
+Bugfixes
+\begin{itemize}
+ \item fixed wrong \chpackage{ifthen} package placement
+ \item fixed error in loc, always showing ``added''
+ \item fixed authormarkup (\chcommand{if}-condition not bugfree)
+\end{itemize}
+
+\minisec{Version 0.1}
+
+Date: 2007/01/16
+\begin{itemize}
+ \item initial version
+ \item commands \chcommand{added}, \chcommand{deleted}, and \chcommand{changed}
+\end{itemize}
+
+
+%^^A ---- copyright, license
+\section{Distribution, Copyright, License}
+
+\input{userdoc/copyright}
+
+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 \url{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
+
+\input{userdoc/files_original}
+
+and the derived files
+
+\input{userdoc/files_generated}
+
+%^^A end of user documentation
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_definechangesauthor.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_definechangesauthor.tex
new file mode 100644
index 00000000000..d1396deea56
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_definechangesauthor.tex
@@ -0,0 +1,8 @@
+\begin{chusage}
+ \>\chcommand{definechangesauthor[name=\{\meta{author's name}\}, color=\{\meta{color}\}]\{\meta{author's id}\}}\\
+ \usageexample
+ \>\chcommand{definechangesauthor\{EK\}}\\
+ \>\chcommand{definechangesauthor[color=orange]\{EK\}}\\
+ \>\chcommand{definechangesauthor[name=\{Ekkart Kleinod\}]\{EK\}}\\
+ \>\chcommand{definechangesauthor[name=\{Ekkart Kleinod\}, color=orange]\{EK\}}
+\end{chusage}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_listofchanges.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_listofchanges.tex
new file mode 100644
index 00000000000..af1a6ea95f2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_listofchanges.tex
@@ -0,0 +1,3 @@
+\begin{chusage}
+ \>\chcommand{listofchanges}
+\end{chusage}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setaddedmarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setaddedmarkup.tex
new file mode 100644
index 00000000000..5dfa8716f08
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setaddedmarkup.tex
@@ -0,0 +1,6 @@
+\begin{chusage}
+ \>\chcommand{setaddedmarkup\{\meta{definition}\}}\\
+ \usageexample
+ \>\chcommand{setaddedmarkup\{}\chcommand{emph\{\#1\}}\}\\
+ \>\chcommand{setaddedmarkup\{+++: \#1\}}
+\end{chusage}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkup.tex
new file mode 100644
index 00000000000..4e4799c9905
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkup.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{setauthormarkup\{\meta{definition}\}}\\
+ \usageexample
+ \>\chcommand{setauthormarkup\{(\#1)\}}\\
+ \>\chcommand{setauthormarkup\{(\#1)\textasciitilde{}-{}-\textasciitilde{}\}}\\
+ \>\chcommand{setauthormarkup\{}\chcommand{marginpar\{\#1\}\}}
+\end{chusage}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkupposition.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkupposition.tex
new file mode 100644
index 00000000000..b224f66587b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkupposition.tex
@@ -0,0 +1,6 @@
+\begin{chusage}
+ \>\chcommand{setauthormarkupposition\{\meta{position}\}}\\
+ \usageexample
+ \>\chcommand{setauthormarkupposition\{left\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkuptext.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkuptext.tex
new file mode 100644
index 00000000000..85a3cdae418
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setauthormarkuptext.tex
@@ -0,0 +1,6 @@
+\begin{chusage}
+ \>\chcommand{setauthormarkuptext\{\meta{text}\}}\\
+ \usageexample
+ \>\chcommand{setauthormarkuptext\{name\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setdeletedmarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setdeletedmarkup.tex
new file mode 100644
index 00000000000..2ea902b70cc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setdeletedmarkup.tex
@@ -0,0 +1,6 @@
+\begin{chusage}
+ \>\chcommand{setdeletedmarkup\{\meta{definition}\}}\\
+ \usageexample
+ \>\chcommand{setdeletedmarkup\{}\chcommand{emph\{\#1\}}\}\\
+ \>\chcommand{setdeletedmarkup\{---: \#1\}}
+\end{chusage}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setlocextension.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setlocextension.tex
new file mode 100644
index 00000000000..951375f6856
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setlocextension.tex
@@ -0,0 +1,6 @@
+\begin{chusage}
+ \>\chcommand{setlocextension\{\meta{extension}\}}\\
+ \usageexample
+ \>\chcommand{setlocextension\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/command_setremarkmarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/command_setremarkmarkup.tex
new file mode 100644
index 00000000000..01b689dfc82
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/command_setremarkmarkup.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{setremarkmarkup\{\meta{definition}\}}\\
+ \usageexample
+ \>\chcommand{setremarkmarkup\{(\#2 --- \#1)\}}\\
+ \>\chcommand{setremarkmarkup\{\chcommand{footnote}\{\#1:\chcommand{textcolor\{Changes@Color\#1\}}\{\#2\}\}\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/copyright.tex b/Master/texmf-dist/source/latex/changes/userdoc/copyright.tex
new file mode 100644
index 00000000000..d6d16b6579f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/copyright.tex
@@ -0,0 +1 @@
+Copyright 2007-2012 Ekkart Kleinod (\input{userdoc/email})
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/email.tex b/Master/texmf-dist/source/latex/changes/userdoc/email.tex
new file mode 100644
index 00000000000..f787f28700b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/email.tex
@@ -0,0 +1 @@
+\href{mailto:ekleinod@edgesoft.de}{ekleinod@edgesoft.de}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/files_generated.tex b/Master/texmf-dist/source/latex/changes/userdoc/files_generated.tex
new file mode 100644
index 00000000000..823ed02db25
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/files_generated.tex
@@ -0,0 +1,13 @@
+\begin{tabbing}
+ mm\=\kill
+ \>\texttt{doc/latex/changes/changes.english.pdf}\\
+ \>\texttt{doc/latex/changes/changes.english.withcode.pdf}\\
+ \>\texttt{doc/latex/changes/changes.ngerman.pdf}\\
+ \>\texttt{doc/latex/changes/changes.ngerman.withcode.pdf}\\
+
+ \>\texttt{doc/latex/changes/examples/changes.example.*.tex}\\
+ \>\texttt{doc/latex/changes/examples/changes.example.*.pdf}\\
+
+ \>\texttt{tex/latex/changes/changes.sty}
+\end{tabbing}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/files_original.tex b/Master/texmf-dist/source/latex/changes/userdoc/files_original.tex
new file mode 100644
index 00000000000..f3dce8da50b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/files_original.tex
@@ -0,0 +1,12 @@
+\begin{tabbing}
+ mm\=\kill
+ \>\texttt{source/latex/changes/changes.drv}\\
+ \>\texttt{source/latex/changes/changes.dtx}\\
+ \>\texttt{source/latex/changes/changes.ins}\\
+ \>\texttt{source/latex/changes/examples.dtx}\\
+ \>\texttt{source/latex/changes/README}\\
+ \>\texttt{source/latex/changes/userdoc/*.tex}\\
+
+ \>\texttt{scripts/changes/delcmdchanges.bash}
+\end{tabbing}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_addedmarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_addedmarkup.tex
new file mode 100644
index 00000000000..8c77884467e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_addedmarkup.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{usepackage[addedmarkup=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[addedmarkup=none]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[addedmarkup=uline]\{changes\}}\\
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkup.tex
new file mode 100644
index 00000000000..eb7efab080d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkup.tex
@@ -0,0 +1,9 @@
+\begin{chusage}
+ \>\chcommand{usepackage[authormarkup=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[authormarkup=superscript]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[authormarkup=subscript]\{changes\}}\\
+ \>\chcommand{usepackage[authormarkup=brackets]\{changes\}}\\
+ \>\chcommand{usepackage[authormarkup=footnote]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkupposition.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkupposition.tex
new file mode 100644
index 00000000000..a923b716bec
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkupposition.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{usepackage[authormarkupposition=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[authormarkupposition=right]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[authormarkupposition=left]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkuptext.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkuptext.tex
new file mode 100644
index 00000000000..7bb93fb8cd4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_authormarkuptext.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{usepackage[authormarkuptext=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[authormarkuptext=id]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[authormarkuptext=name]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_deletedmarkup.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_deletedmarkup.tex
new file mode 100644
index 00000000000..2105fa7da4c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_deletedmarkup.tex
@@ -0,0 +1,8 @@
+\begin{chusage}
+ \>\chcommand{usepackage[deletedmarkup=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[deletedmarkup=sout]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[deletedmarkup=xout]\{changes\}}\\
+ \>\chcommand{usepackage[deletedmarkup=uwave]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_draft.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_draft.tex
new file mode 100644
index 00000000000..ddcd8a644e7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_draft.tex
@@ -0,0 +1 @@
+\chcommand{usepackage[draft]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_final.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_final.tex
new file mode 100644
index 00000000000..23a40aca770
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_final.tex
@@ -0,0 +1 @@
+\chcommand{usepackage[final]\{changes\}}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_markup.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_markup.tex
new file mode 100644
index 00000000000..30e31bc4ae2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_markup.tex
@@ -0,0 +1,9 @@
+\begin{chusage}
+ \>\chcommand{usepackage[markup=\meta{markup}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[markup=default]\{changes\}} \Corresponds\ \chcommand{usepackage\{changes\}}\\
+ \>\chcommand{usepackage[markup=underlined]\{changes\}}\\
+ \>\chcommand{usepackage[markup=bfit]\{changes\}}\\
+ \>\chcommand{usepackage[markup=nocolor]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_ulem.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_ulem.tex
new file mode 100644
index 00000000000..8031ed692a4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_ulem.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{usepackage[ulem=\meta{options}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[ulem=normalem]\{changes\}}\\
+ \>\chcommand{usepackage[ulem=\{normalem,normalbf\}]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/option_xcolor.tex b/Master/texmf-dist/source/latex/changes/userdoc/option_xcolor.tex
new file mode 100644
index 00000000000..6c678cac6a7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/option_xcolor.tex
@@ -0,0 +1,7 @@
+\begin{chusage}
+ \>\chcommand{usepackage[xcolor=\meta{options}]\{changes\}}\\
+ \usageexample
+ \>\chcommand{usepackage[xcolor=dvipdf]\{changes\}}\\
+ \>\chcommand{usepackage[xcolor=\{dvipdf,gray\}]\{changes\}}
+\end{chusage}
+
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/path_examples.tex b/Master/texmf-dist/source/latex/changes/userdoc/path_examples.tex
new file mode 100644
index 00000000000..b8eea80e0df
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/path_examples.tex
@@ -0,0 +1 @@
+\texttt{<texpath>/doc/latex/changes/examples/}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/path_scripts.tex b/Master/texmf-dist/source/latex/changes/userdoc/path_scripts.tex
new file mode 100644
index 00000000000..5173e8f75c6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/path_scripts.tex
@@ -0,0 +1 @@
+\texttt{<texpath>/scripts/changes/}
diff --git a/Master/texmf-dist/source/latex/changes/userdoc/url.tex b/Master/texmf-dist/source/latex/changes/userdoc/url.tex
new file mode 100644
index 00000000000..e04f57341ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/changes/userdoc/url.tex
@@ -0,0 +1 @@
+\url{http://changes.sourceforge.net/}