我尝试过配置latexindent
我的字幕格式,使其不超过 80 个字符,并在双反斜杠后换行。我的探索没有成果。这是我的config.yaml
for latexindent
:
lookForAlignDelims:
caption: 1
modifyLineBreaks:
mandatoryArguments:
caption:
DBSFinishesWithLineBreak: 1
MandArgBodyStartsOnOwnLine: 1
RCuBStartsOnOwnLine: 1
textWrapOptions:
columns: 80
multipleSpacesToSingle: 1
blocksFollow:
other: '\\\]|\\item(?:\h|\[)|\\caption(?:\h|\[)' # regex
# blocksBeginWith:
# other: '\\begin(.*)\\caption|\\caption'
我可以将它设置为分行,\\
并且它们永远不会超过 80 列,这是输出:
\begin{figure}[H]
\begin{center}
\includegraphics[width = 0.8\textwidth]{./figures/digz.png}
\end{center}
\caption[Aufbau des Digitalzähler]{
Aufbau des Digitalzähler \\
1 \(\dots\) Halterung
für radioaktive Quelle \\
2 \(\dots\) Zählrohr \\
3 \(\dots\) Halterung um
später das Aluminium zu Befestigen \\
4 \(\dots\) Digitalzähler \\
5 \(\dots\)
Optische Bank um den Abstand zu variieren
}\label{fig:digz}
\end{figure}
期望的输出是:
\begin{figure}[H]
\begin{center}
\includegraphics[width = 0.8\textwidth]{./figures/digz.png}
\end{center}
\caption[Aufbau des Digitalzähler]{
Aufbau des Digitalzähler \\
1 \(\dots\) Halterung für radioaktive Quelle \\
2 \(\dots\) Zählrohr \\
3 \(\dots\) Halterung um später das Aluminium zu Befestigen \\
4 \(\dots\) Digitalzähler \\
5 \(\dots\) Optische Bank um den Abstand zu variieren
}\label{fig:digz}
\end{figure}
有什么建议可以解决这个问题,似乎这两个选项不能很好地协同工作。
编辑:另一个例子是:
\caption[Erhaltene Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken] {
Erhaltene
Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken einer Aluminiumplatte
bei einer Torzeit von \SI{10}{\second}. Dabei sind die Zählraten exakte Werte. \\
\(D \dots\) Dicke der Aluminiumabschirmung in $\mu$m mit einer Unsicherheit von
\SI{1}{\percent} \\
\(z_{i} \dots\) erhaltene Zählrate bei entsprechendem
Abstand
} \label{tab:alu}
预期的:
\caption[Erhaltene Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken] {
Erhaltene Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken einer
Aluminiumplatte bei einer Torzeit von \SI{10}{\second}. Dabei sind die
Zählraten exakte Werte. \\
\(D \dots\) Dicke der Aluminiumabschirmung in $\mu$m mit einer Unsicherheit
von \SI{1}{\percent} \\
\(z_{i} \dots\) erhaltene Zählrate bei entsprechendem Abstand
} \label{tab:alu}
答案1
解决方案
lookForAlignDelims:
caption: 1
modifyLineBreaks:
mandatoryArguments:
caption:
DBSFinishesWithLineBreak: 1
MandArgBodyStartsOnOwnLine: 1
RCuBStartsOnOwnLine: 1
textWrapOptions:
columns: 80
multipleSpacesToSingle: 1
blocksFollow:
other: \\\\|\\\]|\\item(?:\h|\[)|\\caption(?:\h|\[)# <!-- new bit
# ^^^^ <---- new bit
blocksBeginWith:
0-9: 1
other: \\\(
# ^^^^ <---- new bit
给出
\begin{figure}[H]
\begin{center}
\includegraphics[width = 0.8\textwidth]{./figures/digz.png}
\end{center}
\caption[Aufbau des Digitalzähler]{
Aufbau des Digitalzähler \\
1 \(\dots\) Halterung für radioaktive Quelle \\
2 \(\dots\) Zählrohr \\
3 \(\dots\) Halterung um später das Aluminium zu Befestigen \\
4 \(\dots\) Digitalzähler \\
5 \(\dots\) Optische Bank um den Abstand zu variieren
}\label{fig:digz}
\end{figure}
\caption[Erhaltene Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken] {
Erhaltene
Zählraten bei $\beta$-Strahlung bei verschiedenen Dicken einer Aluminiumplatte
bei einer Torzeit von \SI{10}{\second}. Dabei sind die Zählraten exakte Werte. \\
\(D \dots\) Dicke der Aluminiumabschirmung in $\mu$m mit einer Unsicherheit von
\SI{1}{\percent} \\
\(z_{i} \dots\) erhaltene Zählrate bei entsprechendem Abstand
} \label{tab:alu}
解释
- 我们需要告诉
latexindent.pl
允许文本换行块开始[0-9]
详情如下https://latexindentpl.readthedocs.io/en/latest/sec-the-m-switch.html#lst-tw-0-9 - 我们需要告诉
latexindent.pl
允许文本换行块开始与\(
示例类似https://latexindentpl.readthedocs.io/en/latest/sec-the-m-switch.html#lst-tw-bb-announce-yaml - 我们还需要告诉
latexindent.pl
允许文本换行块跟随\\
详见https://latexindentpl.readthedocs.io/en/latest/sec-the-m-switch.html#text-wrap-blocksfollow-examples