我最终的目标是使用latexindent
来对齐段落文本,但不触及以 开头\begin{align}
和以 结尾的任何材料\end{align}
。我无法弄清楚如何同时完成这两项工作。
例如文本使用
Occaecat magna summis
mandaremus illum id quis
te proident a veniam.
Commodo a enim in ita
possumus in cupidatat,
excepteur quorum et quibusdam
adipisicing, ex nisi ubi
irure, de sint ne quae
ab officia iis malis hic
arbitror non sunt
pariatur, quorum mentitum ullamco.
Malis sed senserit est cillum aut et malis iudicem, et e legam dolor
dolore,
irure proident qui cupidatat ubi
\begin{align}
quamquam sempiternum & et laborum, qui cupidatat \\
o quamquam, velit & nam o dolore ingeniis, nisi
deserunt voluptatibus. \\
Senserit do & voluptate a possumus noster
\end{align}
multos vidisse noster. Fore commodo ne ipsum culpa.
通过手册和实验,我发现我可以使单个句子对齐,每个句子都以相同的行开头
modifyLineBreaks
oneSentencePerLine
manipulateSentences: 1
textWrapSentences: 1
textWrapOptions
columns: 75
这对于我的目的来说已经足够接近了。但它有一个副作用,那就是我的所有align
环境文本都被视为句子的一部分,并与句子一起包装。我可以通过添加选项来阻止我的\begin{align}
和\end{align}
与句子一起流动
modifyLineBreaks
environments:
BeginStartsOnOwnLine: 1
BodyStartsOnOwnLine: 1
EndStartsOnOwnLine: 1
EndFinishesWithLineBreak: 1
但这并未解决继续被包装的环境内容问题。
这就是我被困住的地方。我尝试添加选项
modifyLineBreaks
textWrapOptions:
environments:
align: 0
这没有明显的效果:align
环境的主体继续被包裹。
添加选项
verbatimEnvironments:
align: 1
保持环境主体不被包装但否定了等选项align
的效果。BeginStartsOwnLine
最后几个选项还会导致 : 后面的文本出现奇怪的行为\end{align}
,即文本没有换行,或者只是部分换行。
我现在陷入困境。重申一下:我的目标是
- 使段落文本对齐
\begin{align}
将环境分隔符保留\end{align}
在各自的行上- 不去管
align
环境本身
align
如果我能让环境正常工作,我会对合理的单个句子感到满意;然而,我对此束手无策。