From 483f7f233f9cc6004c32b5b1569a0d21f277e2fc Mon Sep 17 00:00:00 2001 From: "Dr. Clea F. Rees" Date: Mon, 8 Dec 2008 01:28:39 +0000 Subject: todonotes (update 2008/12/08) git-svn-id: svn://tug.org/texlive/trunk@11550 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/todonotes/todonotes.pdf | Bin 160481 -> 178139 bytes .../doc/latex/todonotes/todonotesexample.pdf | Bin 29412 -> 35310 bytes .../doc/latex/todonotes/todonotesexample.tex | 14 +- .../source/latex/todonotes/todonotes.dtx | 413 +++++++++++++++------ .../texmf-dist/tex/latex/todonotes/todonotes.sty | 218 ++++++----- 5 files changed, 443 insertions(+), 202 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/todonotes/todonotes.pdf b/Master/texmf-dist/doc/latex/todonotes/todonotes.pdf index be7b4cb22a8..2d30fbdb5f8 100644 Binary files a/Master/texmf-dist/doc/latex/todonotes/todonotes.pdf and b/Master/texmf-dist/doc/latex/todonotes/todonotes.pdf differ diff --git a/Master/texmf-dist/doc/latex/todonotes/todonotesexample.pdf b/Master/texmf-dist/doc/latex/todonotes/todonotesexample.pdf index db5989fff16..dbc201b22fa 100644 Binary files a/Master/texmf-dist/doc/latex/todonotes/todonotesexample.pdf and b/Master/texmf-dist/doc/latex/todonotes/todonotesexample.pdf differ diff --git a/Master/texmf-dist/doc/latex/todonotes/todonotesexample.tex b/Master/texmf-dist/doc/latex/todonotes/todonotesexample.tex index 9b96f7aa191..5e869794191 100644 --- a/Master/texmf-dist/doc/latex/todonotes/todonotesexample.tex +++ b/Master/texmf-dist/doc/latex/todonotes/todonotesexample.tex @@ -1,11 +1,22 @@ \documentclass{article} \usepackage[colorlinks]{hyperref} \usepackage[colorinlistoftodos, textwidth=4cm]{todonotes} +\usepackage{amsmath} +\usepackage[displaymath, tightpage]{preview} -\begin{document} +\begin{document} +%\begin{preview} +\begin{align} +\sin(x)^2 + \cos(x)^2 = 1 +\end{align} +%\end{preview} \listoftodos +\begin{align} +\sin(x)^2 + \cos(x)^2 = 1 +\end{align} + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla \todo{Plain todonotes.}% urna. Maecenas interdum nunc in augue. Mauris quis massa in ante @@ -17,6 +28,7 @@ Phasellus libero ipsum, tempor a, pharetra consequat, pellentesque sit amet, sem. Praesent ut augue luctus elit adipiscing ultricies. Vestibulum suscipit cursus leo. Nullam molestie justo. + Morbi dui. Morbi convallis mi sed sem. Nulla convallis lacus vitae risus. Phasellus adipiscing. Nullam tortor. Sed laoreet aliquam ante. Vestibulum diam. Pellentesque nec leo. Pellentesque velit. diff --git a/Master/texmf-dist/source/latex/todonotes/todonotes.dtx b/Master/texmf-dist/source/latex/todonotes/todonotes.dtx index f08adc9c118..095baeb55b5 100644 --- a/Master/texmf-dist/source/latex/todonotes/todonotes.dtx +++ b/Master/texmf-dist/source/latex/todonotes/todonotes.dtx @@ -22,14 +22,14 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{todonotes} %<*package> - [2008/11/07 .dtx Todonotes source and documentation.] + [2008/12/07 .dtx Todonotes source and documentation.] % % %<*driver> \documentclass{ltxdoc} \usepackage{wrapfig} \usepackage[colorlinks, linkcolor=black]{hyperref} -\usepackage[colorinlistoftodos]{todonotes}[2008/11/07] +\usepackage[prependcaption, colorinlistoftodos]{todonotes}[2008/12/07] \usepackage{setspace} \EnableCrossrefs \CodelineIndex @@ -44,7 +44,7 @@ % % \fi % -% \CheckSum{0} +% \CheckSum{309} % % \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 @@ -93,8 +93,14 @@ % Braun.} % \changes{0.6}{2008/10/24}{Added the caption option to the todo % command.} -% \changes{0.6.1}{2008/11/07}{Added a new usecas with decreased line +% \changes{0.6.1}{2008/11/07}{Added a new usecase with decreased line % spacing.} +% \changes{0.6.2}{2008/11/13}{Added a usecase by Fabrice Niessen.} +% \changes{0.7}{2008/11/22}{Added language options on request from +% Peter Zimmermann.} +% \changes{0.7.1}{2008/12/07}{Reworked the color options for both +% the whole package and the todo command. General code +% clean up. Added the prependcaption package option.} % % \GetFileInfo{todonotes.dtx} % @@ -172,12 +178,20 @@ % % % \subsection{Package options} +% \label{subsecPackageOptions} % \DescribeMacro{disable} % If the option |disable| is passed to the package, the macros % usually defined by the package (|\todo|, |\listoftodos| and % |\missingfigure|) are defined as macros with no effect, and thus % all inserted notes are removed. % +% \DescribeMacro{danish} +% \DescribeMacro{german} +% Use the danish or german translations of the text strings +% ''List of todos'' and ''Missing figure''. +% The default is to use none of these options, which results in +% english text strings. +% % \DescribeMacro{colorinlistoftodos} % Adds a small colored square in front of all items in the Todo % list. The color of the square is the same as the fill color of the @@ -187,20 +201,30 @@ % the inserted todonote marks the type of todo. % % \DescribeMacro{color} -% |color=val| sets the default background color of the inserted -% todonotes to |val|. The default value is |color=orange|. -% |val| must be a color understood by the |xcolor| package. -% +% \DescribeMacro{backgrouncolor} +% \DescribeMacro{linecolor} % \DescribeMacro{bordercolor} -% |bordercolor=val| sets the default border color of the inserted -% todonotes to |val|. The default value is |color=black|. |val| must -% be a color understood by the |xcolor| package. -% +% These options sets the default colors for the todo command. +% There is three colors that can be specified. The border color +% (default |bordercolor=black|) around the inserted text, the color +% behind the inserted text (default |backgroundcolor=orange|) and +% the color of the line connecting the inserted textbox with the +% current location in the text (default |linecolor=orange|). +% Setting the |color| option to |val| passes this value on to the +% background and line color options. +% The specified colors must be valid according to the +% |xcolor| package. +% % \DescribeMacro{textwidth} % |textwidth=length| sets the width of a todo item in the margin to % |length|. The width of inline todonotes will allways be the same % as the current line width. % +% \DescribeMacro{prependcaption} +% The |prependcaption| option triggers a special behaviour of the +% |caption=val| option for the todo command, where the given value +% |val| is inserted in the inserted todonote. +% % \DescribeMacro{dvistyle} % When a document with todonotes is compiled with plain latex (to a % dvi-file), there is an issue with the visual @@ -208,7 +232,7 @@ % colored boxes.}. % The option |dvistyle| changes the appearance of the inserted % todonotes to avoid this problem. -% +% % % % \subsection{Options for the todo command} @@ -218,14 +242,18 @@ % included examples of the change in visual appearance. % % \DescribeMacro{color} -% |color=val| sets the background color of the inserted -% \todo[color=red!40]{A red note.}% -% todonotes to |val|. The default value can be set by the color -% option when the todonotes package is loaded. +% \DescribeMacro{backgroundcolor} +% \DescribeMacro{linecolor} +% \DescribeMacro{bordercolor} +% These options set the color that is used in the current todo +% command. +% The color classes is the same as used in the color package +% options, see section \ref{subsecPackageOptions}. +% Default values can be set by the color +% options when the todonotes package is loaded. +% \todo[color=green!40]{And a green note} % The todo notes inserted in this paragraph is created with the -% commands -% |\todo[color=red!40]{A red note.}| and -% \todo[color=green!40]{And a green note}% +% command % |\todo[color=green!40]{And a green note}|. % The color of the inserted note could be used to mark different % types of tasks (insert references, explain something in detail, @@ -235,6 +263,14 @@ % \newcommand{\insertref}[1]{\todo[color=green!40]{#1}} % \newcommand{\explainindetail}[1]{\todo[color=red!40]{#1}} % \end{verbatim} +% An example that uses all of the color options is given below +% \todo[linecolor=green!70!white, backgroundcolor=blue!20!white, +% bordercolor=red]{Anything but default colors}. +% \begin{verbatim} +% \todo[linecolor=green!70!white, backgroundcolor=blue!20!white, +% bordercolor=red]{Anything but default colors}. +% \end{verbatim} +% % % \DescribeMacro{line / noline} % If you want to get rid of the line connecting the inserted note @@ -295,11 +331,13 @@ % description of the todonote that are inserted in the list of % todos instead of the full todonote text. % \todo[caption={Short note}]{A very long and tedious note that -% cannot be on one line in the list of todos.}. +% cannot be on one line in the list of todos.} % \begin{verbatim} % \todo[caption={Short note}]{A very long and tedious note that % cannot be on one line in the list of todos.}. % \end{verbatim} +% The effect of this option is altered with the package option +% |prependcaption|. % % % \subsection{Options for the missingfigure command} @@ -313,13 +351,13 @@ % The todonotes package requires the following packages. % \begin{multicols}{2} % \begin{itemize} -% \item ifthen -% \item xkeyval +% \item ifthen +% \item xkeyval % \item hyperref % \item xcolor % \item tikz % \item calc -% \item graphicx (is loaded via the tikz package) +% \item graphicx (is loaded via the tikz package) % \end{itemize} % \end{multicols} % \noindent @@ -336,14 +374,57 @@ % items in the list of todos are not wrapped into several lines, and % do instead continue to the right out of the page. % -% \subsection{Usage methods} % +% \subsection{Things to improve} +% This is a list of things I consider to improve sometime in the +% future. I havent been done yet as I lack the time or skills to +% implement them. +% Patches with implementations of these tasks will be appreciated +% and might be included in the package if it will improve the +% package quality. +% +% +% \subsubsection{Owner information} +% Option for the todo command. +% \begin{verbatim} +% \todo[owner={Fabrice}]{Stuff} +% \end{verbatim} +% Add info on who ''owns'' the current todo. +% Idea: Fabrice Niessen +% +% +% \subsubsection{Due date} +% Option for the todo command. +% \begin{verbatim} +% \todo[due=2008-12-07]{Stuff} +% \end{verbatim} +% Add info on when the current todo is due. +% Might be enhanced by a time line of the todos that have a due date +% assigned. +% Idea: Fabrice Niessen +% +% +% \subsubsection{Mark accomplished todos} +% \begin{verbatim} +% \todo[done]{Stuff} +% \end{verbatim} +% Idea: Fabrice Niessen +% +% +% \subsubsection{Enumeration of the todo notes} +% Add counters to the inserted notes. +% Idea: Henrik +% +% +% +% +% +% \subsection{Usage methods} % In this section I have collected some different methods to use the % |todonotes| package. -% % -% \subsubsection{Define new commands with fixed options} % +% \subsubsection{Define new commands with fixed options} % Often there is a need for marking different classes of things to % do (add reference, rewrite, \ldots). % One way to do this, is to define some new commands as shown below @@ -419,6 +500,41 @@ % % % +% \subsubsection{Comments ''a la Word''} +% +% Fabrice Niessen sent me the following usecase. +% The idea is to define a new command |\mycomment| which adds a +% counter and optionally the initials of the auther to the inserted +% todonote. +% +% \begin{verbatim} +% \newcounter{mycomment} +% \newcommand{\mycomment}[2][]{% +% % initials of the author (optional) + note in the margin +% \refstepcounter{mycomment}% +% {% +% \setstretch{0.7}% spacing +% \todo[color={red!100!green!33},size=\small]{% +% \textbf{Comment [\uppercase{#1}\themycomment]:}~#2}% +% }} +% \end{verbatim} +% \newcounter{mycomment} +% \newcommand{\mycomment}[2][]{% +% \refstepcounter{mycomment}% +% {% +% \setstretch{0.7}% +% \todo[color={red!100!green!33},size=\small]{% +% \textbf{Comment [\uppercase{#1}\themycomment]:}~#2}% +% }} +% +% The command |\mycomment[HSM]{Testing first time.}| is displayed +% \mycomment[HSM]{Testing first time.}% +% like shown in the left margin, and another call of the command is +% added below |\mycomment[HSM]{Testing second time.}|. +% \mycomment[HSM]{Testing second time.}% +% +% +% % \iffalse % \StopEventually{\PrintChanges\PrintIndex} % \fi @@ -428,7 +544,7 @@ % % Identifies the package and loads the packages dependences. % \begin{macrocode} -\ProvidesPackage{todonotes}[2008/11/07] +\ProvidesPackage{todonotes}[2008/12/07] \RequirePackage{ifthen} \RequirePackage{xkeyval} \RequirePackage{hyperref} @@ -438,7 +554,9 @@ % \end{macrocode} % Some default values are set % \begin{macrocode} +\newcommand{\@todonotes@text}{}% \newcommand{\@todonotes@backgroundcolor}{orange} +\newcommand{\@todonotes@linecolor}{orange} \newcommand{\@todonotes@bordercolor}{black} \newcommand{\@todonotes@textwidth}{\marginparwidth} % \end{macrocode} @@ -447,6 +565,27 @@ % In this part the various options for % the package are defined. +% Define the default text strings and set localization options for +% the danish and german languages. +% \begin{macrocode} +\newcommand{\@todonotes@todolistname}{Todo list} +\newcommand{\@todonotes@MissingFigureUp}{Missing} +\newcommand{\@todonotes@MissingFigureDown}{figure} +\newcommand{\@todonotes@SetTodoListName}[1]{\renewcommand{\todolistname}{#1}} +\newcommand{\@todonotes@SetMissingFigureUp}[1]{\renewcommand{\MissingFigureUp}{#1}} +\providecommand{\SetMissingFigureDown}[1]{\renewcommand{\MissingFigureDown}{#1}} +\DeclareOptionX{danish}{% + \@todonotes@SetTodoListName{G\o{}rem\aa{}lsliste}% + \@todonotes@SetMissingFigureUp{Manglende}% + \@todonotes@SetMissingFigureDown{figur}% +} +\DeclareOptionX{german}{% + \@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}% + \@todonotes@SetMissingFigureUp{Fehlende}% + \@todonotes@SetMissingFigureDown{Abbildung}% +} +% \end{macrocode} +% % Make it possible to disable the functionality % of the package. If this option is given, the % commands |\todo{}| and |\listoftodos| are defined @@ -470,11 +609,24 @@ \newif{\if@todonotes@dviStyle} \DeclareOptionX{dvistyle}{\@todonotes@dviStyletrue} % \end{macrocode} +% Create a color option. +% \begin{macrocode} +\define@key{todonotes.sty}% + {color}{ + \renewcommand{\@todonotes@backgroundcolor}{#1} + \renewcommand{\@todonotes@linegroundcolor}{#1}} +% \end{macrocode} % Make the background color of the notes as % an option. % \begin{macrocode} \define@key{todonotes.sty}% - {color}{\renewcommand{\@todonotes@backgroundcolor}{#1}} + {backgroundcolor}{\renewcommand{\@todonotes@backgroundcolor}{#1}} +% \end{macrocode} +% Make the line color of the notes as +% an option. +% \begin{macrocode} +\define@key{todonotes.sty}% + {linecolor}{\renewcommand{\@todonotes@linecolor}{#1}} % \end{macrocode} % Make the color of the notes box color as % an option. @@ -482,6 +634,13 @@ \define@key{todonotes.sty}% {bordercolor}{\renewcommand{\@todonotes@bordercolor}{#1}} % \end{macrocode} +% Set whether short captions given as arguments to the todo command +% should be included in the inserted todonote. +% \begin{macrocode} +\newif{\if@todonotes@prependcaption} +\@todonotes@prependcaptionfalse +\DeclareOptionX{prependcaption}{\@todonotes@prependcaptiontrue} +% \end{macrocode} % Make the text width as an option. % \begin{macrocode} \define@key{todonotes.sty}% @@ -499,8 +658,18 @@ % commands in the package are defined. % Set an arbitrarily fill color % \begin{macrocode} -\newcommand{\@todonotes@fillcolor}{}% -\define@key{todonotes}{color}{\renewcommand{\@todonotes@fillcolor}{#1}}% +\newcommand{\@todonotes@currentlinecolor}{}% +\newcommand{\@todonotes@currentbackgroundcolor}{}% +\newcommand{\@todonotes@currentbordercolor}{}% +\define@key{todonotes}{color}{% + \renewcommand{\@todonotes@currentlinecolor}{#1}% + \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}% +\define@key{todonotes}{linecolor}{% + \renewcommand{\@todonotes@currentlinecolor}{#1}}% +\define@key{todonotes}{backgroundcolor}{% + \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}% +\define@key{todonotes}{bordercolor}{% + \renewcommand{\@todonotes@currentbordercolor}{#1}}% % \end{macrocode} % Set a relative font size % \begin{macrocode} @@ -532,14 +701,17 @@ \newcommand{\@todonotes@caption}{}% \newif\if@todonotes@captiongiven% \define@key{todonotes}{caption}% - {\renewcommand{\@todonotes@caption}{#1}% - \@todonotes@captiongiventrue}% + {\renewcommand{\@todonotes@caption}{#1}% + \@todonotes@captiongiventrue}% % \end{macrocode} % Preset values of the options % \begin{macrocode} -\presetkeys - {todonotes} - {color=\@todonotes@backgroundcolor, noinline, +\presetkeys% + {todonotes}% + {linecolor=\@todonotes@linecolor,% + backgroundcolor=\@todonotes@backgroundcolor,% + bordercolor=\@todonotes@bordercolor,% + noinline,% line, list, size=\normalsize}{}% % \end{macrocode} @@ -549,9 +721,9 @@ % If the option "disable" was passed to the package % define empty commands. % \begin{macrocode} -\if@todonotes@disabled +\if@todonotes@disabled% \newcommand{\listoftodos}{} - \newcommand{\todo}[2][]{} + \newcommand{\todo}[2][]{\ignotespaces} \newcommand{\missingfigure}[1]{} \else % \if@todonotes@disabled % \end{macrocode} @@ -559,23 +731,34 @@ % appearance of the list of todos. % \begin{macrocode} \newcommand{\listoftodos} - {\section*{Todo list} \@starttoc{tdo}} + {\section*{\@todonotes@todolistname} \@starttoc{tdo}} \newcommand{\l@todo} {\@dottedtocline{1}{0em}{2.3em}} % \end{macrocode} % Define styles used by the todo command % \begin{macrocode} -\tikzstyle{notestyle} = [draw=\@todonotes@bordercolor, line width=0.5pt, - text width = \@todonotes@textwidth - 1.6 ex - 1pt, inner sep = 0.8 ex] -\tikzstyle{notestyleleft} = [notestyle, left] -\tikzstyle{connectstyle} = [thick] -\tikzstyle{inlinenotestyle} = [notestyle, text width=\linewidth - 1.6 ex - 1 pt] +\tikzstyle{notestyle} = [ + draw=\@todonotes@currentbordercolor, + fill=\@todonotes@currentbackgroundcolor, + line width=0.5pt, + text width = \@todonotes@textwidth - 1.6 ex - 1pt, + inner sep = 0.8 ex] +\tikzstyle{notestyleleft} = [ + notestyle, + left] +\tikzstyle{connectstyle} = [ + thick, + draw=\@todonotes@currentlinecolor] +\tikzstyle{inlinenotestyle} = [ + notestyle, + text width=\linewidth - 1.6 ex - 1 pt] % \end{macrocode} % % \begin{macro}{\todo} % Define the todo command % \begin{macrocode} \newcommand{\todo}[2][]{% +\renewcommand{\@todonotes@text}{#2}% \renewcommand{\@todonotes@caption}{#2}% \setkeys{todonotes}{#1}% % \end{macrocode} @@ -585,32 +768,43 @@ % \begin{macrocode} \if@todonotes@appendtolistoftodos% \phantomsection% - \if@todonotes@captiongiven% - \else% - \renewcommand{\@todonotes@caption}{#2} - \fi% + \if@todonotes@captiongiven% + \else% + \renewcommand{\@todonotes@caption}{#2}% + \fi% \if@todonotes@colorinlistoftodos% \addcontentsline{tdo}{todo}{\protect{% - \colorbox{\@todonotes@fillcolor}{\textcolor{\@todonotes@fillcolor}{\tiny i}} % + \colorbox{\@todonotes@currentbackgroundcolor}% + {\textcolor{\@todonotes@currentbackgroundcolor}{\tiny i}}% \@todonotes@caption}}% \else% \addcontentsline{tdo}{todo}{\protect{\@todonotes@caption}}% \fi% \fi% % \end{macrocode} +% Prepend the short caption given if it is requested +% \begin{macrocode} +\if@todonotes@captiongiven + \if@todonotes@prependcaption + \renewcommand{\@todonotes@text}{\@todonotes@caption: #2} + \fi +\fi +% \end{macrocode} % Place the todonote as indicated by the options (inline or in a % marginpar), below is the code for the inline placement. % \begin{macrocode} \if@todonotes@inlinenote% \if@todonotes@dviStyle% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {};\end{tikzpicture}\par}% - {\noindent \@todonotes@sizecommand #2}% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {};\end{tikzpicture}\par}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% + {\noindent \@todonotes@sizecommand \@todonotes@text}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% \else% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {\@todonotes@sizecommand #2};\end{tikzpicture}\par}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {\@todonotes@sizecommand +\@todonotes@text};% + \end{tikzpicture}\par}% \fi% \else% % \end{macrocode} @@ -624,76 +818,65 @@ \end{tikzpicture}% \marginpar[{% Draw note in left margin \if@todonotes@dviStyle% - \begin{tikzpicture}[remember picture] % - \draw node[notestyle, fill=\@todonotes@fillcolor] {}; % - \end{tikzpicture}\\ % + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] {};% + \end{tikzpicture}\\ % \begin{minipage}{\@todonotes@textwidth}% - \@todonotes@sizecommand #2% - \end{minipage} \\% - \begin{tikzpicture}[remember picture] % - \draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) {};% - \end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=0.2cm] inNote.east)% - -| (inNote.east);% - \end{tikzpicture}% - \fi% + \@todonotes@sizecommand \@todonotes@text% + \end{minipage}\\% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote) {};% + \end{tikzpicture}% \else% - \begin{tikzpicture}[remember picture] % - \draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) % - {\@todonotes@sizecommand #2}; % - \end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=0.2cm] inNote.east)% - -| (inNote.east);% - \end{tikzpicture}% - \fi% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote)% + {\@todonotes@sizecommand \@todonotes@text};% + \end{tikzpicture}% +\fi% +\if@todonotes@line% + \begin{tikzpicture}[remember picture, overlay]% + \draw[connectstyle]% + ([yshift=-0.2cm] inText)% + -| ([xshift=0.2cm] inNote.east)% + -| (inNote.east);% + \end{tikzpicture}% \fi% % \end{macrocode} % In the book documentclass (which is a twoside layout), the -% |\marginpar| marginpar macro takes two arguments |\marginpar[]|, -% it is possible to let latex decide in -% which +% |\marginpar| marginpar macro takes two arguments +% |\marginpar[left]{right}|. +% If both arguments are given, latex will decide in which side the +% margin note has to be inserted, and then use the corresponding +% commands. % \begin{macrocode} }]{% Draw note in right margin \if@todonotes@dviStyle% - \begin{tikzpicture}[remember picture] % - \draw node[notestyle, fill=\@todonotes@fillcolor] {}; % - \end{tikzpicture} \\ % + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] {};% + \end{tikzpicture}\\% \begin{minipage}{\@todonotes@textwidth}% - \@todonotes@sizecommand #2% - \end{minipage} \\% - \begin{tikzpicture}[remember picture] % - \draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) {};% - \end{tikzpicture} % - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=-0.2cm] inNote.west)% - -| (inNote.west);% - \end{tikzpicture}% - \fi% + \@todonotes@sizecommand \@todonotes@text% + \end{minipage}\\% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote) {};% + \end{tikzpicture}% \else% - \begin{tikzpicture}[remember picture] \draw node[notestyle, fill=\@todonotes@fillcolor] -(inNote) {\@todonotes@sizecommand #2}; \end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=-0.2cm] inNote.west)% - -| (inNote.west);% - \end{tikzpicture}% - \fi% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle](inNote)% + {\@todonotes@sizecommand \@todonotes@text};% + \end{tikzpicture}% +\fi% +\if@todonotes@line% + \begin{tikzpicture}[remember picture, overlay]% + \draw[connectstyle]% + ([yshift=-0.2cm] inText)% + -| ([xshift=-0.2cm] inNote.west)% + -| (inNote.west);% + \end{tikzpicture}% \fi% }% \fi% +\ignorespaces% }% % \end{macrocode} % \end{macro} @@ -710,8 +893,8 @@ \draw (3, 0) node[right, text width=4cm] {#1}; \draw[red, fill=white, rounded corners = 5pt, line width=10pt] (30:2cm) -- (150:2cm) -- (270:2cm) -- cycle; -\draw (0, 0.3) node {Missing}; -\draw (0, -0.3) node {figure}; +\draw (0, 0.3) node {\@todonotes@MissingFigureUp}; +\draw (0, -0.3) node {\@todonotes@MissingFigureDown}; \end{tikzpicture} }% Ending \missingfigure command \fi % Ending \@todonotes@ifdisabled diff --git a/Master/texmf-dist/tex/latex/todonotes/todonotes.sty b/Master/texmf-dist/tex/latex/todonotes/todonotes.sty index c26c3d3ad27..b48b0bb4947 100644 --- a/Master/texmf-dist/tex/latex/todonotes/todonotes.sty +++ b/Master/texmf-dist/tex/latex/todonotes/todonotes.sty @@ -22,19 +22,37 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{todonotes} - [2008/11/07 .dtx Todonotes source and documentation.] + [2008/12/07 .dtx Todonotes source and documentation.] -\ProvidesPackage{todonotes}[2008/11/07] +\ProvidesPackage{todonotes}[2008/12/07] \RequirePackage{ifthen} \RequirePackage{xkeyval} \RequirePackage{hyperref} \RequirePackage{xcolor} \RequirePackage{tikz} \RequirePackage{calc} +\newcommand{\@todonotes@text}{}% \newcommand{\@todonotes@backgroundcolor}{orange} +\newcommand{\@todonotes@linecolor}{orange} \newcommand{\@todonotes@bordercolor}{black} \newcommand{\@todonotes@textwidth}{\marginparwidth} +\newcommand{\@todonotes@todolistname}{Todo list} +\newcommand{\@todonotes@MissingFigureUp}{Missing} +\newcommand{\@todonotes@MissingFigureDown}{figure} +\newcommand{\@todonotes@SetTodoListName}[1]{\renewcommand{\todolistname}{#1}} +\newcommand{\@todonotes@SetMissingFigureUp}[1]{\renewcommand{\MissingFigureUp}{#1}} +\providecommand{\SetMissingFigureDown}[1]{\renewcommand{\MissingFigureDown}{#1}} +\DeclareOptionX{danish}{% + \@todonotes@SetTodoListName{G\o{}rem\aa{}lsliste}% + \@todonotes@SetMissingFigureUp{Manglende}% + \@todonotes@SetMissingFigureDown{figur}% +} +\DeclareOptionX{german}{% + \@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}% + \@todonotes@SetMissingFigureUp{Fehlende}% + \@todonotes@SetMissingFigureDown{Abbildung}% +} \newif{\if@todonotes@disabled} \DeclareOptionX{disable}{\@todonotes@disabledtrue} \newif{\if@todonotes@colorinlistoftodos} @@ -42,15 +60,34 @@ \newif{\if@todonotes@dviStyle} \DeclareOptionX{dvistyle}{\@todonotes@dviStyletrue} \define@key{todonotes.sty}% - {color}{\renewcommand{\@todonotes@backgroundcolor}{#1}} + {color}{ + \renewcommand{\@todonotes@backgroundcolor}{#1} + \renewcommand{\@todonotes@linegroundcolor}{#1}} +\define@key{todonotes.sty}% + {backgroundcolor}{\renewcommand{\@todonotes@backgroundcolor}{#1}} +\define@key{todonotes.sty}% + {linecolor}{\renewcommand{\@todonotes@linecolor}{#1}} \define@key{todonotes.sty}% {bordercolor}{\renewcommand{\@todonotes@bordercolor}{#1}} +\newif{\if@todonotes@prependcaption} +\@todonotes@prependcaptionfalse +\DeclareOptionX{prependcaption}{\@todonotes@prependcaptiontrue} \define@key{todonotes.sty}% {textwidth}{\renewcommand{\@todonotes@textwidth}{#1}} \ProcessOptionsX -\newcommand{\@todonotes@fillcolor}{}% -\define@key{todonotes}{color}{\renewcommand{\@todonotes@fillcolor}{#1}}% +\newcommand{\@todonotes@currentlinecolor}{}% +\newcommand{\@todonotes@currentbackgroundcolor}{}% +\newcommand{\@todonotes@currentbordercolor}{}% +\define@key{todonotes}{color}{% + \renewcommand{\@todonotes@currentlinecolor}{#1}% + \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}% +\define@key{todonotes}{linecolor}{% + \renewcommand{\@todonotes@currentlinecolor}{#1}}% +\define@key{todonotes}{backgroundcolor}{% + \renewcommand{\@todonotes@currentbackgroundcolor}{#1}}% +\define@key{todonotes}{bordercolor}{% + \renewcommand{\@todonotes@currentbordercolor}{#1}}% \newcommand{\@todonotes@sizecommand}{}% \define@key{todonotes}{size}{\renewcommand{\@todonotes@sizecommand}{#1}}% \newif\if@todonotes@appendtolistoftodos% @@ -65,54 +102,76 @@ \newcommand{\@todonotes@caption}{}% \newif\if@todonotes@captiongiven% \define@key{todonotes}{caption}% -{\renewcommand{\@todonotes@caption}{#1}% -\@todonotes@captiongiventrue}% -\presetkeys - {todonotes} - {color=\@todonotes@backgroundcolor, noinline, + {\renewcommand{\@todonotes@caption}{#1}% + \@todonotes@captiongiventrue}% +\presetkeys% + {todonotes}% + {linecolor=\@todonotes@linecolor,% + backgroundcolor=\@todonotes@backgroundcolor,% + bordercolor=\@todonotes@bordercolor,% + noinline,% line, list, size=\normalsize}{}% -\if@todonotes@disabled +\if@todonotes@disabled% \newcommand{\listoftodos}{} - \newcommand{\todo}[2][]{} + \newcommand{\todo}[2][]{\ignotespaces} \newcommand{\missingfigure}[1]{} \else % \if@todonotes@disabled \newcommand{\listoftodos} - {\section*{Todo list} \@starttoc{tdo}} + {\section*{\@todonotes@todolistname} \@starttoc{tdo}} \newcommand{\l@todo} {\@dottedtocline{1}{0em}{2.3em}} -\tikzstyle{notestyle} = [draw=\@todonotes@bordercolor, line width=0.5pt, - text width = \@todonotes@textwidth - 1.6 ex - 1pt, inner sep = 0.8 ex] -\tikzstyle{notestyleleft} = [notestyle, left] -\tikzstyle{connectstyle} = [thick] -\tikzstyle{inlinenotestyle} = [notestyle, text width=\linewidth - 1.6 ex - 1 pt] +\tikzstyle{notestyle} = [ + draw=\@todonotes@currentbordercolor, + fill=\@todonotes@currentbackgroundcolor, + line width=0.5pt, + text width = \@todonotes@textwidth - 1.6 ex - 1pt, + inner sep = 0.8 ex] +\tikzstyle{notestyleleft} = [ + notestyle, + left] +\tikzstyle{connectstyle} = [ + thick, + draw=\@todonotes@currentlinecolor] +\tikzstyle{inlinenotestyle} = [ + notestyle, + text width=\linewidth - 1.6 ex - 1 pt] \newcommand{\todo}[2][]{% +\renewcommand{\@todonotes@text}{#2}% \renewcommand{\@todonotes@caption}{#2}% \setkeys{todonotes}{#1}% \if@todonotes@appendtolistoftodos% \phantomsection% -\if@todonotes@captiongiven% -\else% -\renewcommand{\@todonotes@caption}{#2} -\fi% + \if@todonotes@captiongiven% + \else% + \renewcommand{\@todonotes@caption}{#2}% + \fi% \if@todonotes@colorinlistoftodos% \addcontentsline{tdo}{todo}{\protect{% - \colorbox{\@todonotes@fillcolor}{\textcolor{\@todonotes@fillcolor}{\tiny i}} % + \colorbox{\@todonotes@currentbackgroundcolor}% + {\textcolor{\@todonotes@currentbackgroundcolor}{\tiny i}}% \@todonotes@caption}}% \else% \addcontentsline{tdo}{todo}{\protect{\@todonotes@caption}}% \fi% \fi% +\if@todonotes@captiongiven + \if@todonotes@prependcaption + \renewcommand{\@todonotes@text}{\@todonotes@caption: #2} + \fi +\fi \if@todonotes@inlinenote% \if@todonotes@dviStyle% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {};\end{tikzpicture}\par}% - {\noindent \@todonotes@sizecommand #2}% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {};\end{tikzpicture}\par}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% + {\noindent \@todonotes@sizecommand \@todonotes@text}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% \else% - {\par\noindent\begin{tikzpicture}[remember picture] \draw node[inlinenotestyle, % - fill=\@todonotes@fillcolor] {\@todonotes@sizecommand #2};\end{tikzpicture}\par}% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {\@todonotes@sizecommand +\@todonotes@text};% + \end{tikzpicture}\par}% \fi% \else% \begin{tikzpicture}[remember picture, baseline=-0.75ex]% @@ -120,70 +179,57 @@ \end{tikzpicture}% \marginpar[{% Draw note in left margin \if@todonotes@dviStyle% - \begin{tikzpicture}[remember picture] % -\draw node[notestyle, fill=\@todonotes@fillcolor] {}; % -\end{tikzpicture}\\ % + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] {};% + \end{tikzpicture}\\ % \begin{minipage}{\@todonotes@textwidth}% - \@todonotes@sizecommand #2% - \end{minipage} \\% - \begin{tikzpicture}[remember picture] % -\draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) {};% -\end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=0.2cm] inNote.east)% - -| (inNote.east);% - \end{tikzpicture}% - \fi% + \@todonotes@sizecommand \@todonotes@text% + \end{minipage}\\% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote) {};% + \end{tikzpicture}% \else% - \begin{tikzpicture}[remember picture] % -\draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) % -{\@todonotes@sizecommand #2}; % -\end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=0.2cm] inNote.east)% - -| (inNote.east);% - \end{tikzpicture}% - \fi% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote)% + {\@todonotes@sizecommand \@todonotes@text};% + \end{tikzpicture}% +\fi% +\if@todonotes@line% + \begin{tikzpicture}[remember picture, overlay]% + \draw[connectstyle]% + ([yshift=-0.2cm] inText)% + -| ([xshift=0.2cm] inNote.east)% + -| (inNote.east);% + \end{tikzpicture}% \fi% }]{% Draw note in right margin \if@todonotes@dviStyle% - \begin{tikzpicture}[remember picture] % -\draw node[notestyle, fill=\@todonotes@fillcolor] {}; % -\end{tikzpicture} \\ % + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] {};% + \end{tikzpicture}\\% \begin{minipage}{\@todonotes@textwidth}% - \@todonotes@sizecommand #2% - \end{minipage} \\% - \begin{tikzpicture}[remember picture] % -\draw node[notestyle, fill=\@todonotes@fillcolor] (inNote) {};% -\end{tikzpicture} % - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=-0.2cm] inNote.west)% - -| (inNote.west);% - \end{tikzpicture}% - \fi% + \@todonotes@sizecommand \@todonotes@text% + \end{minipage}\\% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote) {};% + \end{tikzpicture}% \else% - \begin{tikzpicture}[remember picture] \draw node[notestyle, fill=\@todonotes@fillcolor] -(inNote) {\@todonotes@sizecommand #2}; \end{tikzpicture}% - \if@todonotes@line% - \begin{tikzpicture}[remember picture, overlay]% - \draw[connectstyle, draw=\@todonotes@fillcolor]% - ([yshift=-0.2cm] inText)% - -| ([xshift=-0.2cm] inNote.west)% - -| (inNote.west);% - \end{tikzpicture}% - \fi% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle](inNote)% + {\@todonotes@sizecommand \@todonotes@text};% + \end{tikzpicture}% +\fi% +\if@todonotes@line% + \begin{tikzpicture}[remember picture, overlay]% + \draw[connectstyle]% + ([yshift=-0.2cm] inText)% + -| ([xshift=-0.2cm] inNote.west)% + -| (inNote.west);% + \end{tikzpicture}% \fi% }% \fi% +\ignorespaces% }% \newcommand{\missingfigure}[1]{ \addcontentsline{tdo}{todo}{Figure: \protect{#1}}% @@ -195,8 +241,8 @@ \draw (3, 0) node[right, text width=4cm] {#1}; \draw[red, fill=white, rounded corners = 5pt, line width=10pt] (30:2cm) -- (150:2cm) -- (270:2cm) -- cycle; -\draw (0, 0.3) node {Missing}; -\draw (0, -0.3) node {figure}; +\draw (0, 0.3) node {\@todonotes@MissingFigureUp}; +\draw (0, -0.3) node {\@todonotes@MissingFigureDown}; \end{tikzpicture} }% Ending \missingfigure command \fi % Ending \@todonotes@ifdisabled -- cgit v1.2.3