summaryrefslogtreecommitdiff
path: root/support/latexindent/documentation/subsubsec-environments-with-items.tex
blob: dab84cbdfdb169c523672ba4caadc26d044c1e1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
% arara: pdflatex: { files: [latexindent]}
\subsubsection{Environments with items}
 With reference to \vref{lst:indentafteritems,lst:itemNames}, some commands may contain
 \texttt{item} commands; for the purposes of this discussion, we will use the code from
 \vref{lst:itemsbefore}.

 Assuming that you've populated \texttt{itemNames} with the name of your \texttt{item},
 you can put the item name into \texttt{noAdditionalIndent} as in \cref{lst:item-noAdd1},
 although a more efficient approach may be to change the relevant field in
 \texttt{itemNames} to \texttt{0}. Similarly, you can customise the indentation that your
 \texttt{item} receives using \texttt{indentRules}, as in \cref{lst:item-rules1}

 \begin{cmhtcbraster}[raster column skip=.1\linewidth]
  \cmhlistingsfromfile[style=yaml-LST]{demonstrations/item-noAdd1.yaml}[yaml-TCB]{\texttt{item-noAdd1.yaml}}{lst:item-noAdd1}
  \cmhlistingsfromfile[style=yaml-LST]{demonstrations/item-rules1.yaml}[yaml-TCB]{\texttt{item-rules1.yaml}}{lst:item-rules1}
 \end{cmhtcbraster}

 Upon running the following commands \index{switches!-l demonstration}
 \begin{commandshell}
latexindent.pl items1.tex -local item-noAdd1.yaml  
latexindent.pl items1.tex -local item-rules1.yaml  
\end{commandshell}
 the respective outputs are given in \cref{lst:items1-noAdd1,lst:items1-rules1}; note that
 in \cref{lst:items1-noAdd1} that the text after each \texttt{item} has not received any
 additional indentation, and in \cref{lst:items1-rules1}, the text after each
 \texttt{item} has received a single space of indentation, specified by
 \cref{lst:item-rules1}.

 \begin{minipage}{.45\textwidth}
  \cmhlistingsfromfile{demonstrations/items1-noAdd1.tex}{\texttt{items1.tex} using \cref{lst:item-noAdd1}}{lst:items1-noAdd1}
 \end{minipage}
 \hfill
 \begin{minipage}{.45\textwidth}
  \cmhlistingsfromfile[showtabs=true,showspaces=true]{demonstrations/items1-rules1.tex}{\texttt{items1.tex} using \cref{lst:item-rules1}}{lst:items1-rules1}
 \end{minipage}

 Alternatively, you might like to populate \texttt{noAdditionalIndentGlobal} or
 \texttt{indentRulesGlobal} using the \texttt{items} key, as demonstrated in
 \cref{lst:items-noAdditionalGlobal,lst:items-indentRulesGlobal}. Note that there is a
 need to `reset/remove' the \texttt{item} field from \texttt{indentRules} in both cases
 (see the hierarchy description given on \cpageref{sec:noadd-indent-rules}) as the
 \texttt{item} command is a member of \texttt{indentRules} by default.

 \begin{minipage}{.45\textwidth}
  \cmhlistingsfromfile[style=yaml-LST]{demonstrations/items-noAdditionalGlobal.yaml}[yaml-TCB]{\texttt{items-noAdditionalGlobal.yaml}}{lst:items-noAdditionalGlobal}
 \end{minipage}%
 \hfill
 \begin{minipage}{.45\textwidth}
  \cmhlistingsfromfile[style=yaml-LST]{demonstrations/items-indentRulesGlobal.yaml}[yaml-TCB]{\texttt{items-indentRulesGlobal.yaml}}{lst:items-indentRulesGlobal}
 \end{minipage}

 Upon running the following commands, \index{switches!-l demonstration}
 \begin{commandshell}
latexindent.pl items1.tex -local items-noAdditionalGlobal.yaml
latexindent.pl items1.tex -local items-indentRulesGlobal.yaml
\end{commandshell}
 the respective outputs from \cref{lst:items1-noAdd1,lst:items1-rules1} are obtained;
 note, however, that \emph{all} such \texttt{item} commands without their own individual
 \texttt{noAdditionalIndent} or \texttt{indentRules} settings would behave as in these
 listings.