summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/mindflow
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-05-25 20:49:00 +0000
committerKarl Berry <karl@freefriends.org>2021-05-25 20:49:00 +0000
commit33309d66543ec543d061fe0a976f5a1989346f16 (patch)
tree6593a901b20829d7915c8ab5be32cfb81382029f /Master/texmf-dist/tex/latex/mindflow
parent1764edc3b60a2c9fb210ca74b758f3e8e8a53692 (diff)
mindflow (25may21)
git-svn-id: svn://tug.org/texlive/trunk@59346 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/mindflow')
-rw-r--r--Master/texmf-dist/tex/latex/mindflow/mindflow.sty157
1 files changed, 111 insertions, 46 deletions
diff --git a/Master/texmf-dist/tex/latex/mindflow/mindflow.sty b/Master/texmf-dist/tex/latex/mindflow/mindflow.sty
index 84c4d1cdb4a..6dfa2ca1e94 100644
--- a/Master/texmf-dist/tex/latex/mindflow/mindflow.sty
+++ b/Master/texmf-dist/tex/latex/mindflow/mindflow.sty
@@ -17,12 +17,13 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mindflow}
- [2021/05/23 mindflow environment]
+ [2021/05/25 mindflow environment]
\RequirePackage{kvoptions}
\SetupKeyvalOptions{%
family = @mindflow,
prefix = @mindflow@
}
+\DeclareBoolOption[true]{on} % Turn on mindflow
\DeclareBoolOption[false]{off} % Turn off mindflow
\DeclareBoolOption[false]{leftmarker} % Left marker
\DeclareBoolOption[false]{rightmarker} % Right marker
@@ -34,6 +35,9 @@
\ProcessKeyvalOptions*\relax
+\if@mindflow@on
+ \@mindflow@offfalse
+\fi
\if@mindflow@twocolumn
\@mindflow@incolumntrue
\fi
@@ -53,9 +57,9 @@
\colorlet{mindflowMarker}{mfSavedColor!30}
\colorlet{mindflowNum}{mfSavedColor!8}
-\newcommand{\mindflowTextFont}{\normalfont\footnotesize}
-\newcommand{\mindflowNumFont}{\normalfont\scriptsize\ttfamily}
-\newcommand{\mindflowMarkerFont}{\normalfont\scriptsize\ttfamily}
+\newcommand{\mindflowTextFont}{\footnotesize}
+\newcommand{\mindflowNumFont}{\scriptsize\ttfamily}
+\newcommand{\mindflowMarkerFont}{\scriptsize\ttfamily}
\newcommand{\mindflowLeft}{*}
\newcommand{\mindflowRight}{*}
\newlength{\mindflowLineHeight}
@@ -64,19 +68,22 @@
%%================================
%% The mindflow environment
%%================================
+\RequirePackage{nowidow}
+\RequirePackage{verbatim}
\newif\ifLNturnsON
\newcommand*{\mfSepLine}{%
\parskip=0pt
+ \nowidow[3]\par\nobreak%
\LNturnsONfalse%
\ifLineNumbers\LNturnsONtrue\fi\nolinenumbers%
- \par\noindent\nopagebreak%
+ \vspace*{-.5\baselineskip}%
\if@mindflow@incolumn%
- \makebox[\linewidth]{\rule{\linewidth}{\mindflowLineHeight}}%
+ \makebox[\linewidth]{\color{mindflowLine}\rule{\linewidth}{\mindflowLineHeight}}%
\else%
\hspace*{-\paperwidth}%
- \makebox[\linewidth]{\rule{4\paperwidth}{\mindflowLineHeight}}%
+ \makebox[\linewidth]{\color{mindflowLine}\rule{4\paperwidth}{\mindflowLineHeight}}%
\fi%
- \nopagebreak\par%
+ \nowidow[3]\par\nobreak%
\ifLNturnsON\linenumbers\fi%
}
@@ -84,49 +91,107 @@
\newcounter{mfLN}
\setcounter{mfLN}{1}
-\if@mindflow@off
- \RequirePackage{verbatim}
- \let\mindflow=\comment
- \let\endmindflow=\endcomment
-\else
- \newenvironment{mindflow}
- {%
- \setcounter{recordLN}{\value{linenumber}}%
- \setcounter{linenumber}{\value{mfLN}}%
- \LNturnsONfalse%
- \ifLineNumbers\LNturnsONtrue\fi\nolinenumbers%
- \color{mindflowLine}\mfSepLine%
- \mindflowTextFont\color{mindflowText}%
- \linenumbers%
- \renewcommand\makeLineNumber{%
- \hss%
- \if@mindflow@leftlinenumber%
- \mindflowNumFont\color{mindflowNum}\LineNumber\hspace{1em}%
+\let\mindflowOFF=\comment
+\let\endmindflowOFF=\endcomment
+
+\def\mindflowON{%
+ \medskip%
+ \setcounter{recordLN}{\value{linenumber}}%
+ \setcounter{linenumber}{\value{mfLN}}%
+ \LNturnsONfalse%
+ \ifLineNumbers\LNturnsONtrue\fi\nolinenumbers%
+ \mfSepLine%
+ \normalfont\mindflowTextFont\color{mindflowText}%
+ \linenumbers%
+ \renewcommand{\makeLineNumber}{%
+ \hss%
+ \if@mindflow@leftlinenumber%
+ \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber\hspace{1em}%
+ \fi%
+ \color{mindflowMarker}%
+ \if@mindflow@leftmarker%
+ \normalfont\mindflowMarkerFont\mindflowLeft\hspace{1em}%
+ \fi%
+ \rlap{\hskip\textwidth%
+ \if@mindflow@rightmarker%
+ \hspace{1em}\mindflowRight%
\fi%
- \color{mindflowMarker}%
- \if@mindflow@leftmarker%
- \mindflowMarkerFont\mindflowLeft\hspace{1em}%
+ \if@mindflow@rightlinenumber%
+ \hspace{1em}%
+ \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber%
\fi%
- \rlap{\hskip\textwidth%
- \if@mindflow@rightmarker%
- \hspace{1em}\mindflowRight%
- \fi%
- \if@mindflow@rightlinenumber%
- \hspace{1em}%
- \mindflowNumFont\color{mindflowNum}\LineNumber%
- \fi%
- }%
}%
- }
- {%
- \par%
- \vspace{-.5\baselineskip}\color{mindflowLine}\mfSepLine%
- \ifLNturnsON\linenumbers\fi%
- \setcounter{mfLN}{\value{linenumber}}%
- \setcounter{linenumber}{\value{recordLN}}%
- }
+ }%
+}
+\def\endmindflowON{%
+ \mfSepLine%
+ \ifLNturnsON\linenumbers\fi%
+ \setcounter{mfLN}{\value{linenumber}}%
+ \setcounter{linenumber}{\value{recordLN}}%
+ \medskip%
+}
+
+\if@mindflow@off
+ \let\mindflow=\mindflowOFF
+ \let\endmindflow=\endmindflowOFF
+\else
+ \let\mindflow=\mindflowON
+ \let\endmindflow=\endmindflowON
\fi
+%%================================
+%% \mindflowset
+%%================================
+\define@key{mindflow}{on}[true]{%
+ \csname @mindflow@on#1\endcsname%
+ \if@mindflow@off%
+ \let\mindflow=\mindflowOFF%
+ \let\endmindflow=\endmindflowOFF%
+ \else%
+ \let\mindflow=\mindflowON%
+ \let\endmindflow=\endmindflowON%
+ \fi%
+}
+\define@key{mindflow}{off}[true]{%
+ \csname @mindflow@off#1\endcsname%
+ \if@mindflow@off%
+ \let\mindflow=\mindflowOFF%
+ \let\endmindflow=\endmindflowOFF%
+ \else%
+ \let\mindflow=\mindflowON%
+ \let\endmindflow=\endmindflowON%
+ \fi%
+}
+\define@key{mindflow}{leftmarker}[true]{\csname @mindflow@leftmarker#1\endcsname}
+\define@key{mindflow}{rightmarker}[true]{\csname @mindflow@rightmarker#1\endcsname}
+\define@key{mindflow}{linenumber}[true]{\csname @mindflow@linenumber#1\endcsname}
+\define@key{mindflow}{leftlinenumber}[true]{\csname @mindflow@leftlinenumber#1\endcsname}
+\define@key{mindflow}{rightlinenumber}[true]{\csname @mindflow@rightlinenumber#1\endcsname}
+\define@key{mindflow}{twocolumn}[true]{\csname @mindflow@twocolumn#1\endcsname}
+\define@key{mindflow}{incolumn}[true]{\csname @mindflow@incolumn#1\endcsname}
+\define@key{mindflow}{linecolor}{\colorlet{mindflowLine}{#1}}
+\define@key{mindflow}{textcolor}{\colorlet{mindflowText}{#1}}
+\define@key{mindflow}{numcolor}{\colorlet{mindflowNum}{#1}}
+\define@key{mindflow}{markercolor}{\colorlet{mindflowMarker}{#1}}
+\define@key{mindflow}{textfont}{\renewcommand{\mindflowTextFont}{#1}}
+\define@key{mindflow}{numfont}{\renewcommand{\mindflowNumFont}{#1}}
+\define@key{mindflow}{markerfont}{\renewcommand{\mindflowMarkerFont}{#1}}
+\define@key{mindflow}{left}{\renewcommand{\mindflowLeft}{#1}}
+\define@key{mindflow}{right}{\renewcommand{\mindflowRight}{#1}}
+\define@key{mindflow}{lineheight}{\setlength{\mindflowLineHeight}{#1}}
+\newcommand{\mindflowset}[1]{%
+ \setkeys{mindflow}{#1}%
+ \if@mindflow@twocolumn%
+ \@mindflow@incolumntrue%
+ \fi%
+ \if@mindflow@linenumber%
+ \@mindflow@leftlinenumbertrue%
+ \fi%
+}
+
+%%================================
+%% lineno patch
+%%================================
\ifdefined\linenomathpatch\else
\RequirePackage{amsmath}
\RequirePackage{etoolbox}