summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ed/ed.sty
blob: d65bb3172ea88c74d2ed08585352267fe921c7ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
%%
%% 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}[2011/01/16 v1.7 Editorial Notes]
\newif\ifshowednotes\showednotesfalse
\newif\ifmargins\marginstrue
\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}
\ProcessOptions
\ifshowednotes
\RequirePackage{paralist}
\RequirePackage{xcolor}
\else
\RequirePackage{verbatim}
\fi
\def\ednoteshape{\sffamily}
\newcounter{ednote}
\def\ed@foot#1#2#3% text, type, label
{\def\test{#3}\def\empty{}\footnotetext[\value{ednote}]%
{{\scshape{#2}\if\test\empty\else\label{ed:#3}[{#3}]\fi:} \ednoteshape #1}}
\def\ed@margin#1{\ifmargins\marginpar{#1}\fi}
\def\Ed@note#1#2#3% text, type, label
{\addtocounter{ednote}{1}\message{#2!}%
\ifshowednotes\footnotemark[\arabic{ednote}]\ed@foot{#1}{#2}{#3}\fi}
\def\ed@note#1#2#3% text, type, label
{\Ed@note{#1}{#2}{#3}\ifshowednotes\ed@margin{#2:\arabic{ednote}}\fi}
\def\ednote@label{EdNote}
\newcommand\ednotelabel[1]{\def\ednote@label{#1}}
\newcommand{\Ednote}[2][]{\Ed@note{#2}\ednote@label{#1}}
\newcommand{\ednote}[2][]{\ed@note{#2}\ednote@label{#1}}
\newcommand\tweaklabel[1]{\def\tweak@label{#1}}
\def\tweak@label{Tweak}
\newcommand{\tweak}[2][]{\ed@note{#2}\tweak@label{#1}}
\newcommand{\Tweak}[2][]{\Ed@note{#2}\tweak@label{#1}}
\def\edissue@label{Issue}
\newcommand\edissuelabel[1]{\def\edissue@label{#1}}
\providecommand{\issue}[2][]{\ed@note{#2}\edissue@label{#1}}
\providecommand{\Issue}[2][]{\Ed@note{#2}\edissue@label{#1}}
\newcommand{\edissue}[2][]{\ed@note{#2}\edissue@label{#1}}
\newcommand{\edIssue}[2][]{\Ed@note{#2}\edissue@label{#1}}
\def\new@part#1#2#3% text, mess, start
{\addtocounter{ednote}{1}\edef\new@number{\theednote}\message{#2!\new@number}
\ifshowednotes\ed@foot{#1}{#2}{}\ed@margin{#3:\new@number}\fi}
\def\endnew@part#1% end
{\ifshowednotes\ed@margin{#1:\new@number}\fi}
\def\b@newpart@label{BegNP}\def\e@newpart@label{EndNP}
\newcommand\newpartlabels[2]{\def\b@newpart@label{#1}\def\e@newpart@label{#2}}
\newenvironment{Newpart}[1]{\new@part{#1}{New Part}\b@newpart@label}{}
\newenvironment{newpart}[1]{\new@part{#1}{New Part}\b@newpart@label}{\endnew@part\e@newpart@label}
\newcommand\oldpartlabels[2]{\def\b@oldpart@label{#1}\def\e@oldpart@label{#2}}
\def\b@oldpart@label{BegOP}\def\e@oldpart@label{EndOP}
\newenvironment{Oldpart}[1]%
{\new@part{#1}{Old Part}\b@oldpart@label\ifshowednotes\color{gray}\fi}{}
\newenvironment{oldpart}[1]%
{\new@part{#1}{Old Part}\b@oldpart@label\ifshowednotes\color{gray}\fi}
{\endnew@part\e@oldpart@label}
\newcommand\todolabel[1]{\def\todo@label{#1}}
\def\todo@label{ToDo}
\newcommand{\Todo}[2][]{\Ed@note{#2}\todo@label{#1}\ifshowednotes\bgroup\sffamily\else\comment\fi}
\def\endTodo{\ifshowednotes\egroup\else\endcomment\fi}
\newcommand{\todo}[2][]{\ed@note{#2}\todo@label{#1}\ifshowednotes\bgroup\sffamily\else\comment\fi}
\def\endtodo{\endTodo}
\def\Todolist#1{% the comment
\ifshowednotes\message{todolist!}{{\sffamily To Do: #1}}\bgroup\sffamily\begin{compactenum}%
\else\comment%
\fi}
\def\endTodolist{\ifshowednotes\end{compactenum}\egroup\else\endcomment\fi}
\def\todolist#1{\ifshowednotes\ed@margin{{\sffamily ToDo}}\Todolist{#1}\fi}
\def\endtodolist{\endTodolist}
\newenvironment{musings}{\ifshowednotes\color{blue}\fi}{}
\def\@ednotemessage{\ifnum\value{ednote}>0\typeout{}%
\typeout{There are still \arabic{ednote} EdNotes, New/Oldparts, and Issues to resolve!}%
\typeout{}\fi}
\AtEndDocument{\@ednotemessage}
\def\ednotemessage{\PackageWarning{ed}{The `\ednotemessage' macro is obsolete, the message
  is generated automatically now.}}
\long\def\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'.