texlive[48673] trunk: latexindent (15sep18)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 15 23:42:20 CEST 2018


Revision: 48673
          http://tug.org/svn/texlive?view=revision&revision=48673
Author:   karl
Date:     2018-09-15 23:42:19 +0200 (Sat, 15 Sep 2018)
Log Message:
-----------
latexindent (15sep18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/latexindent/latexindent.pl
    trunk/Master/bin/win32/latexindent.exe
    trunk/Master/texmf-dist/doc/support/latexindent/README
    trunk/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
    trunk/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex
    trunk/Master/texmf-dist/doc/support/latexindent/title.tex
    trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Document.pm
    trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/ModifyLineBreaks.pm
    trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Version.pm
    trunk/Master/texmf-dist/scripts/latexindent/defaultSettings.yaml
    trunk/Master/texmf-dist/scripts/latexindent/latexindent.pl

Added Paths:
-----------
    trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Sentence.pm

Modified: trunk/Build/source/texk/texlive/linked_scripts/latexindent/latexindent.pl
===================================================================
(Binary files differ)

Modified: trunk/Master/bin/win32/latexindent.exe
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/latexindent/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/latexindent/README	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/doc/support/latexindent/README	2018-09-15 21:42:19 UTC (rev 48673)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-    latexindent.pl, version 3.5, 2018-08-13
+    latexindent.pl, version 3.5.1, 2018-09-15
 
     PERL script to indent code within environments, and align delimited 
     environments in .tex files.

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

Modified: trunk/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/doc/support/latexindent/sec-the-m-switch.tex	2018-09-15 21:42:19 UTC (rev 48673)
@@ -357,7 +357,7 @@
 
 \subsection{oneSentencePerLine: modifying line breaks for sentences}\label{sec:onesentenceperline}
 	You can instruct \texttt{latexindent.pl} to
-	format%%%%%
+	format%%%%%%
 	\announce{2018-01-13}{one sentence per line} your file so that
 	it puts one sentence per line. Thank you to \cite{mlep} for helping to
 	shape and test this feature. The behaviour of this part of the script is controlled by
@@ -650,7 +650,7 @@
 	\end{minipage}
 
 \subsubsection{text wrapping and indenting sentences}
-	The \texttt{oneSentencePerLine}%%
+	The \texttt{oneSentencePerLine}%%%
 	\announce*{2018-08-13}{oneSentencePerline text wrap and indent} can be instructed to perform
 	text wrapping and indentation upon sentences.
 
@@ -679,6 +679,48 @@
 	\vref{lst:textwrap9-yaml}, for example, you  would replace/append
 	\texttt{environments} with, for example, \texttt{sentence: 50}.
 
+	The indentation of sentences requires that sentences are stored as code blocks. This
+	means that you may need to tweak \vref{lst:sentencesEndWith}. Let's explore this in
+	relation to \cref{lst:multiple-sentences6}.
+
+	\cmhlistingsfromfile*{demonstrations/multiple-sentences6.tex}{\texttt{multiple-sentences6.tex}}{lst:multiple-sentences6}
+
+	By default, \texttt{latexindent.pl} will find the full-stop within the first
+	\texttt{item}, which means that, upon running the following commands
+	\begin{commandshell}
+latexindent.pl multiple-sentences6 -m -l=sentence-wrap1.yaml 
+latexindent.pl multiple-sentences6 -m -l=sentence-wrap1.yaml -y="modifyLineBreaks:oneSentencePerLine:sentenceIndent:''"
+\end{commandshell}
+	we receive the respective output in \cref{lst:multiple-sentences6-mod1} and
+	\cref{lst:multiple-sentences6-mod2}.
+
+	\cmhlistingsfromfile*{demonstrations/multiple-sentences6-mod1.tex}{\texttt{multiple-sentences6-mod1.tex} using \cref{lst:sentence-wrap1-yaml}}{lst:multiple-sentences6-mod1}
+
+	\cmhlistingsfromfile*{demonstrations/multiple-sentences6-mod2.tex}{\texttt{multiple-sentences6-mod2.tex} using \cref{lst:sentence-wrap1-yaml} and no sentence indentation}{lst:multiple-sentences6-mod2}
+
+	We note that \cref{lst:multiple-sentences6-mod1} the \texttt{itemize} code block has
+	\emph{not} been indented appropriately. This is because the
+	oneSentencePerLine has been instructed to store sentences (because
+	\cref{lst:sentence-wrap1-yaml}); each sentence is then searched for code blocks.
+
+	We can tweak the settings in \vref{lst:sentencesEndWith} to ensure that full stops are
+	not followed by \texttt{item} commands, and that the end of sentences
+	contains \lstinline!\end{itemize}! as in \cref{lst:itemize-yaml} (if you intend to use this, ensure that you
+	remove the line breaks from the \texttt{other} field).
+
+	\cmhlistingsfromfile*[style=yaml-LST]*{demonstrations/itemized.yaml}[MLB-TCB]{\texttt{itemize.yaml}}{lst:itemize-yaml}
+
+	Upon running
+	\begin{commandshell}
+latexindent.pl multiple-sentences6 -m -l=sentence-wrap1.yaml,itemize.yaml
+\end{commandshell}
+	we receive the output in \cref{lst:multiple-sentences6-mod3}.
+
+	\cmhlistingsfromfile*{demonstrations/multiple-sentences6-mod3.tex}{\texttt{multiple-sentences6-mod3.tex} using \cref{lst:sentence-wrap1-yaml} and \cref{lst:itemize-yaml}}{lst:multiple-sentences6-mod3}
+
+	Notice that the sentence has received indentation, and that the
+	\texttt{itemize} code block has been found and indented correctly.
+
 \subsection{removeParagraphLineBreaks: modifying line breaks for paragraphs}\label{subsec:removeparagraphlinebreaks}
 	When the \texttt{-m} switch is active \texttt{latexindent.pl} has the
 	ability to remove line breaks%
@@ -821,7 +863,7 @@
 	\end{widepage}
 	then we obtain the output in \cref{lst:shortlines-md4}. \cmhlistingsfromfile{demonstrations/shortlines-md4.tex}{\texttt{shortlines-md4.tex}}{lst:shortlines-md4}
 
-	Note%%%%
+	Note%%%%%
 	\announce*{2018-08-13}*{updates to all in removeParagraphLineBreaks} that the
 	\texttt{all} field can take the same exceptions detailed in
 	\cref{lst:textwrap6-yaml}{lst:textwrap8-yaml}.
@@ -889,7 +931,7 @@
 
 \subsection{Combining removeParagraphLineBreaks and textWrapOptions}\label{subsec:removeparagraphlinebreaks:and:textwrap}
 
-	The%%%%
+	The%%%%%
 	\announce*{2018-08-13}{combine text wrap and remove paragraph line breaks} text wrapping
 	routine (\vref{subsec:textwrapping}) and remove paragraph line breaks routine
 	(\vref{subsec:removeparagraphlinebreaks}) can be combined.
@@ -929,7 +971,7 @@
 
 \subsection{Poly-switches}\label{sec:poly-switches}
 	Every other field in the \texttt{modifyLineBreaks} field uses poly-switches, and can
-	take one of \emph{five}%%%%%
+	take one of \emph{five}%%%%%%
 	\announce{2017-08-21}*{blank line poly-switch} integer values:
 	\begin{itemize}[font=\bfseries]
 		\item[$-1$] \emph{remove mode}: line breaks before or after the
@@ -1044,7 +1086,7 @@
 	comment symbol has been added before adding the line break; in both cases, trailing
 	horizontal space has been stripped before doing so.
 
-	Let's%%%%%
+	Let's%%%%%%
 	\announce{2017-08-21}{demonstration of blank line poly-switch (3)}	now change each
 	of the \texttt{1} values in \cref{lst:env-mlb1,lst:env-mlb2} so that they are
 	$3$ and save them into \texttt{env-mlb5.yaml} and
@@ -1142,7 +1184,7 @@
 	comment symbol has been added before adding the line break; in both cases, trailing
 	horizontal space has been stripped before doing so.
 
-	Let's%%%%%
+	Let's%%%%%%
 	\announce{2017-08-21}{demonstration of blank line poly-switch (3)} now change each of
 	the \texttt{1} values in \cref{lst:env-mlb7,lst:env-mlb8} so that they are
 	$3$ and save them into \texttt{env-mlb11.yaml} and
@@ -1425,7 +1467,7 @@
 		ifelsefi                               & \verb!before words!$\BeginStartsOnOwnLine$      & $\BeginStartsOnOwnLine$                 & IfStartsOnOwnLine                                                 \\
 		                                       & \verb!\if...!$\BodyStartsOnOwnLine$       & $\BodyStartsOnOwnLine$                  & BodyStartsOnOwnLine                                               \\
 		                                       & \verb!body of if/or statement!$\OrStartsOnOwnLine$         & $\OrStartsOnOwnLine$                    & OrStartsOnOwnLine                                                 %
-		\announce{2018-04-27}{new ifElseFi code block polyswitches}                                                                                                                                                   \\
+		\announce{2018-04-27}{new ifElseFi code block polyswitches}                                                                                                                                                    \\
 		                                       & \verb!\or!$\OrFinishesWithLineBreak$   & $\OrFinishesWithLineBreak$              & OrFinishesWithLineBreak                                           \\
 		                                       & \verb!body of if/or statement!$\ElseStartsOnOwnLine$       & $\ElseStartsOnOwnLine$                  & ElseStartsOnOwnLine                                               \\
 		                                       & \verb!\else!$\ElseFinishesWithLineBreak$ & $\ElseFinishesWithLineBreak$            & ElseFinishesWithLineBreak                                         \\
@@ -1464,7 +1506,7 @@
 		specialBeginEnd                        & before words$\BeginStartsOnOwnLine$                     & $\BeginStartsOnOwnLine$                 & SpecialBeginStartsOnOwnLine                                       \\
 		                                       & \verb!\[!$\BodyStartsOnOwnLine$       & $\BodyStartsOnOwnLine$                  & SpecialBodyStartsOnOwnLine                                        \\
 		                                       & \verb!body of special/middle!$\ElseStartsOnOwnLine$       & $\ElseStartsOnOwnLine$                  & SpecialMiddleStartsOnOwnLine                                      %
-		\announce{2018-04-27}{new special code block polyswitches}                                                                                                                                                    \\
+		\announce{2018-04-27}{new special code block polyswitches}                                                                                                                                                     \\
 		                                       & \verb!\middle!$\ElseFinishesWithLineBreak$ & $\ElseFinishesWithLineBreak$            & SpecialMiddleFinishesWithLineBreak                                \\
 		                                       & body of special/middle $\EndStartsOnOwnLine$            & $\EndStartsOnOwnLine$                   & SpecialEndStartsOnOwnLine                                         \\
 		                                       & \verb!\]!$\EndFinishesWithLineBreak$  & $\EndFinishesWithLineBreak$             & SpecialEndFinishesWithLineBreak                                   \\

Modified: trunk/Master/texmf-dist/doc/support/latexindent/title.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/latexindent/title.tex	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/doc/support/latexindent/title.tex	2018-09-15 21:42:19 UTC (rev 48673)
@@ -8,7 +8,7 @@
 			sharp corners,
 			enhanced,
 			overlay={\node[anchor=north east,outer sep=2pt] at ([xshift=3cm,yshift=4mm]frame.north east) {\includegraphics[width=3cm]{logo}}; }]
-		\centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.5
+		\centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.5.1
 	\end{tcolorbox}
 }
 \author{Chris Hughes \thanks{and contributors!

Modified: trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Document.pm
===================================================================
--- trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Document.pm	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Document.pm	2018-09-15 21:42:19 UTC (rev 48673)
@@ -27,7 +27,8 @@
 use LatexIndent::FileExtension qw/file_extension_check/;
 use LatexIndent::BackUpFileProcedure qw/create_back_up_file/;
 use LatexIndent::BlankLines qw/protect_blank_lines unprotect_blank_lines condense_blank_lines/;
-use LatexIndent::ModifyLineBreaks qw/modify_line_breaks_body modify_line_breaks_end remove_line_breaks_begin adjust_line_breaks_end_parent text_wrap remove_paragraph_line_breaks construct_paragraph_reg_exp one_sentence_per_line text_wrap_remove_paragraph_line_breaks/;
+use LatexIndent::ModifyLineBreaks qw/modify_line_breaks_body modify_line_breaks_end remove_line_breaks_begin adjust_line_breaks_end_parent text_wrap remove_paragraph_line_breaks construct_paragraph_reg_exp text_wrap_remove_paragraph_line_breaks/;
+use LatexIndent::Sentence qw/one_sentence_per_line/;
 use LatexIndent::TrailingComments qw/remove_trailing_comments put_trailing_comments_back_in add_comment_symbol construct_trailing_comment_regexp/;
 use LatexIndent::HorizontalWhiteSpace qw/remove_trailing_whitespace remove_leading_space/;
 use LatexIndent::Indent qw/indent wrap_up_statement determine_total_indentation indent_begin indent_body indent_end_statement final_indentation_check  get_surrounding_indentation indent_children_recursively check_for_blank_lines_at_beginning put_blank_lines_back_in_at_beginning add_surrounding_indentation_to_begin_statement post_indentation_check/;
@@ -95,7 +96,6 @@
     $self->find_file_contents_environments_and_preamble;
     $self->dodge_double_backslash;
     $self->remove_leading_space;
-    $self->one_sentence_per_line if $is_m_switch_active;
     $self->process_body_of_text;
     $self->remove_trailing_whitespace(when=>"after");
     $self->condense_blank_lines;
@@ -180,6 +180,9 @@
 sub find_objects{
     my $self = shift;
 
+    # one sentence per line: sentences are objects, as of V3.5.1
+    $self->one_sentence_per_line if ($is_m_switch_active and ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{manipulateSentences});
+
     # search for environments
     $logger->trace('looking for ENVIRONMENTS') if $is_t_switch_active;
     $self->find_environments if ${$self}{body} =~ m/$environmentBasicRegExp/s;

Modified: trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/ModifyLineBreaks.pm
===================================================================
--- trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/ModifyLineBreaks.pm	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/ModifyLineBreaks.pm	2018-09-15 21:42:19 UTC (rev 48673)
@@ -25,7 +25,7 @@
 use LatexIndent::Switches qw/$is_m_switch_active $is_t_switch_active $is_tt_switch_active/;
 use LatexIndent::Item qw/$listOfItems/;
 use LatexIndent::LogFile qw/$logger/;
-our @EXPORT_OK = qw/modify_line_breaks_body modify_line_breaks_end adjust_line_breaks_end_parent remove_line_breaks_begin text_wrap remove_paragraph_line_breaks construct_paragraph_reg_exp one_sentence_per_line text_wrap_remove_paragraph_line_breaks/;
+our @EXPORT_OK = qw/modify_line_breaks_body modify_line_breaks_end adjust_line_breaks_end_parent remove_line_breaks_begin text_wrap remove_paragraph_line_breaks construct_paragraph_reg_exp text_wrap_remove_paragraph_line_breaks/;
 our $paragraphRegExp = q();
 
 
@@ -327,230 +327,5 @@
     }
 }
 
-sub one_sentence_per_line{
-    my $self = shift;
 
-    return unless ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{manipulateSentences};
-    $logger->trace("*One sentence per line regular expression construction: (see oneSentencePerLine: manipulateSentences)") if $is_t_switch_active;
-
-    # sentences FOLLOW
-    # sentences FOLLOW
-    # sentences FOLLOW
-    my $sentencesFollow = q();
-
-    while( my ($sentencesFollowEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}){
-        if($yesNo){
-            if($sentencesFollowEachPart eq "par"){
-                $sentencesFollowEachPart = qr/\R?\\par/s;
-            } elsif ($sentencesFollowEachPart eq "blankLine"){
-                $sentencesFollowEachPart = qr/
-                        (?:\A(?:$tokens{blanklines}\R)+)     # the order of each of these 
-                                |                            # is important, as (like always) the first
-                        (?:\G(?:$tokens{blanklines}\R)+)     # thing to be matched will 
-                                |                            # be accepted
-                        (?:(?:$tokens{blanklines}\h*\R)+)
-                                |
-                                \R{2,}
-                                |
-                                \G
-                        /sx;
-            } elsif ($sentencesFollowEachPart eq "fullStop"){
-                $sentencesFollowEachPart = qr/\./s;
-            } elsif ($sentencesFollowEachPart eq "exclamationMark"){
-                $sentencesFollowEachPart = qr/\!/s;
-            } elsif ($sentencesFollowEachPart eq "questionMark"){
-                $sentencesFollowEachPart = qr/\?/s;
-            } elsif ($sentencesFollowEachPart eq "rightBrace"){
-                $sentencesFollowEachPart = qr/\}/s;
-            } elsif ($sentencesFollowEachPart eq "commentOnPreviousLine"){
-                $sentencesFollowEachPart = qr/$trailingCommentRegExp\h*\R/s;
-            } elsif ($sentencesFollowEachPart eq "other"){
-                $sentencesFollowEachPart = qr/$yesNo/;
-            }
-            $sentencesFollow .= ($sentencesFollow eq '' ? q() : "|").qr/$sentencesFollowEachPart/sx;
-        }
-    }
-    # if blankLine is not active from sentencesFollow then we need to set up the 
-    # beginning of the string, but make sure that it is *not* followed by a 
-    # blank line token, or a blank line
-    if(!${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
-            $sentencesFollow .= ($sentencesFollow eq '' ? q() : "|").
-                                    qr/
-                                        \G
-                                        (?!$tokens{blanklines})
-                                    /sx;
-    }
-
-    if(${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
-        $sentencesFollow = ($sentencesFollow eq '' ? q() : qr/(?:$sentencesFollow)(?:\h|\R)*/sx );
-    } else {
-        $sentencesFollow = ($sentencesFollow eq '' ? q() : qr/(?:$sentencesFollow)(?:\h*\R?)/sx );
-    }
-
-
-    $logger->trace("Sentences follow regexp:") if $is_tt_switch_active;
-    $logger->trace($sentencesFollow) if $is_tt_switch_active;
-    
-    # sentences BEGIN with
-    # sentences BEGIN with
-    # sentences BEGIN with
-    my $sentencesBeginWith = q();
-
-    while( my ($sentencesBeginWithEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesBeginWith}}){
-        if($yesNo){
-            if($sentencesBeginWithEachPart eq "A-Z"){
-                $logger->trace("sentence BEGINS with capital letters (see oneSentencePerLine:sentencesBeginWith:A-Z)") if $is_t_switch_active;
-                $sentencesBeginWithEachPart = qr/(?!(?:$tokens{blanklines}|$tokens{verbatim}|$tokens{preamble}))[A-Z]/;
-            } elsif ($sentencesBeginWithEachPart eq "a-z"){
-                $logger->trace("sentence BEGINS with lower-case letters (see oneSentencePerLine:sentencesBeginWith:a-z)") if $is_t_switch_active;
-                $sentencesBeginWithEachPart = qr/[a-z]/;
-            } elsif ($sentencesBeginWithEachPart eq "other"){
-                $logger->trace("sentence BEGINS with other $yesNo (reg exp) (see oneSentencePerLine:sentencesBeginWith:other)") if $is_t_switch_active;
-                $sentencesBeginWithEachPart = qr/$yesNo/;
-            }
-            $sentencesBeginWith .= ($sentencesBeginWith eq "" ? q(): "|" ).$sentencesBeginWithEachPart;
-        }
-    }
-    $sentencesBeginWith = qr/$sentencesBeginWith/;
-
-    # sentences END with
-    # sentences END with
-    # sentences END with
-    ${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}{basicFullStop} = 0 if ${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}{betterFullStop};
-    my $sentencesEndWith = q();
-
-    while( my ($sentencesEndWithEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}){
-        if($yesNo){
-            if($sentencesEndWithEachPart eq "basicFullStop"){
-                $logger->trace("sentence ENDS with full stop (see oneSentencePerLine:sentencesEndWith:basicFullStop") if $is_t_switch_active;
-                $sentencesEndWithEachPart = qr/\./;
-            } elsif($sentencesEndWithEachPart eq "betterFullStop"){
-                $logger->trace("sentence ENDS with *better* full stop (see oneSentencePerLine:sentencesEndWith:betterFullStop") if $is_t_switch_active;
-                $sentencesEndWithEachPart = qr/(?:\.\)(?!\h*[a-z]))|(?:(?<!(?:(?:e\.g)|(?:i\.e)|(?:etc))))\.(?!(?:[a-z]|[A-Z]|\-|\,|[0-9]))/;
-            } elsif ($sentencesEndWithEachPart eq "exclamationMark"){
-                $logger->trace("sentence ENDS with exclamation mark (see oneSentencePerLine:sentencesEndWith:exclamationMark)") if $is_t_switch_active;
-                $sentencesEndWithEachPart = qr/!/;
-            } elsif ($sentencesEndWithEachPart eq "questionMark"){
-                $logger->trace("sentence ENDS with question mark (see oneSentencePerLine:sentencesEndWith:questionMark)") if $is_t_switch_active;
-                $sentencesEndWithEachPart = qr/\?/;
-            } elsif ($sentencesEndWithEachPart eq "other"){
-                $logger->trace("sentence ENDS with other $yesNo (reg exp) (see oneSentencePerLine:sentencesEndWith:other)") if $is_t_switch_active;
-                $sentencesEndWithEachPart = qr/$yesNo/;
-            }
-            $sentencesEndWith .= ($sentencesEndWith eq "" ? q(): "|" ).$sentencesEndWithEachPart;
-        }
-    }
-    $sentencesEndWith = qr/$sentencesEndWith/;
-
-    # the OVERALL sentence regexp
-    # the OVERALL sentence regexp
-    # the OVERALL sentence regexp
-    $logger->trace("Overall sentences end with regexp:") if $is_tt_switch_active;
-    $logger->trace($sentencesEndWith) if $is_tt_switch_active;
-
-    $logger->trace("Finding sentences...") if $is_t_switch_active;
-
-    my $notWithinSentence = qr/$trailingCommentRegExp/s;
-
-    # if 
-    #
-    #   modifyLineBreaks
-    #       oneSentencePerLine
-    #           sentencesFollow
-    #               blankLine
-    #
-    # is set to 0 then we need to *exclude* the $tokens{blanklines} from the sentence routine,
-    # otherwise we could begin a sentence with $tokens{blanklines}.
-    if(!${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
-        $notWithinSentence .= "|".qr/(?:\h*\R?$tokens{blanklines})/s;
-    }
-
-    # similarly for \par
-    if(${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{par}){
-        $notWithinSentence .= "|".qr/(?:\R?\\par)/s;
-    }
-
-    # initiate the sentence counter
-    my $sentenceCounter;
-    my @sentenceStorage;
-
-    # make the sentence manipulation
-    ${$self}{body} =~ s/((?:$sentencesFollow))
-                            (\h*)
-                            (?!$notWithinSentence) 
-                            ((?:$sentencesBeginWith).*?)
-                            ($sentencesEndWith)/
-                            my $beginning = $1;
-                            my $h_space   = ($2?$2:q());
-                            my $middle    = $3;
-                            my $end       = $4;
-                            my $trailingComments = q();
-                            # remove trailing comments from within the body of the sentence
-                            while($middle =~ m|$trailingCommentRegExp|){
-                                $middle =~ s|\h*($trailingCommentRegExp)||s;
-                                $trailingComments .= $1;
-                            }
-                            # remove line breaks from within a sentence
-                            $middle =~ s|
-                                            (?!\A)      # not at the *beginning* of a match
-                                            (\h*)\R     # possible horizontal space, then line break
-                                        |$1?$1:" ";|esgx if ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{removeSentenceLineBreaks};
-                            $middle =~ s|$tokens{blanklines}\h*\R?|$tokens{blanklines}\n|sg;
-                            $logger->trace("follows: $beginning") if $is_tt_switch_active;
-                            $logger->trace("sentence: $middle") if $is_tt_switch_active;
-                            $logger->trace("ends with: $end") if $is_tt_switch_active;
-                            # reconstruct the sentence
-                            $sentenceCounter++;
-                            push(@sentenceStorage,{id=>$tokens{sentence}.$sentenceCounter.$tokens{endOfToken},value=>$middle.$end});
-                            $beginning.$h_space.$tokens{sentence}.$sentenceCounter.$tokens{endOfToken}.$trailingComments;
-                            /xsge;
-
-    # loop back through the sentenceStorage and replace with the sentence, adjusting line breaks
-    # before and after appropriately
-    while( my $sentence = pop @sentenceStorage){
-      my $sentenceStorageID = ${$sentence}{id};
-      my $sentenceStorageValue = ${$sentence}{value};
-
-      # option to text wrap (and option to indent) sentences
-      if(${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{textWrapSentences}){
-              my $sentenceObj = LatexIndent::Document->new(body=>$sentenceStorageValue,
-                                                    name=>"sentence",
-                                                    modifyLineBreaksYamlName=>"sentence",
-                                                    );
-
-              # text wrapping
-              $sentenceObj->yaml_get_columns;
-              $sentenceObj->text_wrap;
-
-              # indentation of sentences
-              if(${$sentenceObj}{body} =~ m/
-                                  (.*?)      # content of first line
-                                  \R         # first line break
-                                  (.*$)      # rest of body
-                                  /sx){
-                  my $bodyFirstLine = $1;
-                  my $remainingBody = $2;
-                  my $indentation = ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent};
-                  $logger->trace("first line of sencent:  $bodyFirstLine") if $is_tt_switch_active;
-                  $logger->trace("remaining body (before indentation):\n'$remainingBody'") if($is_tt_switch_active);
-    
-                  # add the indentation to all the body except first line
-                  $remainingBody =~ s/^/$indentation/mg unless($remainingBody eq '');  # add indentation
-                  $logger->trace("remaining body (after indentation):\n$remainingBody'") if($is_tt_switch_active);
-    
-                  # put the body back together
-                  ${$sentenceObj}{body} = $bodyFirstLine."\n".$remainingBody; 
-              }
-              $sentenceStorageValue = ${$sentenceObj}{body};
-      };
-      # sentence at the very END
-      ${$self}{body} =~ s/\h*$sentenceStorageID\h*$/$sentenceStorageValue/s;
-      # sentence at the very BEGINNING
-      ${$self}{body} =~ s/^$sentenceStorageID\h*\R?/$sentenceStorageValue\n/s;
-      # all other sentences
-      ${$self}{body} =~ s/\R?\h*$sentenceStorageID\h*\R?/\n$sentenceStorageValue\n/s;
-    }
-
-}
-
 1;

Added: trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Sentence.pm
===================================================================
--- trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Sentence.pm	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Sentence.pm	2018-09-15 21:42:19 UTC (rev 48673)
@@ -0,0 +1,362 @@
+package LatexIndent::Sentence;
+#	This program is free software: you can redistribute it and/or modify
+#	it under the terms of the GNU General Public License as published by
+#	the Free Software Foundation, either version 3 of the License, or
+#	(at your option) any later version.
+#
+#	This program is distributed in the hope that it will be useful,
+#	but WITHOUT ANY WARRANTY; without even the implied warranty of
+#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#	GNU General Public License for more details.
+#
+#	See http://www.gnu.org/licenses/.
+#
+#	Chris Hughes, 2017
+#
+#	For all communication, please visit: https://github.com/cmhughes/latexindent.pl
+use strict;
+use warnings;
+use LatexIndent::Tokens qw/%tokens/;
+use LatexIndent::TrailingComments qw/$trailingCommentRegExp/;
+use LatexIndent::GetYamlSettings qw/%masterSettings/;
+use LatexIndent::Switches qw/$is_t_switch_active $is_tt_switch_active $is_m_switch_active/;
+use LatexIndent::LogFile qw/$logger/;
+use LatexIndent::Environment qw/$environmentBasicRegExp/;
+use LatexIndent::IfElseFi qw/$ifElseFiBasicRegExp/;
+use LatexIndent::Heading qw/$allHeadingsRegexp/;
+use LatexIndent::Special qw/$specialBeginAndBracesBracketsBasicRegExp/;
+use Data::Dumper;
+use Exporter qw/import/;
+our @ISA = "LatexIndent::Document"; # class inheritance, Programming Perl, pg 321
+our @EXPORT_OK = qw/one_sentence_per_line/;
+our $sentenceCounter;
+
+sub one_sentence_per_line{
+    my $self = shift;
+
+    $logger->trace("*One sentence per line regular expression construction: (see oneSentencePerLine: manipulateSentences)") if $is_t_switch_active;
+
+    # sentences FOLLOW
+    # sentences FOLLOW
+    # sentences FOLLOW
+    my $sentencesFollow = q();
+
+    while( my ($sentencesFollowEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}){
+        if($yesNo){
+            if($sentencesFollowEachPart eq "par"){
+                $sentencesFollowEachPart = qr/\R?\\par/s;
+            } elsif ($sentencesFollowEachPart eq "blankLine"){
+                $sentencesFollowEachPart = qr/
+                        (?:\A(?:$tokens{blanklines}\R)+)     # the order of each of these 
+                                |                            # is important, as (like always) the first
+                        (?:\G(?:$tokens{blanklines}\R)+)     # thing to be matched will 
+                                |                            # be accepted
+                        (?:(?:$tokens{blanklines}\h*\R)+)
+                                |
+                                \R{2,}
+                                |
+                                \G
+                        /sx;
+            } elsif ($sentencesFollowEachPart eq "fullStop"){
+                $sentencesFollowEachPart = qr/\./s;
+            } elsif ($sentencesFollowEachPart eq "exclamationMark"){
+                $sentencesFollowEachPart = qr/\!/s;
+            } elsif ($sentencesFollowEachPart eq "questionMark"){
+                $sentencesFollowEachPart = qr/\?/s;
+            } elsif ($sentencesFollowEachPart eq "rightBrace"){
+                $sentencesFollowEachPart = qr/\}/s;
+            } elsif ($sentencesFollowEachPart eq "commentOnPreviousLine"){
+                $sentencesFollowEachPart = qr/$trailingCommentRegExp\h*\R/s;
+            } elsif ($sentencesFollowEachPart eq "other"){
+                $sentencesFollowEachPart = qr/$yesNo/;
+            }
+            $sentencesFollow .= ($sentencesFollow eq '' ? q() : "|").qr/$sentencesFollowEachPart/sx;
+        }
+    }
+    # if blankLine is not active from sentencesFollow then we need to set up the 
+    # beginning of the string, but make sure that it is *not* followed by a 
+    # blank line token, or a blank line
+    if(!${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
+            $sentencesFollow .= ($sentencesFollow eq '' ? q() : "|").
+                                    qr/
+                                        \G
+                                        (?!$tokens{blanklines})
+                                    /sx;
+    }
+
+    if(${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
+        $sentencesFollow = ($sentencesFollow eq '' ? q() : qr/(?:$sentencesFollow)(?:\h|\R)*/sx );
+    } else {
+        $sentencesFollow = ($sentencesFollow eq '' ? q() : qr/(?:$sentencesFollow)(?:\h*\R?)/sx );
+    }
+
+
+    $logger->trace("Sentences follow regexp:") if $is_tt_switch_active;
+    $logger->trace($sentencesFollow) if $is_tt_switch_active;
+    
+    # sentences BEGIN with
+    # sentences BEGIN with
+    # sentences BEGIN with
+    my $sentencesBeginWith = q();
+
+    while( my ($sentencesBeginWithEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesBeginWith}}){
+        if($yesNo){
+            if($sentencesBeginWithEachPart eq "A-Z"){
+                $logger->trace("sentence BEGINS with capital letters (see oneSentencePerLine:sentencesBeginWith:A-Z)") if $is_t_switch_active;
+                $sentencesBeginWithEachPart = qr/(?!(?:$tokens{blanklines}|$tokens{verbatim}|$tokens{preamble}))[A-Z]/;
+            } elsif ($sentencesBeginWithEachPart eq "a-z"){
+                $logger->trace("sentence BEGINS with lower-case letters (see oneSentencePerLine:sentencesBeginWith:a-z)") if $is_t_switch_active;
+                $sentencesBeginWithEachPart = qr/[a-z]/;
+            } elsif ($sentencesBeginWithEachPart eq "other"){
+                $logger->trace("sentence BEGINS with other $yesNo (reg exp) (see oneSentencePerLine:sentencesBeginWith:other)") if $is_t_switch_active;
+                $sentencesBeginWithEachPart = qr/$yesNo/;
+            }
+            $sentencesBeginWith .= ($sentencesBeginWith eq "" ? q(): "|" ).$sentencesBeginWithEachPart;
+        }
+    }
+    $sentencesBeginWith = qr/$sentencesBeginWith/;
+
+    # sentences END with
+    # sentences END with
+    # sentences END with
+    ${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}{basicFullStop} = 0 if ${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}{betterFullStop};
+    my $sentencesEndWith = q();
+
+    while( my ($sentencesEndWithEachPart,$yesNo)= each %{${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesEndWith}}){
+        if($yesNo){
+            if($sentencesEndWithEachPart eq "basicFullStop"){
+                $logger->trace("sentence ENDS with full stop (see oneSentencePerLine:sentencesEndWith:basicFullStop") if $is_t_switch_active;
+                $sentencesEndWithEachPart = qr/\./;
+            } elsif($sentencesEndWithEachPart eq "betterFullStop"){
+                $logger->trace("sentence ENDS with *better* full stop (see oneSentencePerLine:sentencesEndWith:betterFullStop") if $is_t_switch_active;
+                $sentencesEndWithEachPart = qr/(?:\.\)(?!\h*[a-z]))|(?:(?<!(?:(?:e\.g)|(?:i\.e)|(?:etc))))\.(?!(?:[a-z]|[A-Z]|\-|\,|[0-9]))/;
+            } elsif ($sentencesEndWithEachPart eq "exclamationMark"){
+                $logger->trace("sentence ENDS with exclamation mark (see oneSentencePerLine:sentencesEndWith:exclamationMark)") if $is_t_switch_active;
+                $sentencesEndWithEachPart = qr/!/;
+            } elsif ($sentencesEndWithEachPart eq "questionMark"){
+                $logger->trace("sentence ENDS with question mark (see oneSentencePerLine:sentencesEndWith:questionMark)") if $is_t_switch_active;
+                $sentencesEndWithEachPart = qr/\?/;
+            } elsif ($sentencesEndWithEachPart eq "other"){
+                $logger->trace("sentence ENDS with other $yesNo (reg exp) (see oneSentencePerLine:sentencesEndWith:other)") if $is_t_switch_active;
+                $sentencesEndWithEachPart = qr/$yesNo/;
+            }
+            $sentencesEndWith .= ($sentencesEndWith eq "" ? q(): "|" ).$sentencesEndWithEachPart;
+        }
+    }
+    $sentencesEndWith = qr/$sentencesEndWith/;
+
+    # the OVERALL sentence regexp
+    # the OVERALL sentence regexp
+    # the OVERALL sentence regexp
+    $logger->trace("Overall sentences end with regexp:") if $is_tt_switch_active;
+    $logger->trace($sentencesEndWith) if $is_tt_switch_active;
+
+    $logger->trace("Finding sentences...") if $is_t_switch_active;
+
+    my $notWithinSentence = qr/$trailingCommentRegExp/s;
+
+    # if 
+    #
+    #   modifyLineBreaks
+    #       oneSentencePerLine
+    #           sentencesFollow
+    #               blankLine
+    #
+    # is set to 0 then we need to *exclude* the $tokens{blanklines} from the sentence routine,
+    # otherwise we could begin a sentence with $tokens{blanklines}.
+    if(!${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{blankLine}){
+        $notWithinSentence .= "|".qr/(?:\h*\R?$tokens{blanklines})/s;
+    }
+
+    # similarly for \par
+    if(${${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentencesFollow}}{par}){
+        $notWithinSentence .= "|".qr/(?:\R?\\par)/s;
+    }
+
+    # initiate the sentence counter
+    my @sentenceStorage;
+
+    # make the sentence manipulation
+    ${$self}{body} =~ s/((?:$sentencesFollow))
+                            (\h*)
+                            (?!$notWithinSentence) 
+                            ((?:$sentencesBeginWith).*?)
+                            ($sentencesEndWith)
+                            (\h*)?                        # possibly followed by horizontal space
+                            (\R)?                         # possibly followed by a line break 
+                            ($trailingCommentRegExp)?     # possibly followed by trailing comments
+                       /
+                            my $beginning = $1;
+                            my $h_space   = ($2?$2:q());
+                            my $middle    = $3;
+                            my $end       = $4;
+                            my $trailing  = ($5?$5:q()).($6?$6:q()).($7?$7:q());
+                            my $lineBreaksAtEnd = ($6? 1 : ($7?1:0) );
+                            my $trailingComments = q();
+                            # remove trailing comments from within the body of the sentence
+                            if (${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{removeSentenceLineBreaks}){
+                                while($middle =~ m|$trailingCommentRegExp|){
+                                    $middle =~ s|\h*($trailingCommentRegExp)||s;
+                                    $trailingComments .= $1;
+                                }
+                            }
+                            # remove line breaks from within a sentence
+                            $middle =~ s|
+                                            (?!\A)      # not at the *beginning* of a match
+                                            (\h*)\R     # possible horizontal space, then line break
+                                        |$1?$1:" ";|esgx if ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{removeSentenceLineBreaks};
+                            $middle =~ s|$tokens{blanklines}\h*\R?|$tokens{blanklines}\n|sg;
+                            $logger->trace("follows: $beginning") if $is_tt_switch_active;
+                            $logger->trace("sentence: $middle") if $is_tt_switch_active;
+                            $logger->trace("ends with: $end") if $is_tt_switch_active;
+                            # if indentation is specified for sentences, then we treat
+                            # them as objects; otherwise we don't
+                            my $replacementText = q();
+                            if(${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent} =~ m|\h+|){
+                                my $sentenceObj = LatexIndent::Sentence->new(
+                                                            name=>"sentence",
+                                                            begin=>q(),
+                                                            body=>$middle.$end,
+                                                            end=>q(),
+                                                            indentation=>${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent},
+                                                            modifyLineBreaksYamlName=>"sentence",
+                                                            BeginStartsOnOwnLine=>1,
+                                                          );
+                                # log file output
+                                $logger->trace("*sentence found: $middle.$end") if $is_t_switch_active;
+
+                                # the settings and storage of most objects has a lot in common
+                                $self->get_settings_and_store_new_object($sentenceObj);
+                                ${@{${$self}{children}}[-1]}{replacementText} = $beginning.$h_space.$tokens{sentence}.$sentenceCounter.$tokens{endOfToken}.$trailingComments.$trailing.($lineBreaksAtEnd ? q() : "\n");
+                                $replacementText = ${@{${$self}{children}}[-1]}{replacementText};
+                            } else {
+                                $sentenceCounter++;
+                                push(@sentenceStorage,{id=>$tokens{sentence}.$sentenceCounter.$tokens{endOfToken},value=>$middle.$end});
+                                $replacementText = $beginning.$h_space.$tokens{sentence}.$sentenceCounter.$tokens{endOfToken}.$trailingComments.$trailing.($lineBreaksAtEnd ? q() : "\n");
+                            };
+                            $replacementText;
+                            /xsge;
+
+       if(${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent} !~ m/\h+/){
+             # loop back through the sentenceStorage and replace with the sentence, adjusting line breaks
+             # before and after appropriately
+             while( my $sentence = pop @sentenceStorage){
+               my $sentenceStorageID = ${$sentence}{id};
+               my $sentenceStorageValue = ${$sentence}{value};
+
+               # option to text wrap (and option to indent) sentences
+               if(${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{textWrapSentences}){
+                       my $sentenceObj = LatexIndent::Document->new(body=>$sentenceStorageValue,
+                                                             name=>"sentence",
+                                                             modifyLineBreaksYamlName=>"sentence",
+                                                             );
+
+                       # text wrapping
+                       $sentenceObj->yaml_get_columns;
+                       $sentenceObj->text_wrap;
+
+                       # indentation of sentences
+                       if(${$sentenceObj}{body} =~ m/
+                                           (.*?)      # content of first line
+                                           \R         # first line break
+                                           (.*$)      # rest of body
+                                           /sx){
+                           my $bodyFirstLine = $1;
+                           my $remainingBody = $2;
+                           my $indentation = ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent};
+                           $logger->trace("first line of sencent:  $bodyFirstLine") if $is_tt_switch_active;
+                           $logger->trace("remaining body (before indentation):\n'$remainingBody'") if($is_tt_switch_active);
+             
+                           # add the indentation to all the body except first line
+                           $remainingBody =~ s/^/$indentation/mg unless($remainingBody eq '');  # add indentation
+                           $logger->trace("remaining body (after indentation):\n$remainingBody'") if($is_tt_switch_active);
+             
+                           # put the body back together
+                           ${$sentenceObj}{body} = $bodyFirstLine."\n".$remainingBody; 
+                       }
+                       $sentenceStorageValue = ${$sentenceObj}{body};
+               };
+               # sentence at the very END
+               ${$self}{body} =~ s/\h*$sentenceStorageID\h*$/$sentenceStorageValue/s;
+               # sentence at the very BEGINNING
+               ${$self}{body} =~ s/^$sentenceStorageID\h*\R?/$sentenceStorageValue\n/s;
+               # all other sentences
+               ${$self}{body} =~ s/\R?\h*$sentenceStorageID\h*\R?/\n$sentenceStorageValue\n/s;
+             }
+     }
+}
+
+sub create_unique_id{
+    my $self = shift;
+
+    $sentenceCounter++;
+    ${$self}{id} = "$tokens{sentence}$sentenceCounter";
+    return;
+}
+
+sub tasks_particular_to_each_object{
+      my $self = shift;
+
+      # option to text wrap (and option to indent) sentences
+      if(${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{textWrapSentences}){
+        $self->yaml_get_columns;
+        $self->text_wrap;
+      }
+      
+      # search for environments
+      $logger->trace('looking for ENVIRONMENTS') if $is_t_switch_active;
+      $self->find_environments if ${$self}{body} =~ m/$environmentBasicRegExp/s;
+
+      # search for ifElseFi blocks
+      $logger->trace('looking for IFELSEFI') if $is_t_switch_active;
+      $self->find_ifelsefi if ${$self}{body} =~ m/$ifElseFiBasicRegExp/s;
+
+      # search for headings (part, chapter, section, setc)
+      $logger->trace('looking for HEADINGS (chapter, section, part, etc)') if $is_t_switch_active;
+      $self->find_heading if ${$self}{body} =~ m/$allHeadingsRegexp/s;
+
+      # the ordering of finding commands and special code blocks can change
+      $self->find_commands_or_key_equals_values_braces_and_special if ${$self}{body} =~ m/$specialBeginAndBracesBracketsBasicRegExp/s;
+}
+
+sub indent_body{
+      return unless ${$masterSettings{modifyLineBreaks}{oneSentencePerLine}}{sentenceIndent} =~ m/\h+/;
+
+      my $self = shift;
+
+      # indentation of sentences
+      if(${$self}{body} =~ m/
+                          (.*?)      # content of first line
+                          \R         # first line break
+                          (.*$)      # rest of body
+                          /sx){
+          my $bodyFirstLine = $1;
+          my $remainingBody = $2;
+          my $indentation = ${$self}{indentation};
+          $logger->trace("first line of sentence  $bodyFirstLine") if $is_tt_switch_active;
+          $logger->trace("remaining body (before indentation):\n'$remainingBody'") if($is_tt_switch_active);
+    
+          # add the indentation to all the body except first line
+          $remainingBody =~ s/^/$indentation/mg unless($remainingBody eq '');  # add indentation
+          $logger->trace("remaining body (after indentation):\n$remainingBody'") if($is_tt_switch_active);
+    
+          # put the body back together
+          ${$self}{body} = $bodyFirstLine."\n".$remainingBody; 
+      }
+}
+
+sub yaml_get_indentation_settings_for_this_object{
+  return;
+}
+
+sub add_surrounding_indentation_to_begin_statement{
+    # specific method for sentences
+    my $self = shift;
+
+    my $surroundingIndentation = ${$self}{surroundingIndentation};
+    ${$self}{body} =~ s/^(\h*)?/$surroundingIndentation/s;  # add indentation
+
+}
+
+
+1;


Property changes on: trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Sentence.pm
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Version.pm
===================================================================
--- trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Version.pm	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/scripts/latexindent/LatexIndent/Version.pm	2018-09-15 21:42:19 UTC (rev 48673)
@@ -19,6 +19,6 @@
 use Exporter qw/import/;
 our @EXPORT_OK = qw/$versionNumber $versionDate/;
 
-our $versionNumber = '3.5';
-our $versionDate = '2018-08-13';
+our $versionNumber = '3.5.1';
+our $versionDate = '2018-09-15';
 1

Modified: trunk/Master/texmf-dist/scripts/latexindent/defaultSettings.yaml
===================================================================
--- trunk/Master/texmf-dist/scripts/latexindent/defaultSettings.yaml	2018-09-15 21:41:33 UTC (rev 48672)
+++ trunk/Master/texmf-dist/scripts/latexindent/defaultSettings.yaml	2018-09-15 21:42:19 UTC (rev 48673)
@@ -1,4 +1,4 @@
-# defaultSettings.yaml for latexindent.pl, version 3.5, 2018-08-13
+# defaultSettings.yaml for latexindent.pl, version 3.5.1, 2018-09-15
 #                      a script that aims to
 #                      beautify .tex, .sty, .cls files
 #

Modified: trunk/Master/texmf-dist/scripts/latexindent/latexindent.pl
===================================================================
(Binary files differ)



More information about the tex-live-commits mailing list