% \iffalse meta-comment % % Copyright (C) 2017 by Dimitri Block % ------------------------------------------------------- % % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % 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.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % \fi % % \iffalse %<*driver> \ProvidesFile{outlining.dtx} % %\NeedsTeXFormat{LaTeX2e}[2005/12/01] %\ProvidesPackage{outlining} %<*package> [2017/10/23 v0.1 initial version] % % %<*driver> \documentclass{ltxdoc} \usepackage{outlining} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{outlining.dtx} \PrintChanges %\PrintIndex \end{document} % % \fi % % \CheckSum{88} % % \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 % Lower-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 % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \changes{v0.1}{2017/10/23}{Initial version} % % \GetFileInfo{outlining.dtx} % % \DoNotIndex{\newcommand,\newenvironment, \listoftodos, \DeclareOption, \clearpage, \AtBeginDocument, \AtEndDocument, \newcounter} % % % \title{The \textsf{outlining} package\thanks{This document % corresponds to \textsf{outlining}~\fileversion, dated \filedate.}} % \author{Dimitri Block \\ \texttt{dimitriblock@gmail.com}} % % \maketitle % % \section{Introduction} % % Every scientifc document requires outlining before it is written. % The following paragraph shows outline plus final text. % % \outlineTopics % \topic{Best-practices outlines} % A best-practices are three level outlines. % \major{Each pararagraph shall have a single topic} % \major{Each topic consists of multiple major points} % \major{Major may have optional minor points} % % \fbox{\begin{minipage}{0.5\textwidth} % \listOutline % \end{minipage}} % % % \StopEventually{} % % \section{Implementation} % Some internal macros: % \begin{macrocode} \newcommand{\@disableOutlining}{} \newcommand{\@disableTopics}{} \newcommand{\@disableMajors}{} \newcommand{\@disableMinors}{} \newcommand{\@outlineAtBegin}{} \newcommand{\@outlineAtEnd}{} % \end{macrocode} % \begin{macro}{disable} % Disable all package output % \begin{macrocode} \DeclareOption{disable}{\renewcommand{\@disableOutlining}{disable}} % \end{macrocode} % \end{macro} % % \begin{macro}{outlineatbegin} % Outline at document begin % \begin{macrocode} \DeclareOption{outlineatbegin}{\renewcommand{\@outlineAtBegin}{\listOutline}} % \end{macrocode} % \end{macro} % % \begin{macro}{outlineatend} % Outline at document end % \begin{macrocode} \DeclareOption{outlineatend}{\renewcommand{\@outlineAtEnd}{\listOutline}} % \end{macrocode} % \end{macro} % % \begin{macrocode} \ProcessOptions\relax \usepackage[obeyFinal, \@disableOutlining]{todonotes} \newcounter{majornum} \newcounter{minornum} \AtBeginDocument{\@outlineAtBegin} \AtEndDocument{\@outlineAtEnd} % \end{macrocode} % % \begin{macro}{\outlineTopics} % Activate topics and deactive major and minor points % \begin{macrocode} \newcommand{\outlineTopics}{ \renewcommand{\@disableTopics}{} \renewcommand{\@disableMajors}{disable} \renewcommand{\@disableMinors}{disable} } % \end{macrocode} % \end{macro} % \begin{macro}{\outlineTopicsMajors} % Activate topic and major points and deactive minor points % \begin{macrocode} \newcommand{\outlineTopicsMajors}{ \renewcommand{\@disableTopics}{} \renewcommand{\@disableMajors}{} \renewcommand{\@disableMinors}{disable} } % \end{macrocode} % \end{macro} % \begin{macro}{\outlineTopicsMajorsMinors} % Activate topics, major and minor points % \begin{macrocode} \newcommand{\outlineTopicsMajorsMinors}{ \renewcommand{\@disableTopics}{} \renewcommand{\@disableMajors}{} \renewcommand{\@disableMinors}{} } % \end{macrocode} % \end{macro} % \begin{macro}{\topic} % Topic % \begin{macrocode} \newcommand{\topic}[1] {\setcounter{majornum}{0}\setcounter{minornum}{0}\todo[color=red!40, size=\footnotesize, inline,\@disableTopics] {\textbf{#1}}} % \end{macrocode} % \end{macro} % \begin{macro}{\major} % Major point % \begin{macrocode} \newcommand{\major}[1] {\stepcounter{majornum}\setcounter{minornum}{0}\todo[color=green!10, size=\footnotesize, inline,\@disableMajors] {\themajornum \; #1}} % \end{macrocode} % \end{macro} % \begin{macro}{\minor} % Minor point % \begin{macrocode} \newcommand{\minor}[1] {\stepcounter{minornum}\todo[color=gray!10, size=\footnotesize, inline, \@disableMinors] {\themajornum.\theminornum \; #1}} % \end{macrocode} % \end{macro} % \begin{macro}{\listOutline} % Outline list % \begin{macrocode} \newcommand{\listOutline}{ \clearpage \listoftodos[Document Outline] \clearpage } % \end{macrocode} % \end{macro} % % % \Finale \endinput