Added:
- todonotes.sty (local copy since tlmgr had version mismatch)
- \split{} and \splitinline{} commands for margin/inline comments
- Example comments in goals section demonstrating the workflow
To remove when done: delete the todonotes block in main.tex preamble
587 lines
21 KiB
TeX
587 lines
21 KiB
TeX
%%
|
|
%% This is file `todonotes.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% todonotes.dtx (with options: `package')
|
|
%%
|
|
%% This is a generated file.
|
|
%%
|
|
%% Copyright (C) 2008 by Henrik Skov Midtiby <henrikmidtiby@gmail.com>
|
|
%%
|
|
%% This file may be distributed and/or modified under the conditions of
|
|
%% the LaTeX Project Public License, either version 1.2 of this license
|
|
%% or (at your option) any later version. The latest version of this
|
|
%% license is in:
|
|
%%
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%%
|
|
%% and version 1.2 or later is part of all distributions of LaTeX version
|
|
%% 1999/12/01 or later.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
\ProvidesPackage{todonotes}
|
|
[2024/01/05 v1.1.7 Todonotes source and documentation.]
|
|
|
|
\ProvidesPackage{todonotes}[2024/01/05]
|
|
\RequirePackage{ifthen}
|
|
\RequirePackage{xkeyval}
|
|
\RequirePackage{xcolor}
|
|
\RequirePackage{tikz}
|
|
\usetikzlibrary{positioning}
|
|
\RequirePackage{calc}
|
|
\newcommand\setuptodonotes[1]{\presetkeys{todonotes}{#1}{}}
|
|
\newcommand{\@todonotes@text}{}%
|
|
\newcommand{\@todonotes@backgroundcolor}{orange}
|
|
\newcommand{\@todonotes@textcolor}{black}
|
|
\newcommand{\@todonotes@linecolor}{orange}
|
|
\newcommand{\@todonotes@bordercolor}{black}
|
|
\newcommand{\@todonotes@tickmarkheight}{unused value}
|
|
\newcommand{\@todonotes@textwidth}{\marginparwidth}
|
|
\newcommand{\@todonotes@textsize}{\normalsize}
|
|
\newcommand{\@todonotes@figwidth}{\linewidth}
|
|
\newcommand{\@todonotes@figheight}{4cm}
|
|
\newcommand{\@todonotes@figcolor}{black!40}
|
|
\AtBeginDocument{
|
|
\ifx\undefined\phantomsection
|
|
\newcommand{\phantomsection}{}
|
|
\fi
|
|
\ifdim \marginparwidth < 2cm
|
|
\PackageWarning{todonotes}{The length marginparwidth is
|
|
less than 2cm and will most likely cause issues with the
|
|
appearance of inserted todonotes.
|
|
The issue can be solved by adding a line like
|
|
\setlength{\marginparwidth}{2cm}
|
|
prior to loading the todonotes package.} \else\fi%
|
|
}
|
|
|
|
\newcommand{\@todonotes@todolistname}{Todo list}
|
|
\newcommand{\@todonotes@MissingFigureText}{Figure}
|
|
\newcommand{\@todonotes@MissingFigureUp}{Missing}
|
|
\newcommand{\@todonotes@MissingFigureDown}{figure}
|
|
\newcommand{\@todonotes@SetTodoListName}[1]
|
|
{\renewcommand{\@todonotes@todolistname}{#1}}
|
|
\newcommand{\@todonotes@SetMissingFigureText}[1]
|
|
{\renewcommand{\@todonotes@MissingFigureText}{#1}}
|
|
\newcommand{\@todonotes@SetMissingFigureUp}[1]
|
|
{\renewcommand{\@todonotes@MissingFigureUp}{#1}}
|
|
\newcommand{\@todonotes@SetMissingFigureDown}[1]
|
|
{\renewcommand{\@todonotes@MissingFigureDown}{#1}}
|
|
\newif{\if@todonotes@reverseMissingFigureTriangle}
|
|
\DeclareOptionX{catalan}{
|
|
\@todonotes@SetTodoListName{Llista de feines pendents}%
|
|
\@todonotes@SetMissingFigureText{Figura}%
|
|
\@todonotes@SetMissingFigureUp{Figura}%
|
|
\@todonotes@SetMissingFigureDown{pendent}%
|
|
}
|
|
\DeclareOptionX{croatian}{%
|
|
\@todonotes@SetTodoListName{Popis obveza}%
|
|
\@todonotes@SetMissingFigureText{Slika}%
|
|
\@todonotes@SetMissingFigureUp{Nedostaje}%
|
|
\@todonotes@SetMissingFigureDown{slika}%
|
|
}
|
|
\DeclareOptionX{danish}{%
|
|
\@todonotes@SetTodoListName{G\o{}rem\aa{}lsliste}%
|
|
\@todonotes@SetMissingFigureText{Figur}%
|
|
\@todonotes@SetMissingFigureUp{Manglende}%
|
|
\@todonotes@SetMissingFigureDown{figur}%
|
|
}
|
|
\DeclareOptionX{dutch}{%
|
|
\@todonotes@SetTodoListName{Lijst van onafgewerkte taken}%
|
|
\@todonotes@SetMissingFigureText{Figuur}%
|
|
\@todonotes@SetMissingFigureUp{Ontbrekende}%
|
|
\@todonotes@SetMissingFigureDown{figuur}%
|
|
}
|
|
\DeclareOptionX{english}{%
|
|
\@todonotes@SetTodoListName{Todo list}%
|
|
\@todonotes@SetMissingFigureText{Figure}%
|
|
\@todonotes@SetMissingFigureUp{Missing}%
|
|
\@todonotes@SetMissingFigureDown{figure}%
|
|
}
|
|
\DeclareOptionX{french}{%
|
|
\@todonotes@SetTodoListName{Liste des points \`a traiter}%
|
|
\@todonotes@SetMissingFigureText{Figure}%
|
|
\@todonotes@SetMissingFigureUp{Figure}%
|
|
\@todonotes@SetMissingFigureDown{manquante}%
|
|
\@todonotes@reverseMissingFigureTrianglefalse
|
|
}
|
|
\DeclareOptionX{german}{%
|
|
\@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}%
|
|
\@todonotes@SetMissingFigureText{Abbildung}%
|
|
\@todonotes@SetMissingFigureUp{Fehlende}%
|
|
\@todonotes@SetMissingFigureDown{Abbildung}%
|
|
}
|
|
\DeclareOptionX{italian}{
|
|
\@todonotes@SetTodoListName{Elenco delle cose da fare}%
|
|
\@todonotes@SetMissingFigureText{Figura}%
|
|
\@todonotes@SetMissingFigureUp{Figura}%
|
|
\@todonotes@SetMissingFigureDown{mancante}%
|
|
}
|
|
\DeclareOptionX{ngerman}{%
|
|
\@todonotes@SetTodoListName{Liste der noch zu erledigenden Punkte}%
|
|
\@todonotes@SetMissingFigureText{Abbildung}%
|
|
\@todonotes@SetMissingFigureUp{Fehlende}%
|
|
\@todonotes@SetMissingFigureDown{Abbildung}%
|
|
}
|
|
\DeclareOptionX{portuguese}{
|
|
\@todonotes@SetTodoListName{Lista de tarefas pendentes}%
|
|
\@todonotes@SetMissingFigureText{Figura}%
|
|
\@todonotes@SetMissingFigureUp{Figura}%
|
|
\@todonotes@SetMissingFigureDown{pendente}%
|
|
}
|
|
\DeclareOptionX{spanish}{
|
|
\@todonotes@SetTodoListName{Lista de tareas pendientes}%
|
|
\@todonotes@SetMissingFigureText{Figura}%
|
|
\@todonotes@SetMissingFigureUp{Figura}%
|
|
\@todonotes@SetMissingFigureDown{pendiente}%
|
|
}
|
|
\DeclareOptionX{swedish}{%
|
|
\@todonotes@SetTodoListName{Att g\"{o}ra-lista}%
|
|
\@todonotes@SetMissingFigureText{Figur}%
|
|
\@todonotes@SetMissingFigureUp{Figur}%
|
|
\@todonotes@SetMissingFigureDown{saknas}%
|
|
}
|
|
\providecommand{\@tocrmarg}{2.55em}
|
|
\providecommand{\@dotsep}{4.5}
|
|
\providecommand{\@pnumwidth}{1.55em}
|
|
\newcounter{@todonotes@numberoftodonotes}
|
|
\newif{\if@todonotes@obeyDraft}
|
|
\DeclareOptionX{obeyDraft}{\@todonotes@obeyDrafttrue}
|
|
\newif{\if@todonotes@isDraft}
|
|
\DeclareOptionX{draft}{\@todonotes@isDrafttrue}
|
|
\DeclareOptionX{draftcls}{\@todonotes@isDrafttrue}
|
|
\DeclareOptionX{draftclsnofoot}{\@todonotes@isDrafttrue}
|
|
\newif{\if@todonotes@obeyFinal}
|
|
\DeclareOptionX{obeyFinal}{\@todonotes@obeyFinaltrue}
|
|
\newif{\if@todonotes@isFinal}
|
|
\DeclareOptionX{final}{\@todonotes@isFinaltrue}
|
|
\newif{\if@todonotes@disabled}
|
|
\DeclareOptionX{disable}{\@todonotes@disabledtrue}
|
|
\newif{\if@todonotes@colorinlistoftodos}
|
|
\DeclareOptionX{colorinlistoftodos}{\@todonotes@colorinlistoftodostrue}
|
|
\newif{\if@todonotes@dviStyle}
|
|
\DeclareOptionX{dvistyle}{\@todonotes@dviStyletrue}
|
|
\define@key{todonotes.sty}%
|
|
{color}{
|
|
\renewcommand{\@todonotes@backgroundcolor}{#1}
|
|
\renewcommand{\@todonotes@linecolor}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{backgroundcolor}{\renewcommand{\@todonotes@backgroundcolor}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{textcolor}{\renewcommand{\@todonotes@textcolor}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{linecolor}{\renewcommand{\@todonotes@linecolor}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{bordercolor}{\renewcommand{\@todonotes@bordercolor}{#1}}
|
|
\newcommand{\@todonotes@defaulttickmarkheight}{0cm}
|
|
\define@key{todonotes.sty}{tickmarkheight}{%
|
|
\renewcommand{\@todonotes@defaulttickmarkheight}{#1}}%
|
|
\newif{\if@todonotes@prependcaptionglobal}
|
|
\@todonotes@prependcaptionglobalfalse
|
|
\DeclareOptionX{prependcaption}{\@todonotes@prependcaptionglobaltrue}
|
|
\define@key{todonotes.sty}%
|
|
{textwidth}{\renewcommand{\@todonotes@textwidth}{#1}}
|
|
\newcommand{\todoformat}[1]{#1}
|
|
\define@key{todonotes.sty}%
|
|
{format}{\renewcommand{\todoformat}{\@nameuse{#1}}}
|
|
\define@key{todonotes.sty}%
|
|
{textsize}{\renewcommand{\@todonotes@textsize}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{size}{\renewcommand{\@todonotes@textsize}{#1}}
|
|
\newif\if@todonotes@shadowlibraryloaded
|
|
\@todonotes@shadowlibraryloadedfalse
|
|
\DeclareOptionX{loadshadowlibrary}{%
|
|
\usetikzlibrary{shadows}%
|
|
\@todonotes@shadowlibraryloadedtrue}
|
|
\newcommand{\@todonotes@shadowenabledbydefault}{noshadow}
|
|
\DeclareOptionX{shadow}{%
|
|
\renewcommand{\@todonotes@shadowenabledbydefault}{shadow}}
|
|
\define@key{todonotes.sty}%
|
|
{figwidth}{\renewcommand{\@todonotes@figwidth}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{figheight}{\renewcommand{\@todonotes@figheight}{#1}}
|
|
\define@key{todonotes.sty}%
|
|
{figcolor}{\renewcommand{\@todonotes@figcolor}{#1}}
|
|
\ProcessOptionsX*
|
|
\if@todonotes@disabled
|
|
\else
|
|
\if@todonotes@obeyDraft
|
|
\@todonotes@disabledtrue
|
|
\if@todonotes@isDraft
|
|
\@todonotes@disabledfalse
|
|
\fi
|
|
\fi
|
|
\if@todonotes@obeyFinal
|
|
\@todonotes@disabledfalse
|
|
\if@todonotes@isFinal
|
|
\@todonotes@disabledtrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
|
|
\gdef\@todonotes@currentlinecolor{\@todonotes@linecolor}%
|
|
\gdef\@todonotes@currentbackgroundcolor{\@todonotes@backgroundcolor}%
|
|
\gdef\@todonotes@currenttextcolor{\@todonotes@textcolor}%
|
|
\gdef\@todonotes@currentbordercolor{\@todonotes@bordercolor}%
|
|
\define@key{todonotes}{color}{%
|
|
\gdef\@todonotes@currentlinecolor{#1}%
|
|
\gdef\@todonotes@currentbackgroundcolor{#1}}%
|
|
\define@key{todonotes}{linecolor}{%
|
|
\gdef\@todonotes@currentlinecolor{#1}}%
|
|
\define@key{todonotes}{backgroundcolor}{%
|
|
\gdef\@todonotes@currentbackgroundcolor{#1}}%
|
|
\define@key{todonotes}{textcolor}{%
|
|
\gdef\@todonotes@currenttextcolor{#1}}%
|
|
\define@key{todonotes}{bordercolor}{%
|
|
\gdef\@todonotes@currentbordercolor{#1}}%
|
|
\newif\if@todonotes@useshadow%
|
|
\define@key{todonotes}{shadow}[]{\@todonotes@useshadowtrue}%
|
|
\define@key{todonotes}{noshadow}[]{\@todonotes@useshadowfalse}%
|
|
\define@key{todonotes}{tickmarkheight}{%
|
|
\renewcommand{\@todonotes@tickmarkheight}{#1}}%
|
|
\newcommand{\@todonotes@format}{\todoformat}%
|
|
\define@key{todonotes}{format}{%
|
|
\renewcommand{\@todonotes@format}{\@nameuse{#1}}}%
|
|
\newcommand{\@todonotes@sizecommand}{}%
|
|
\define@key{todonotes}{size}{\renewcommand{\@todonotes@sizecommand}{#1}%
|
|
}%
|
|
\newif\if@todonotes@localdisable%
|
|
\define@key{todonotes}{disable}[]{\@todonotes@localdisabletrue}%
|
|
\define@key{todonotes}{nodisable}[]{\@todonotes@localdisablefalse}%
|
|
\newif\if@todonotes@appendtolistoftodos%
|
|
\define@key{todonotes}{list}[]{\@todonotes@appendtolistoftodostrue}%
|
|
\define@key{todonotes}{nolist}[]{\@todonotes@appendtolistoftodosfalse}%
|
|
\newif\if@todonotes@inlinenote%
|
|
\define@key{todonotes}{inline}[]{\@todonotes@inlinenotetrue}%
|
|
\define@key{todonotes}{noinline}[]{\@todonotes@inlinenotefalse}%
|
|
\newif\if@todonotes@prependcaption%
|
|
\define@key{todonotes}{prepend}[]{\@todonotes@prependcaptiontrue}%
|
|
\define@key{todonotes}{noprepend}[]{\@todonotes@prependcaptionfalse}%
|
|
\newif\if@todonotes@line%
|
|
\define@key{todonotes}{line}[]{\@todonotes@linetrue}%
|
|
\define@key{todonotes}{noline}[]{\@todonotes@linefalse}%
|
|
\newif\if@todonotes@fancyline\@todonotes@fancylinefalse%
|
|
\define@key{todonotes}{fancyline}[]{\@todonotes@fancylinetrue}%
|
|
\define@key{todonotes}{nofancyline}[]{\@todonotes@fancylinefalse}%
|
|
\newcommand{\@todonotes@author}{}%
|
|
\newif\if@todonotes@authorgiven%
|
|
\define@key{todonotes}{author}{%
|
|
\renewcommand{\@todonotes@author}{#1}%
|
|
\@todonotes@authorgiventrue}%
|
|
\define@key{todonotes}{noauthor}[]{\@todonotes@authorgivenfalse}%
|
|
\newcommand{\@todonotes@caption}{}%
|
|
\newif\if@todonotes@captiongiven%
|
|
\define@key{todonotes}{caption}%
|
|
{\renewcommand{\@todonotes@caption}{#1}%
|
|
\@todonotes@captiongiventrue}%
|
|
\define@key{todonotes}{nocaption}[]{\@todonotes@captiongivenfalse}%
|
|
\newcommand{\@todonotes@currentfigwidth}{\@todonotes@figwidth}
|
|
\define@key{todonotes}%
|
|
{figwidth}{\renewcommand{\@todonotes@currentfigwidth}{#1-2pt}}
|
|
\newcommand{\@todonotes@currentfigheight}{\@todonotes@figheight}
|
|
\define@key{todonotes}%
|
|
{figheight}{\renewcommand{\@todonotes@currentfigheight}{#1-2pt}}
|
|
\newcommand{\@todonotes@currentfigcolor}{\@todonotes@figcolor}
|
|
\define@key{todonotes}%
|
|
{figcolor}{\renewcommand{\@todonotes@currentfigcolor}{#1}}
|
|
\newcommand{\@todonotes@inlinewidth}{\linewidth}%
|
|
\define@key{todonotes}%
|
|
{inlinewidth}{\renewcommand{\@todonotes@inlinewidth}{#1}}
|
|
\newif\if@todonotes@inlinepar
|
|
\@todonotes@inlinepartrue
|
|
\define@key{todonotes}{inlinepar}[]{\@todonotes@inlinepartrue}%
|
|
\define@key{todonotes}{noinlinepar}[]{\@todonotes@inlineparfalse}%
|
|
\presetkeys%
|
|
{todonotes}%
|
|
{linecolor=\@todonotes@linecolor,%
|
|
backgroundcolor=\@todonotes@backgroundcolor,%
|
|
textcolor=\@todonotes@textcolor,%
|
|
bordercolor=\@todonotes@bordercolor,%
|
|
format=todoformat,%
|
|
tickmarkheight=\@todonotes@defaulttickmarkheight,%
|
|
nofancyline,%
|
|
nodisable,%
|
|
noinline,%
|
|
nocaption,%
|
|
noauthor,%
|
|
\@todonotes@shadowenabledbydefault,%
|
|
figwidth=\@todonotes@figwidth,%
|
|
figheight=\@todonotes@figheight,%
|
|
figcolor=\@todonotes@figcolor,%
|
|
line, list,%
|
|
inlinewidth=\linewidth,
|
|
inlinepar}{}%
|
|
\@temptokena\expandafter{\@todonotes@textsize}
|
|
\edef\next{\noexpand\presetkeys{todonotes}{size=\the\@temptokena}{}}
|
|
\next
|
|
\if@todonotes@disabled%
|
|
\newcommand{\listoftodos}[1][]{}
|
|
\newcommand{\@todo}[2][]{}
|
|
\newcommand{\missingfigure}[2][]{}
|
|
\else % \if@todonotes@disabled
|
|
\newcommand{\listoftodos}[1][\@todonotes@todolistname]
|
|
{\@ifundefined{chapter}{\section*{#1}}{\chapter*{#1}} \@starttoc{tdo}}
|
|
\newcommand{\l@todo}
|
|
{\@dottedtocline{1}{0em}{2.3em}}
|
|
\tikzstyle{notestyleraw} = [
|
|
draw=\@todonotes@currentbordercolor,
|
|
fill=\@todonotes@currentbackgroundcolor,
|
|
text=\@todonotes@currenttextcolor,
|
|
line width=0.5pt,
|
|
text width = \@todonotes@textwidth - 1.6 ex - 1pt,
|
|
inner sep = 0.8 ex,
|
|
rounded corners=4pt]
|
|
\newcommand{\@todo}[2][]{%
|
|
\if@todonotes@prependcaptionglobal%
|
|
\@todonotes@prependcaptiontrue%
|
|
\else%
|
|
\@todonotes@prependcaptionfalse%
|
|
\fi%
|
|
\renewcommand{\@todonotes@text}{#2}%
|
|
\renewcommand{\@todonotes@caption}{#2}%
|
|
\setkeys{todonotes}{#1}%
|
|
\if@todonotes@useshadow%
|
|
\if@todonotes@shadowlibraryloaded%
|
|
\tikzstyle{notestyle} = [notestyleraw,%
|
|
general shadow={shadow xshift=0.5ex, shadow yshift=-0.5ex,%
|
|
opacity=1,fill=black!50}]%
|
|
\else%
|
|
\PackageWarning{todonotes}{Trying to put a shadow below a todonote,%
|
|
but the loadshadowlibrary option was not given when loading%
|
|
the todonotes package}%
|
|
\tikzstyle{notestyle} = [notestyleraw]%
|
|
\fi%
|
|
\else%
|
|
\tikzstyle{notestyle} = [notestyleraw]%
|
|
\fi%
|
|
\tikzstyle{notestyleleft} = [%
|
|
notestyle,%
|
|
left]%
|
|
\tikzstyle{connectstyle} = [%
|
|
thick,%
|
|
draw=\@todonotes@currentlinecolor]%
|
|
\tikzstyle{inlinenotestyle} = [%
|
|
notestyle,%
|
|
text width=\@todonotes@inlinewidth - 1.6 ex - 1 pt]%
|
|
\if@todonotes@localdisable%
|
|
\else%
|
|
\addtocounter{@todonotes@numberoftodonotes}{1}%
|
|
\if@todonotes@appendtolistoftodos%
|
|
\phantomsection%
|
|
\if@todonotes@captiongiven%
|
|
\else%
|
|
\renewcommand{\@todonotes@caption}{#2}%
|
|
\fi%
|
|
\@todonotes@addElementToListOfTodos%
|
|
\fi%
|
|
\if@todonotes@captiongiven%
|
|
\if@todonotes@prependcaption%
|
|
\renewcommand{\@todonotes@text}{\@todonotes@caption: #2}%
|
|
\fi%
|
|
\fi%
|
|
\if@todonotes@inlinenote%
|
|
\@todonotes@drawInlineNote%
|
|
\else%
|
|
\@todonotes@drawMarginNoteWithLine%
|
|
\fi%\if@todonotes@inlinenote
|
|
\fi%\if@todonotes@localdisable
|
|
}%
|
|
\newcommand{\@todonotes@drawMarginNoteWithLine}{%
|
|
\ifvmode
|
|
\vspace*{-\parskip}% % backup if we are already in vertical mode
|
|
\vskip-\baselineskip % (and don't loose that space after a
|
|
% pagebreak ...
|
|
\noindent
|
|
\fi
|
|
\begin{tikzpicture}[remember picture, overlay, baseline=-0.75ex]%
|
|
\node [coordinate] (inText) {};%
|
|
\end{tikzpicture}%
|
|
\marginpar[{% Draw note in left margin
|
|
\@todonotes@drawMarginNote%
|
|
\@todonotes@drawLineToLeftMargin%
|
|
}]{% Draw note in right margin
|
|
\@todonotes@drawMarginNote%
|
|
\@todonotes@drawLineToRightMargin%
|
|
}%
|
|
}%
|
|
\newcommand{\@todonotes@addElementToListOfTodos}{%
|
|
\if@todonotes@colorinlistoftodos%
|
|
\addcontentsline{tdo}{todo}{%
|
|
\fcolorbox{\@todonotes@currentbordercolor}%
|
|
{\@todonotes@currentbackgroundcolor}%
|
|
{\textcolor{\@todonotes@currentbackgroundcolor}{o}}%
|
|
\ \@todonotes@caption}%
|
|
\else%
|
|
\addcontentsline{tdo}{todo}{\@todonotes@caption}%
|
|
\fi}%
|
|
\newcommand{\@todonotes@useSizeCommand}{%
|
|
\ifcsname \expandafter\string\@todonotes@sizecommand\endcsname
|
|
\csname \expandafter\string\@todonotes@sizecommand\endcsname%
|
|
\else
|
|
\@todonotes@sizecommand
|
|
\fi%
|
|
}%
|
|
\newcommand{\@todonotes@drawInlineNote}{%
|
|
\if@todonotes@dviStyle%
|
|
{\if@todonotes@inlinepar\par\noindent\fi%
|
|
\begin{tikzpicture}[remember picture]%
|
|
\draw node[inlinenotestyle] {};
|
|
\end{tikzpicture}%
|
|
\if@todonotes@inlinepar\par\fi}%
|
|
\if@todonotes@authorgiven%
|
|
{\noindent \@todonotes@useSizeCommand \@todonotes@author:\,\@todonotes@format{\@todonotes@text}}%
|
|
\else%
|
|
{\noindent \@todonotes@useSizeCommand%
|
|
\@todonotes@format{\@todonotes@text}}%
|
|
\fi
|
|
{\if@todonotes@inlinepar\par\noindent\fi%
|
|
\begin{tikzpicture}[remember picture]%
|
|
\draw node[inlinenotestyle] {};
|
|
\end{tikzpicture}%
|
|
\if@todonotes@inlinepar\par\fi}%
|
|
\else%
|
|
{\if@todonotes@inlinepar\par\noindent\fi%
|
|
\begin{tikzpicture}[remember picture]%
|
|
\draw node[inlinenotestyle,font=\@todonotes@useSizeCommand]{%
|
|
\if@todonotes@authorgiven%
|
|
{\noindent \@todonotes@author:\,%
|
|
\@todonotes@format{\@todonotes@text}}%
|
|
\else%
|
|
{\noindent \@todonotes@format{\@todonotes@text}}%
|
|
\fi};%
|
|
\end{tikzpicture}%
|
|
\if@todonotes@inlinepar\par\fi}%
|
|
\fi}%
|
|
\newcommand{\@todonotes@drawMarginNote}{%
|
|
\if@todonotes@dviStyle%
|
|
\begin{tikzpicture}[remember picture]%
|
|
\draw node[notestyle] {};%
|
|
\end{tikzpicture}\\%
|
|
\begin{minipage}{\@todonotes@textwidth}%
|
|
\if@todonotes@authorgiven%
|
|
\@todonotes@useSizeCommand \@todonotes@author:\,
|
|
\@todonotes@format{\@todonotes@text}%
|
|
\else%
|
|
\@todonotes@useSizeCommand\@todonotes@format{\@todonotes@text}%
|
|
\fi%
|
|
\end{minipage}\\%
|
|
\begin{tikzpicture}[remember picture]%
|
|
\draw node[notestyle] (inNote) {};%
|
|
\end{tikzpicture}%
|
|
\else%
|
|
\let\originalHbadness\hbadness%
|
|
\hbadness 100000%
|
|
\begin{tikzpicture}[remember picture,baseline=(X.base)]%
|
|
\node(X){\vphantom{\@todonotes@useSizeCommand X}};%
|
|
\if@todonotes@authorgiven%
|
|
\draw node[notestyle,font=\@todonotes@useSizeCommand,anchor=north] (inNote) at (X.north)%
|
|
{\@todonotes@author};%
|
|
\node(Y)[below=of X]{};%
|
|
\draw node[notestyle,font=\@todonotes@useSizeCommand,anchor=north] (inNote) at (X.south)%
|
|
{\@todonotes@format{\@todonotes@text}};%
|
|
\else%
|
|
\draw node[notestyle,font=\@todonotes@useSizeCommand,anchor=north] (inNote) at (X.north)%
|
|
{\@todonotes@format{\@todonotes@text}};%
|
|
\fi%
|
|
\end{tikzpicture}%
|
|
\hbadness \originalHbadness%
|
|
\fi}%
|
|
\newcommand{\@todonotes@drawLineToRightMargin}{%
|
|
\if@todonotes@line%
|
|
\if@todonotes@fancyline%
|
|
\tikz[remember picture,overlay]{%
|
|
\tikzstyle{both}=[line width=3pt, draw, opacity=0.15]%
|
|
\tikzstyle{line}=[shorten >=5pt, line cap=round]%
|
|
\tikzstyle{head}=[shorten >=-1pt, dash pattern=on 0pt off 1pt, ->]%
|
|
\foreach \s in {line,head}{%
|
|
\draw[both,\s]%
|
|
(inNote.north west).. controls +(0:0) and +(90:1.5)..([yshift=1ex] inText);%
|
|
}%
|
|
}%
|
|
\else%
|
|
\begin{tikzpicture}[remember picture, overlay]%
|
|
\draw[connectstyle]%
|
|
([yshift=-0.2cm + \@todonotes@tickmarkheight] inText)%
|
|
-| ([yshift=-0.2cm] inText)%
|
|
-| ([xshift=-0.2cm] inNote.west)%
|
|
-| (inNote.west);%
|
|
\end{tikzpicture}%
|
|
\fi%
|
|
\fi}%
|
|
\newcommand{\@todonotes@drawLineToLeftMargin}{%
|
|
\if@todonotes@line%
|
|
\if@todonotes@fancyline%
|
|
\tikz[remember picture,overlay]{%
|
|
\tikzstyle{both}=[line width=3pt, draw, opacity=0.15]%
|
|
\tikzstyle{line}=[shorten >=5pt, line cap=round]%
|
|
\tikzstyle{head}=[shorten >=-1pt, dash pattern=on 0pt off 1pt,->]%
|
|
\foreach \s in {line,head}{%
|
|
\draw[both,\s]%
|
|
(inNote.north east).. controls +(0:0) and +(90:1.5)..([yshift=1ex] inText);%
|
|
}%
|
|
}%
|
|
\else%
|
|
\begin{tikzpicture}[remember picture, overlay]%
|
|
\draw[connectstyle]%
|
|
([yshift=-0.2cm + \@todonotes@tickmarkheight] inText)%
|
|
-| ([yshift=-0.2cm] inText)%
|
|
-| ([xshift=0.2cm] inNote.east)%
|
|
-| (inNote.east);%
|
|
\end{tikzpicture}%
|
|
\fi%
|
|
\fi}%
|
|
\newcommand{\missingfigure}[2][]{%
|
|
\setkeys{todonotes}{#1}%
|
|
\addcontentsline{tdo}{todo}{\@todonotes@MissingFigureText: #2}%
|
|
\par
|
|
\noindent
|
|
\hfill
|
|
\begin{tikzpicture}
|
|
\draw[fill=\@todonotes@currentfigcolor, draw = black!40, line width=2pt]
|
|
(-2, -0.5*\@todonotes@currentfigheight-0.5cm)
|
|
rectangle +(\@todonotes@currentfigwidth, \@todonotes@currentfigheight);
|
|
\draw (2, -0.5) node[right, text
|
|
width=\@todonotes@currentfigwidth-4.5cm, font=\@todonotes@useSizeCommand] {#2};
|
|
\draw[red, fill=white, rounded corners = 5pt, line width=10pt]
|
|
(30:2cm) -- (150:2cm) -- (270:2cm) -- cycle;
|
|
\draw (0, 0.3) node {\@todonotes@MissingFigureUp};
|
|
\draw (0, -0.3) node {\@todonotes@MissingFigureDown};
|
|
\end{tikzpicture}\hfill
|
|
\null\par
|
|
}% Ending \missingfigure command
|
|
\fi% Ending \@todonotes@ifdisabled
|
|
\newcommand{\todototoc}
|
|
{%
|
|
\if@todonotes@disabled
|
|
\else
|
|
\addcontentsline{toc}{\@ifundefined{chapter}{section}{chapter}}{\@todonotes@todolistname}%
|
|
\fi
|
|
}
|
|
\newcommand{\todo}[2][]{%
|
|
% Needed to output any dangling \item of a noskip section (see #36):
|
|
\if@inlabel \leavevmode \fi
|
|
\if@noskipsec \leavevmode \fi
|
|
\if@todonotes@inlinepar
|
|
\ifhmode
|
|
\@bsphack
|
|
\@todonotes@vmodefalse
|
|
\else
|
|
\@savsf\@m
|
|
\@savsk\z@
|
|
\@todonotes@vmodetrue
|
|
\fi
|
|
{\@todo[#1]{#2}}%
|
|
\@esphack%
|
|
\if@todonotes@vmode \par \fi
|
|
\else%
|
|
\@todo[#1]{#2}%
|
|
\fi}
|
|
\newif\if@todonotes@vmode
|
|
\newcommand*{\todostyle}[2]{%
|
|
\define@key{todonotes}{#1}[]{%
|
|
\setkeys{todonotes}{#2}}}
|
|
\endinput
|
|
%%
|
|
%% End of file `todonotes.sty'.
|