summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-13 22:26:56 +0000
committerKarl Berry <karl@freefriends.org>2018-01-13 22:26:56 +0000
commit8321808ed1278e2b4fc5e6d58fcb1acecc4155c0 (patch)
tree3a919f39d8a823b139635052cb15b83bdbdfc8ef /Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
parent4cc1370e31979d579fabb2561b6de643adde68d9 (diff)
latexindent (13jan18)
git-svn-id: svn://tug.org/texlive/trunk@46303 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex')
-rw-r--r--Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex18
1 files changed, 17 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex b/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
index 1b97f41128d..897e519eddf 100644
--- a/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
+++ b/Master/texmf-dist/doc/support/latexindent/sec-conclusions-know-limitations.tex
@@ -3,7 +3,23 @@
There are a number of known limitations of the script, and almost certainly quite a
few that are \emph{unknown}!
- The main limitation is to do with efficiency, particularly when the \texttt{-m}
+ The main limitation is to do with the alignment routine discussed on \cpageref{yaml:lookforaligndelims}; for example,
+ consider the file given in \cref{lst:matrix2}.
+
+ \cmhlistingsfromfile*{demonstrations/matrix2.tex}{\texttt{matrix2.tex}}{lst:matrix2}
+
+ The default output is given in \cref{lst:matrix2-default}, and it is clear that the alignment routine
+ has not worked as hoped, but it is \emph{expected}.
+ \cmhlistingsfromfile*{demonstrations/matrix2-default.tex}{\texttt{matrix2.tex} default output}{lst:matrix2-default}
+
+ The reason for the problem is that when \texttt{latexindent.pl} stores its code blocks (see \vref{tab:code-blocks})
+ it uses replacement tokens. The alignment routine is using the \emph{length of the replacement token} in its measuring -- I hope
+ to be able to address this in the future.
+
+ There are other limitations to do with the multicolumn alignment routine (see \vref{lst:tabular2-mod2}); in particular,
+ when working with codeblocks in which multicolumn commands overlap, the algorithm can fail.
+
+ Another limitation is to do with efficiency, particularly when the \texttt{-m}
switch is active, as this adds many checks and processes. The current implementation
relies upon finding and storing \emph{every} code block (see the discussion on \cpageref{page:phases});
it is hoped that, in a future version, only \emph{nested} code blocks will need