diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/snaptodo/snaptodo.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/snaptodo/snaptodo.tex | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/snaptodo/snaptodo.tex b/Master/texmf-dist/doc/latex/snaptodo/snaptodo.tex new file mode 100644 index 00000000000..65a3d7d3a6f --- /dev/null +++ b/Master/texmf-dist/doc/latex/snaptodo/snaptodo.tex @@ -0,0 +1,229 @@ + +\documentclass{article} + +\def\todo{} +\usepackage{snaptodo} + +\usepackage[pdfusetitle,urlbordercolor=red!50!black]{hyperref} + +\begin{document} + +\title{Snaptodo---A Snap-to-the-Correct-Side Todo\thanks{ + Repository + \url{https://github.com/Symbol1/snaptodo}. +}} + +\author{Hsin-Po Wang\thanks{ + Email + \href{mailto:a.simple.people@gmail.com}{\ttfamily a.simple.people@gmail.com}. + Website + \url{https://www.symbol.codes}.}} + +\maketitle + +\begin{abstract} + Snaptodo package is an alternative to the todonote package + that differs in the following ways: + (A) Depending on where you call + {\ttfamily\color{red!50!black}\string\todo}, + the note is put on the left or right margin, + whichever is closer. + (B) The notes bump each other down so they never overlap; + the lines never overlap either; + and they don't trigger the marginpar warning. + (C) Minimalistic, aesthetic, and customizable style. + +\end{abstract} + +\section{Installation} + + Copy and paste + {\ttfamily\verb|snaptodo.sty|} + to your working directory. + +\section{Minimal Working Example} + + \begin{verbatim} + \documentclass{article} + \usepackage{snaptodo} + \begin{document} + Your done + \todo{Your todo} + \end{document} + \end{verbatim} + +\section{Showcase of Examples} + + Using snaptodo is as simple as calling + {\ttfamily\verb|\todo|}% + \todo{Calling \texttt{\string\todo}!} + and compile twice.% + \todo{Compile twice!} + If the calling point% + \todo{Calling point!} + is on the left of a page,% + \todo{Left of a page!} + the todo note---after compiling twice of + course---will appear to the left margin.% + \todo{On the left margin!} + And vice versa.% + \todo{Vice versa!} + +\section{Customization} + + I defined + {\ttfamily\verb|\snaptodoset|} + that works like + {\ttfamily\verb|\tikzset|} and + {\ttfamily\verb|\pgfplotsset|}. + While you can access dedicated options by + {\ttfamily\verb|\snaptodoset{<some_option>}|}, + you can also assess the exact same options by + {\ttfamily\verb|\pgfkeys{/snaptodo/<some_option>}|}. + For local changes, you can put them here + {\ttfamily\verb|\todo[<some_option>]{}|}. + +\subsection{Color} + + The color of the broken line is + {\ttfamily\verb|snaptodo@chain|}. + The default color for that is + {\ttfamily\verb|red!50!black|}. + Saying + {\ttfamily\verb|\colorlet{snaptodo@chain}{green!50!white}|} + lets you to change this color globally. On the other hand, + for locally changing this color, one may prefer using + {\ttfamily\verb|\todo[call chain/.style=green!50!white]|}.% + \todo[call chain/.style=green!50!white]{New broken line color} + + The color of the note text is + {\ttfamily\verb|snaptodo@block|}. + The default color for that is + {\ttfamily\verb|yellow!50!black|}. + Saying + {\ttfamily\verb|\colorlet{snaptodo@block}{blue!50!white}|} + lets you change this color. On the other hand, + for locally changing this color, one may prefer using + {\ttfamily\verb|\todo[margin block/.style=blue!50!white]|}.% + \todo[margin block/.style=blue!50!white]{New note text color} + +\subsection{Line style} + + In order to use a thicker or thinner broken line, + recall the standard Ti\emph kZ option + {\ttfamily\verb|[thick]|}, + {\ttfamily\verb|[ultra thin]|}, + or + {\ttfamily\verb|[line width=???]|}. + In our case, simply put that option in the proper style + {\ttfamily\verb|\todo[call chain/.style={line width=???}]{}|}.% + \todo[call chain/.style={line width=2pt}]{Thicker broken line} + + In order to use a special dash pattern, + recall the standard Ti\emph kZ option + {\ttfamily\verb|[dotted]|}, + {\ttfamily\verb|[dashed]|}, + or + {\ttfamily\verb|[dash pattern=???]|}. + In our case, simply put that option in the proper style + {\ttfamily\verb|\todo[call chain/.style={dash pattern=???}]{}|}.% + \todo[call chain/.style={dashed}]{Dashed broken line} + +\subsection{Sep and width} + + The gap between two note blocks is stored in + {\ttfamily\verb|/snaptodo/block sep|}. + The default length is + {\ttfamily\verb|\baselineskip|}. + Use + {\ttfamily\verb|\snaptodoset{block sep=0pt}|} + for global setting and use + {\ttfamily\verb|\todo[block sep=0pt]{note}|}% + \todo[block sep=0pt]{2 blocks close.} + \todo[block sep=0pt]{..to each other} + for local setting this. + + The gap between two horizontal lines is stored in + {\ttfamily\verb|/snaptodo/chain sep|}. + The default length is + {\ttfamily\verb|0.5ex|}. + To change, use + {\ttfamily\verb|\snaptodoset{chain sep=0pt}|} + for global setting and + {\ttfamily\verb|\todo[chain sep=0pt]{note}|}% + \todo[chain sep=0pt]{2 chains close.} + \todo[chain sep=0pt]{..to each other} + for local setting. + + The width of the note block is + {\ttfamily\verb|\marginparwidth|}. + The width where the broken line has slope is + {\ttfamily\verb|\marginparsep|}. + These are the built-in dimensions. + (So modify them with care!) + +\subsection{Bias} + + The tipping point between snapping to the left versus + to the right is the center of the page, by default. + You can change this by + {\ttfamily\verb|/snaptodo/chain bias=-99in|}.% + \todo[chain bias=-99in]{Forced to the left} + That way, all todo notes are forcedly + snapped to the left hand side. Or, by + \todo[chain bias=99in]{Forced to the right}% + {\ttfamily\verb|/snaptodo/call bias=99in|}, + all todo notes are forcedly snapped to the right hand side. + +\subsection{Rise} + + If your document is really busy, e.g., like + {\ttfamily\verb|stress_testing.tex|}, + consider setting a positive + {\ttfamily\verb|/snaptodo/block rise|}.% + \todo[block rise=2em]{Rising} + \todo[block rise=2em]{to leave} + \todo[block rise=2em]{room.} + For instance, + {\ttfamily\verb|\todo[block rise=2em]{}|}. + That way, a note will rise by that amount + to leave more rooms for later notes. + (But if there will be overlay, + the notes automatically bump down.) + + +\subsection{Alignment} + + By + {\ttfamily\verb|/snaptodo/margin block/.style={align=???}|} + one can control the alignment of note text. + The default setting is + {\ttfamily\verb|align=flush \std@leftright|}, + which flushes the text toward the page edges. + If + {\ttfamily\verb|align=flush \std@rightleft|}, + is what you do,% + \makeatletter + \todo[margin block/.style={align=flush \std@rightleft}] + {flush toward text body} + \makeatother + the text will be flushed toward the main + text body. Don't forget that you need + {\ttfamily\verb|\makeatletter|} + and + {\ttfamily\verb|\makeatother|} + to handel control sequences with the at character. + +\subsection{Font} + + Font size is controlled by + \todo[margin block/.style={font=\tiny}]{tiny} + \todo[margin block/.style={font=\Large}]{Large} + \todo[margin block/.style={font=\Huge}]{Huge} + {\ttfamily\verb|/snpatodo/margin block/.style={font=...}|}. + \todo[margin block/.style={font=\itshape}]{itshape} + \todo[margin block/.style={font=\sffamily}]{sffamily} + \todo[margin block/.style={font=\bfseries}]{bfseries} + So is font family. + +\end{document} |