156 lines
7.9 KiB
TeX
156 lines
7.9 KiB
TeX
%%
|
|
%% This is file `ed.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% ed.dtx (with options: `package')
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
\ProvidesPackage{ed}[2012/01/29 v1.8 Editorial Notes]
|
|
\newif\ifshowednotes\showednotesfalse
|
|
\newif\ifmargins\marginstrue
|
|
\newif\ifmarginnote\marginnotefalse
|
|
\newif\ifednotebookmarks\ednotebookmarksfalse
|
|
\DeclareOption{show}{\showednotestrue\message{ed.sty: showing ednotes}}
|
|
\DeclareOption{hide}{\showednotesfalse\message{ed.sty: hiding ednotes}}
|
|
\DeclareOption{draft}{\showednotestrue\message{ed.sty: showing ednotes}}
|
|
\DeclareOption{final}{\showednotesfalse\message{ed.sty: hiding ednotes}}
|
|
\DeclareOption{nomargins}{\marginsfalse}
|
|
\DeclareOption{marginnote}{\marginnotetrue}
|
|
\DeclareOption{pdfbookmarks}{\ednotebookmarkstrue}
|
|
\ProcessOptions
|
|
\ifshowednotes
|
|
\RequirePackage{xcolor}
|
|
\ifmarginnote\RequirePackage{marginnote}\fi
|
|
\else
|
|
\RequirePackage{verbatim}
|
|
\fi
|
|
\ifednotebookmarks
|
|
\RequirePackage{hyperref}
|
|
\fi
|
|
\newcommand\ednoteshape{\sffamily}
|
|
\newcounter{ednote}
|
|
\newcommand\ed@foot[3]% text, type, label
|
|
{\def\@test{#3}\footnotetext[\arabic{ednote}]%
|
|
{{\scshape{#2}\if\@test\@empty\else\label{ed:#3}[{#3}]\fi:} \ednoteshape #1}}
|
|
\def\ed@mark@style#1{#1}
|
|
\newcommand\ed@mark[1]{\ed@mark@style{\footnotemark[#1]}}
|
|
\newcommand\ed@footnote[3]{\ed@mark{\arabic{ednote}}\ed@foot{#1}{#2}{#3}}
|
|
\newcommand\ed@margin[1]{\ifmargins\ifmarginnote\marginnote{#1}\else\marginpar{#1}\fi\fi}
|
|
\newcommand\Ed@note[3]% text, type, label
|
|
{\addtocounter{ednote}{1}\message{#2!}%
|
|
\ifshowednotes\ed@footnote{#1}{#2}{#3}\ifednotebookmarks\belowpdfbookmark{#2: #1}{#2.\theednote}\fi\fi}
|
|
\newcommand\ed@note[4]% text, type, label, margin
|
|
{\Ed@note{#1}{#2}{#3}\ifshowednotes\ed@margin{#4:\arabic{ednote}}\fi}
|
|
\newcommand\ednote@label{EdNote}
|
|
\newcommand\ednote@margin{\textcolor{red}{EdN}}
|
|
\newcommand\ednotelabel[1]{\def\ednote@label{#1}}
|
|
\newcommand\ednotemargin[1]{\def\ednote@margin{#1}}
|
|
\newcommand{\Ednote}[2][]{\Ed@note{#2}\ednote@label{#1}}
|
|
\newcommand{\ednote}[2][]{\ed@note{#2}\ednote@label{#1}\ednote@margin}
|
|
\newcommand\tweaklabel[1]{\def\tweak@label{#1}}
|
|
\newcommand\tweak@label{Tweak}
|
|
\newcommand\tweakmargin[1]{\def\tweak@margin{#1}}
|
|
\newcommand\tweak@margin{Tw}
|
|
\newcommand{\tweak}[2][]{\ed@note{#2}\tweak@label{#1}\tweak@margin}
|
|
\newcommand{\Tweak}[2][]{\Ed@note{#2}\tweak@label{#1}}
|
|
\newcommand\edissue@label{Issue}
|
|
\newcommand\edissuelabel[1]{\def\edissue@label{#1}}
|
|
\newcommand\edissue@margin{Is}
|
|
\newcommand\edissuemargin[1]{\def\edissue@margin{#1}}
|
|
\providecommand{\issue}[2][]{\ed@note{#2}\edissue@label{#1}\edissue@margin}
|
|
\providecommand{\Issue}[2][]{\Ed@note{#2}\edissue@label{#1}}
|
|
\newcommand{\edissue}[2][]{\ed@note{#2}\edissue@label{#1}\edissue@margin}
|
|
\newcommand{\edIssue}[2][]{\Ed@note{#2}\edissue@label{#1}}
|
|
\newenvironment{Ed@part}[3]% text, mess, start
|
|
{\addtocounter{ednote}{1}\edef\new@number{\theednote}\message{#2!\new@number}
|
|
\ifshowednotes\ed@foot{#1}{#2}{}\fi\ignorespaces}
|
|
{}
|
|
\def\ed@part#1#2#3#4% text, mess, start, margin
|
|
{\Ed@part{#1}{#2}{#3}\ifshowednotes\ed@margin{#4:\new@number}\fi\ignorespaces}
|
|
\def\ended@part#1{\endEd@part\ifshowednotes\ed@margin{#1:\new@number}\fi}
|
|
\newcommand\b@newpart@label{\textrcolor{red}{BegNP}}\newcommand\e@newpart@label{\textcolor{red}{EndNP}}
|
|
\newcommand\b@newpart@margin{\textcolor{red}{BNP}}\newcommand\e@newpart@margin{\textcolor{red}{ENP}}
|
|
\newcommand\newpartlabels[2]{\def\b@newpart@label{#1}\def\e@newpart@label{#2}}
|
|
\newcommand\newpartmargins[2]{\def\b@newpart@margin{#1}\def\e@newpart@margin{#2}}
|
|
\newenvironment{Newpart}[1]{\Ed@part{#1}{New Part}\b@newpart@label}{\endEd@part}
|
|
\newenvironment{newpart}[1]{\ed@part{#1}{New Part}\b@newpart@label\b@newpart@margin\ignorespaces}{\ended@part\e@newpart@margin}
|
|
\newcommand\oldpartlabels[2]{\def\b@oldpart@label{#1}\def\e@oldpart@label{#2}}
|
|
\newcommand\oldpartmargins[2]{\def\b@oldpart@margin{#1}\def\e@oldpart@margin{#2}}
|
|
\newcommand\b@oldpart@label{BegOP}\newcommand\e@oldpart@label{EndOP}
|
|
\newcommand\b@oldpart@margin{\textcolor{red}{BOP}}\newcommand\e@oldpart@margin{\textcolor{red}{EOP}}
|
|
\newenvironment{Oldpart}[1]%
|
|
{\Ed@part{#1}{Old Part}\b@oldpart@label\ifshowednotes\color{gray}\fi}
|
|
{\endEd@part}
|
|
\newenvironment{oldpart}[1]%
|
|
{\ed@part{#1}{Old Part}\b@oldpart@label\b@oldpart@margin\ifshowednotes\color{gray}\fi}
|
|
{\ended@part\e@oldpart@margin}
|
|
\newcommand\todolabels[2]{\def\b@todo@label{#1}\def\e@todo@label{#2}}
|
|
\newcommand\todomargins[2]{\def\b@todo@margin{#1}\def\e@todo@margin{#2}}
|
|
\newcommand\b@todo@label{ToDo}\newcommand\e@todo@label{Done}
|
|
\newcommand\b@todo@margin{ToDo}\newcommand\e@todo@margin{Done}
|
|
\newenvironment{Todo}[1]%
|
|
{\Ed@part{#1}{To Do}\b@todo@label\ifshowednotes\bgroup\ednoteshape\else\comment\fi}
|
|
{\endEd@part\e@todo@label\ifshowednotes\egroup\else\endcomment\fi}
|
|
\newenvironment{todo}[1]%
|
|
{\ed@part{#1}{To Do}\b@todo@label\b@todo@margin\ifshowednotes\bgroup\ednoteshape\else\comment\fi}
|
|
{\ended@part\e@todo@margin\ifshowednotes\egroup\else\endcomment\fi}
|
|
\newenvironment{Todolist}[1]{% the comment
|
|
\ifshowednotes\message{todolist!}{{\ednoteshape To Do: #1}}\bgroup\ednoteshape\begin{enumerate}%
|
|
\else\comment%
|
|
\fi}
|
|
{\ifshowednotes\end{enumerate}\egroup\else\endcomment\fi}
|
|
\newenvironment{todolist}[1]{\ifshowednotes\ed@margin{{\ednoteshape ToDo}}\Todolist{#1}\fi}
|
|
{\endTodolist}
|
|
\newenvironment{musings}{\ifshowednotes\color{blue}\fi}{}
|
|
\def\ed@stubURI{}
|
|
\newcommand\edstuURI[1]{\gdef\ed@stubURI{#1}}
|
|
\newif\ifhref\hreffalse
|
|
\AtBeginDocument{\@ifpackageloaded{hyperref}{\hreftrue}{\hreffalse}}
|
|
\newenvironment{edstub}[2][]
|
|
{\def\@test{#1}\begin{center}\huge\color{red}
|
|
\ifx\@test\@empty The following blue text \else #1 \fi is only a provisional stub\\\Large
|
|
the Office document
|
|
\ifx\ed@stubURI\@empty{#2}\else\ifhref\href{\ed@stubURI}{#2}\else{#2}\fi\fi\
|
|
contains more text\\which will be merged for the final document
|
|
\end{center}\color{blue}}
|
|
{}
|
|
\newcommand\@ednotemessage{\ifnum\value{ednote}>0\typeout{}%
|
|
\typeout{There are still \arabic{ednote} EdNotes, New/Oldparts, and Issues to resolve!}%
|
|
\typeout{}\fi}
|
|
\AtEndDocument{\@ednotemessage}
|
|
\newcommand\ednotemessage{\PackageWarning{ed}{The `\ednotemessage' macro is obsolete, the message
|
|
is generated automatically now.}}
|
|
\newcommand\edexplanation{\todolist{we will use the ednote system to communicate}
|
|
\item use the {\tt{\char92ednote\char123author: some explanatory text\char125}}
|
|
like a footnote to say what you have done or what should still be
|
|
done\ednote{MiKo: this is an example of an ednote}. Ednotes are numbered and
|
|
marked in the margin for easy recognition.
|
|
\item use the {\tt{\char92issue\char123author: explanation of the
|
|
issue\char125}} variant of ednote for issues\issue{this is an example of
|
|
an issue} that still have to be discussed.
|
|
\item finally, the {\tt{todolist}} environment is a list environment that can be
|
|
used to mark up todo lists. This explanation is an example of a todo list, it
|
|
is inserted into the text in a different font.
|
|
\item the {\tt{newpart}} environment can be used to mark up changed text blocks.
|
|
{\tt{\char92begin\char123newpart\char125}} takes an argument that is
|
|
interpreted as a comment and is treated like an {\tt{\char92ednote}} comment.
|
|
\item the {\tt{oldpart}} environment is similar to {\tt{newpart}} but is used
|
|
for old parts of text copied from another document that still need to be
|
|
changed in a document.
|
|
\item putting the macro {\tt{\char92ednotemessage}} just before the
|
|
{\tt{char92end\char123document\char125}} will generate a message with
|
|
cardinality information for the ednotes into the log file.
|
|
\item all of these text decorations and meta-annotations are only inserted into
|
|
the text, if the {\tt{show}} package option in the {\tt{\char92 usepackage}}
|
|
directive in the preamble of the document is set: {\tt{\char92
|
|
usepackage[show]\char123ed\char125}} will show the decorations, while
|
|
{\tt{\char92 usepackage\char123ed\char125}} will not. This is useful for
|
|
preparing ``clean'' version for outside consumption without loosing the
|
|
management metadata.
|
|
\endtodolist}
|
|
\endinput
|
|
%%
|
|
%% End of file `ed.sty'.
|