texlive[59346] Master/texmf-dist: mindflow (25may21)

commits+karl at tug.org commits+karl at tug.org
Tue May 25 22:49:01 CEST 2021


Revision: 59346
          http://tug.org/svn/texlive?view=revision&revision=59346
Author:   karl
Date:     2021-05-25 22:49:00 +0200 (Tue, 25 May 2021)
Log Message:
-----------
mindflow (25may21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/mindflow/mindflow.pdf
    trunk/Master/texmf-dist/source/latex/mindflow/mindflow.dtx
    trunk/Master/texmf-dist/tex/latex/mindflow/mindflow.sty

Modified: trunk/Master/texmf-dist/doc/latex/mindflow/mindflow.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/mindflow/mindflow.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/mindflow/mindflow.dtx	2021-05-25 20:48:22 UTC (rev 59345)
+++ trunk/Master/texmf-dist/source/latex/mindflow/mindflow.dtx	2021-05-25 20:49:00 UTC (rev 59346)
@@ -18,7 +18,7 @@
 %<package>\NeedsTeXFormat{LaTeX2e}
 %<package>\ProvidesPackage{mindflow}
 %<*package>
-    [2021/05/23 mindflow environment]
+    [2021/05/25 mindflow environment]
 %</package>
 %
 %<*driver>
@@ -29,11 +29,12 @@
 \titleformat{\section}{\large\scshape\centering}{\thesection.}{.5em}{}
 \titleformat{\subsection}{\large\itshape}{\thesubsection}{.5em}{}
 \usepackage{titling}
-\setlength{\droptitle}{-.5in}
+\setlength{\droptitle}{-.7in}
 \usepackage{enumitem}
 \setlist{noitemsep}
 \usepackage{mathpazo,newpxtext}
 \useosf
+\usepackage{microtype}
 \PassOptionsToPackage{mathlines}{lineno}
 \usepackage[linenumber,rightmarker]{mindflow}
 \usepackage{blindtext}
@@ -61,17 +62,21 @@
 \lstset{moretexcs=%
     {linenumbers,nolinenumbers,mindflowLeft,mindflowRight,mindflowTextFont,mindflowNumFont,mindflowMarkerFont,mindflowLineHeight,setlength,colorlet,color,
     RequirePackage,SetupKeyvalOptions,DeclareBoolOption,ProcessKeyvalOptions,PassOptionsToPackage,
-    if at mindflow@twocolumn, at mindflow@incolumntrue,if at mindflow@linenumber, at mindflow@leftlinenumbertrue,if at mindflow@off,if at mindflow@incolumn,if at mindflow@leftlinenumber,if at mindflow@rightlinenumber,if at mindflow@leftmarker,if at mindflow@rightmarker,
+    if at mindflow@twocolumn, at mindflow@incolumntrue,if at mindflow@linenumber, at mindflow@leftlinenumbertrue,if at mindflow@on,if at mindflow@off, at mindflow@offfalse,if at mindflow@incolumn,if at mindflow@leftlinenumber,if at mindflow@rightlinenumber,if at mindflow@leftmarker,if at mindflow@rightmarker,
     ifLNturnsON,LNturnsONtrue,LNturnsONfalse,ifLineNumbers,
+    mindflowset,
     mindflow,endmindflow,comment,endcomment,
+    mindflowON,endmindflowON,mindflowOFF,endmindflowOFF,
     mfSepLine,makeLineNumber,LineNumber,
-    ifdefined,linenomathpatch,cspreto,csappto,patchcmd,linenomathpatchAMS,linenomathAMS,linenomathWithnumbers,linenomath,endlinenomath,linenomathNonumbers,linenopenalty
+    ifdefined,linenomathpatch,cspreto,csappto,patchcmd,linenomathpatchAMS,linenomathAMS,linenomathWithnumbers,linenomath,endlinenomath,linenomathNonumbers,linenopenalty,
+    define at key,setkeys,
+    nowidow,
     }
 }
 \lstnewenvironment{code*}% 
 {\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
 \lstnewenvironment{code}% 
-{\setkeys{lst}{columns=fullflexible,keepspaces=true,numbers=left,numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,lastline=137}}{}
+{\setkeys{lst}{columns=fullflexible,keepspaces=true,numbers=left,numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,lastline=202}}{}
 \EnableCrossrefs
 \CodelineIndex
 \RecordChanges
@@ -95,14 +100,15 @@
 % \section{Introduction}
 %
 % The \textsf{mindflow} package provides you a way to write your ideas 
-% and annotations clearly. For exmaple, with the options
-% \verb|linenumber| and \verb|rightmarker|, you will get:
+% and annotations clearly. For example, with the options
+% \verb|linenumber| and \verb|rightmarker|, you will get something like:
 % \begin{mindflow}
 %     What to write next:
 %     \begin{itemize}
-%         \item usage;
+%         \item usage: the initialization, options and configuration;
+%         \item an example;
+%         \item some word on the line numbering feature;
 %         \item some internal macros;
-%         \item an example maybe;
 %         \item the complete code.
 %     \end{itemize}
 % \end{mindflow}
@@ -125,7 +131,9 @@
 % There are a few options available, which are listed in the next subsection.
 %
 % \subsection{Options}
-% By default, the environment has no line numbers or markers. You can use the following options:
+% By default, the environment has no line numbers or markers. You can use the
+% following options (they can be specified directly, like \verb|off|, or as a
+% boolean optional, like \verb|off=false|):
 %
 % \begin{tabular}{ll}
 %     \verb|linenumber| & Same as \verb|leftlinenumber|\\
@@ -134,7 +142,7 @@
 %     \verb|leftmarker| & Enable left marker, by default it is a ``\verb|*|''\\
 %     \verb|rightmarker| & Enable right marker, by default it is a ``\verb|*|''\\
 %     \verb|incolumn| or \verb|twocolumn| & The separation line would fit in the column \\&(\emph{automatically applied in two-column documents})\\
-%     \verb|off| & Hide all the \verb|mindflow| environments
+%     \verb|off|, \verb|on| & Turn the \verb|mindflow| environments \emph{off} or \emph{on}
 % \end{tabular}
 %
 % \DescribeEnv{\{mindflow\}}
@@ -151,7 +159,79 @@
 %</example>
 % \fi
 %
-% \subsection{About the line numbers}
+% \subsection{The configuration}
+%
+% \DescribeMacro{\mindflowset}
+% You can use \lstinline|\mindflowset{|\meta{configuration}\lstinline|}| to
+% configure the \texttt{mindflow} environment. The following keys are provided:
+%
+% \begin{center}
+% \begin{tabular}{ll}
+%     \verb|left| & The left marker\\
+%     \verb|right| & The right marker\\ 
+%     \verb|textcolor| & Color of the text\\
+%     \verb|numcolor| & Color of line numbers\\
+%     \verb|markercolor| & Color of the markers\\
+%     \verb|linecolor| & Color of the separation line \\
+% \end{tabular}
+%
+% \begin{tabular}{ll}
+%     \verb|textfont| & Font of the text\\
+%     \verb|numfont| & Font of line numbers\\
+%     \verb|markerfont| & Font of the marker\\
+%     \verb|lineheight| & Height of the separation line\\
+% \end{tabular}
+%\end{center}
+%
+% Additionally, all the options mentioned in the previous section can be set with \lstinline|\mindflowset|.
+%
+% \section{An example}
+% With the following settings:
+% \iffalse
+%<*example>
+% \fi
+\begin{code*}
+\mindflowset{
+    leftlinenumber, rightlinenumber,
+    leftmarker, rightmarker,
+    linecolor   = green!50!black,
+    textcolor   = blue!50!cyan,
+    numcolor    = red!50!orange,
+    markercolor = orange,
+    textfont    = \footnotesize\sffamily\itshape,
+    numfont     = \small\footnotesize\ttfamily,
+    markerfont  = \footnotesize\sffamily,
+    left        = \hspace{1em}\(\succ\),
+    right       = \(\prec\)\hspace{1em},
+    lineheight  = 1pt
+}
+\end{code*}
+% \iffalse
+%</example>
+% \fi
+% \vspace{-.5\baselineskip}
+% One will have something like this:
+% \begingroup
+% \makeatletter
+% \@mindflow at leftmarkertrue
+% \@mindflow at rightlinenumbertrue
+% \makeatother
+% \colorlet{mindflowLine}{green!50!black}
+% \colorlet{mindflowText}{blue!50!cyan}
+% \colorlet{mindflowNum}{red!50!orange}
+% \colorlet{mindflowMarker}{orange}
+% \renewcommand{\mindflowTextFont}{\footnotesize\sffamily\itshape}
+% \renewcommand{\mindflowNumFont}{\small\footnotesize\ttfamily}
+% \renewcommand{\mindflowMarkerFont}{\footnotesize\sffamily}
+% \renewcommand{\mindflowLeft}{\hspace{1em}\(\succ\)}
+% \renewcommand{\mindflowRight}{\(\prec\)\hspace{1em}}
+% \setlength{\mindflowLineHeight}{1pt}
+% \begin{mindflow}
+%     \blindtext
+% \end{mindflow}
+% \endgroup
+%
+% \section{About the line numbers}
 % \linenumbers
 %
 % You can also add line numbers to the other part of your document in the usual
@@ -192,6 +272,8 @@
 % \end{align*}
 % \end{mindflow}
 %
+% \clearpage
+% \centerline{\itshape ---~~Readers who are not interested in technical details can skip the rest~~---}
 %
 % \section{Some \TeX{}nical details}
 %
@@ -206,9 +288,9 @@
 %<*example>
 % \fi
 \begin{code*}
-\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}
 \end{code*}
 % \iffalse
 %</example>
@@ -236,9 +318,9 @@
 % the context, with opacity 30\% for the separation lines, text and markers, and
 % 8\% for the line numbers. 
 %
-% \section{An example}
-% With option \verb|leftlinenumber, rightlinenumber, leftmarker, rightmarker| and the 
-% following settings:
+% \section{The same example}
+% With option \verb|leftlinenumber, rightlinenumber, leftmarker, rightmarker| 
+% and the following settings:
 % \iffalse
 %<*example>
 % \fi
@@ -247,9 +329,9 @@
 \colorlet{mindflowText}{blue!50!cyan}
 \colorlet{mindflowNum}{red!50!orange}
 \colorlet{mindflowMarker}{orange}
-\renewcommand{\mindflowTextFont}{\normalfont\footnotesize\sffamily\itshape}
-\renewcommand{\mindflowNumFont}{\normalfont\small\footnotesize\ttfamily}
-\renewcommand{\mindflowMarkerFont}{\normalfont\footnotesize\sffamily}
+\renewcommand{\mindflowTextFont}{\footnotesize\sffamily\itshape}
+\renewcommand{\mindflowNumFont}{\small\footnotesize\ttfamily}
+\renewcommand{\mindflowMarkerFont}{\footnotesize\sffamily}
 \renewcommand{\mindflowLeft}{\hspace{1em}\(\succ\)}
 \renewcommand{\mindflowRight}{\(\prec\)\hspace{1em}}
 \setlength{\mindflowLineHeight}{1pt}
@@ -258,24 +340,7 @@
 %</example>
 % \fi
 % \vspace{-.5\baselineskip}
-% One gets:
-% \makeatletter
-% \@mindflow at leftmarkertrue
-% \@mindflow at rightlinenumbertrue
-% \makeatother
-% \colorlet{mindflowLine}{green!50!black}
-% \colorlet{mindflowText}{blue!50!cyan}
-% \colorlet{mindflowNum}{red!50!orange}
-% \colorlet{mindflowMarker}{orange}
-% \renewcommand{\mindflowTextFont}{\normalfont\footnotesize\sffamily\itshape}
-% \renewcommand{\mindflowNumFont}{\normalfont\small\footnotesize\ttfamily}
-% \renewcommand{\mindflowMarkerFont}{\normalfont\footnotesize\sffamily}
-% \renewcommand{\mindflowLeft}{\hspace{1em}\(\succ\)}
-% \renewcommand{\mindflowRight}{\(\prec\)\hspace{1em}}
-% \setlength{\mindflowLineHeight}{1pt}
-% \begin{mindflow}
-%     \blindtext
-% \end{mindflow}
+% One will get the same result as in the previous example.
 %
 % \StopEventually{}
 %
@@ -288,6 +353,7 @@
     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
@@ -299,6 +365,9 @@
 
 \ProcessKeyvalOptions*\relax
 
+\if at mindflow@on
+  \@mindflow at offfalse
+\fi
 \if at mindflow@twocolumn
   \@mindflow at incolumntrue
 \fi
@@ -318,9 +387,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}
@@ -329,19 +398,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 at 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%
 }
 
@@ -349,49 +421,107 @@
 \newcounter{mfLN}
 \setcounter{mfLN}{1}
 
-\if at 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 at 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 at mindflow@leftlinenumber%
+      \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber\hspace{1em}%
+    \fi%
+    \color{mindflowMarker}%
+    \if at mindflow@leftmarker%
+      \normalfont\mindflowMarkerFont\mindflowLeft\hspace{1em}%
+    \fi%
+    \rlap{\hskip\textwidth%
+      \if at mindflow@rightmarker%
+        \hspace{1em}\mindflowRight%
       \fi%
-      \color{mindflowMarker}%
-      \if at mindflow@leftmarker%
-        \mindflowMarkerFont\mindflowLeft\hspace{1em}%
+      \if at mindflow@rightlinenumber%
+        \hspace{1em}%
+        \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber%
       \fi%
-      \rlap{\hskip\textwidth%
-        \if at mindflow@rightmarker%
-          \hspace{1em}\mindflowRight%
-        \fi%
-        \if at 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 at mindflow@off
+  \let\mindflow=\mindflowOFF
+  \let\endmindflow=\endmindflowOFF
+\else
+  \let\mindflow=\mindflowON
+  \let\endmindflow=\endmindflowON
 \fi
 
+%%================================
+%% \mindflowset
+%%================================
+\define at key{mindflow}{on}[true]{%
+  \csname @mindflow at on#1\endcsname%
+  \if at mindflow@off%
+    \let\mindflow=\mindflowOFF%
+    \let\endmindflow=\endmindflowOFF%
+  \else%
+    \let\mindflow=\mindflowON%
+    \let\endmindflow=\endmindflowON%
+  \fi%
+}
+\define at key{mindflow}{off}[true]{%
+  \csname @mindflow at off#1\endcsname%
+  \if at mindflow@off%
+    \let\mindflow=\mindflowOFF%
+    \let\endmindflow=\endmindflowOFF%
+  \else%
+    \let\mindflow=\mindflowON%
+    \let\endmindflow=\endmindflowON%
+  \fi%
+}
+\define at key{mindflow}{leftmarker}[true]{\csname @mindflow at leftmarker#1\endcsname}
+\define at key{mindflow}{rightmarker}[true]{\csname @mindflow at rightmarker#1\endcsname}
+\define at key{mindflow}{linenumber}[true]{\csname @mindflow at linenumber#1\endcsname}
+\define at key{mindflow}{leftlinenumber}[true]{\csname @mindflow at leftlinenumber#1\endcsname}
+\define at key{mindflow}{rightlinenumber}[true]{\csname @mindflow at rightlinenumber#1\endcsname}
+\define at key{mindflow}{twocolumn}[true]{\csname @mindflow at twocolumn#1\endcsname}
+\define at key{mindflow}{incolumn}[true]{\csname @mindflow at incolumn#1\endcsname}
+\define at key{mindflow}{linecolor}{\colorlet{mindflowLine}{#1}}
+\define at key{mindflow}{textcolor}{\colorlet{mindflowText}{#1}}
+\define at key{mindflow}{numcolor}{\colorlet{mindflowNum}{#1}}
+\define at key{mindflow}{markercolor}{\colorlet{mindflowMarker}{#1}}
+\define at key{mindflow}{textfont}{\renewcommand{\mindflowTextFont}{#1}}
+\define at key{mindflow}{numfont}{\renewcommand{\mindflowNumFont}{#1}}
+\define at key{mindflow}{markerfont}{\renewcommand{\mindflowMarkerFont}{#1}}
+\define at key{mindflow}{left}{\renewcommand{\mindflowLeft}{#1}}
+\define at key{mindflow}{right}{\renewcommand{\mindflowRight}{#1}}
+\define at key{mindflow}{lineheight}{\setlength{\mindflowLineHeight}{#1}}
+\newcommand{\mindflowset}[1]{%
+  \setkeys{mindflow}{#1}%
+  \if at mindflow@twocolumn%
+    \@mindflow at incolumntrue%
+  \fi%
+  \if at mindflow@linenumber%
+    \@mindflow at leftlinenumbertrue%
+  \fi%
+}
+
+%%================================
+%% lineno patch
+%%================================
 \ifdefined\linenomathpatch\else
   \RequirePackage{amsmath}
   \RequirePackage{etoolbox}

Modified: trunk/Master/texmf-dist/tex/latex/mindflow/mindflow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/mindflow/mindflow.sty	2021-05-25 20:48:22 UTC (rev 59345)
+++ trunk/Master/texmf-dist/tex/latex/mindflow/mindflow.sty	2021-05-25 20:49:00 UTC (rev 59346)
@@ -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 at mindflow@on
+  \@mindflow at offfalse
+\fi
 \if at mindflow@twocolumn
   \@mindflow at 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 at 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 at 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 at 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 at mindflow@leftlinenumber%
+      \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber\hspace{1em}%
+    \fi%
+    \color{mindflowMarker}%
+    \if at mindflow@leftmarker%
+      \normalfont\mindflowMarkerFont\mindflowLeft\hspace{1em}%
+    \fi%
+    \rlap{\hskip\textwidth%
+      \if at mindflow@rightmarker%
+        \hspace{1em}\mindflowRight%
       \fi%
-      \color{mindflowMarker}%
-      \if at mindflow@leftmarker%
-        \mindflowMarkerFont\mindflowLeft\hspace{1em}%
+      \if at mindflow@rightlinenumber%
+        \hspace{1em}%
+        \normalfont\mindflowNumFont\color{mindflowNum}\LineNumber%
       \fi%
-      \rlap{\hskip\textwidth%
-        \if at mindflow@rightmarker%
-          \hspace{1em}\mindflowRight%
-        \fi%
-        \if at 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 at mindflow@off
+  \let\mindflow=\mindflowOFF
+  \let\endmindflow=\endmindflowOFF
+\else
+  \let\mindflow=\mindflowON
+  \let\endmindflow=\endmindflowON
 \fi
 
+%%================================
+%% \mindflowset
+%%================================
+\define at key{mindflow}{on}[true]{%
+  \csname @mindflow at on#1\endcsname%
+  \if at mindflow@off%
+    \let\mindflow=\mindflowOFF%
+    \let\endmindflow=\endmindflowOFF%
+  \else%
+    \let\mindflow=\mindflowON%
+    \let\endmindflow=\endmindflowON%
+  \fi%
+}
+\define at key{mindflow}{off}[true]{%
+  \csname @mindflow at off#1\endcsname%
+  \if at mindflow@off%
+    \let\mindflow=\mindflowOFF%
+    \let\endmindflow=\endmindflowOFF%
+  \else%
+    \let\mindflow=\mindflowON%
+    \let\endmindflow=\endmindflowON%
+  \fi%
+}
+\define at key{mindflow}{leftmarker}[true]{\csname @mindflow at leftmarker#1\endcsname}
+\define at key{mindflow}{rightmarker}[true]{\csname @mindflow at rightmarker#1\endcsname}
+\define at key{mindflow}{linenumber}[true]{\csname @mindflow at linenumber#1\endcsname}
+\define at key{mindflow}{leftlinenumber}[true]{\csname @mindflow at leftlinenumber#1\endcsname}
+\define at key{mindflow}{rightlinenumber}[true]{\csname @mindflow at rightlinenumber#1\endcsname}
+\define at key{mindflow}{twocolumn}[true]{\csname @mindflow at twocolumn#1\endcsname}
+\define at key{mindflow}{incolumn}[true]{\csname @mindflow at incolumn#1\endcsname}
+\define at key{mindflow}{linecolor}{\colorlet{mindflowLine}{#1}}
+\define at key{mindflow}{textcolor}{\colorlet{mindflowText}{#1}}
+\define at key{mindflow}{numcolor}{\colorlet{mindflowNum}{#1}}
+\define at key{mindflow}{markercolor}{\colorlet{mindflowMarker}{#1}}
+\define at key{mindflow}{textfont}{\renewcommand{\mindflowTextFont}{#1}}
+\define at key{mindflow}{numfont}{\renewcommand{\mindflowNumFont}{#1}}
+\define at key{mindflow}{markerfont}{\renewcommand{\mindflowMarkerFont}{#1}}
+\define at key{mindflow}{left}{\renewcommand{\mindflowLeft}{#1}}
+\define at key{mindflow}{right}{\renewcommand{\mindflowRight}{#1}}
+\define at key{mindflow}{lineheight}{\setlength{\mindflowLineHeight}{#1}}
+\newcommand{\mindflowset}[1]{%
+  \setkeys{mindflow}{#1}%
+  \if at mindflow@twocolumn%
+    \@mindflow at incolumntrue%
+  \fi%
+  \if at mindflow@linenumber%
+    \@mindflow at leftlinenumbertrue%
+  \fi%
+}
+
+%%================================
+%% lineno patch
+%%================================
 \ifdefined\linenomathpatch\else
   \RequirePackage{amsmath}
   \RequirePackage{etoolbox}



More information about the tex-live-commits mailing list.