summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/outlining/outlining.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/outlining/outlining.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/outlining/outlining.dtx')
-rw-r--r--macros/latex/contrib/outlining/outlining.dtx200
1 files changed, 200 insertions, 0 deletions
diff --git a/macros/latex/contrib/outlining/outlining.dtx b/macros/latex/contrib/outlining/outlining.dtx
new file mode 100644
index 0000000000..259fa55cf1
--- /dev/null
+++ b/macros/latex/contrib/outlining/outlining.dtx
@@ -0,0 +1,200 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2017 by Dimitri Block <dimitriblock@gmail.com>
+% -------------------------------------------------------
+%
+% 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}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+%<package>\ProvidesPackage{outlining}
+%<*package>
+ [2017/10/23 v0.1 initial version]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{outlining}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{outlining.dtx}
+ \PrintChanges
+ %\PrintIndex
+\end{document}
+%</driver>
+% \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