有没有办法在需要紧急拉伸时自动设置参数?
以下是我的情况。在我实施了所选的解决方案后圣经经文参考中的不可分割空格,由于行末引用了诗句,我得到了一些溢出的框。为了解决这些溢出的行,我可以允许书名和章节之间使用连字符,作为例外(除非真的有必要,否则我不想允许它)。
为了简化操作,我创建了两个宏。例如,我将使用:
(\BRallowhypbch\ibibleverse{Ac}(4:13)\BRforbidhypbch).
允许在Actes
和4.13
之间使用连字符Actes 4.13
作为例外。
我想知道,当 LaTeX 开始使用时\emergencystretch
(因为其他调整方法都失败了),是否有办法触发一个钩子,该钩子会在有问题的段落(或可能的话是行)之前和之后调用我的两个宏来修复它。
答案1
我会定义一个特定的环境:
\newenvironment{specialpar}[1]{\par#1}{\par}
这样就可以把有问题的段落括起来,用各种方法做实验,例如
\begin{specialpar}{\emergencystretch=3em \BRallowhypbch}
Problematic paragraph ...
\end{specialpar}
参数中的设置只对该段落有效;如果参数留空,则没有特殊设置,段落将使用默认值排版。