该包减少了诸如和 之mathpazo
类的重音符号周围自动调整大小的括号的大小。但是,它不会对 执行此操作。\tilde
\hat
\vec
这个最小的例子很好地说明了这一点:
\documentclass{scrreprt}
\usepackage{mathpazo}
\begin{document}
$\left(X\right)$
$\left(\hat{X}\right)$
$\left(\tilde{X}\right)$
$\left(\vec{X}\right)$
\end{document}
有没有办法也可以减小括号的大小\vec
?
编辑:我正在编写一份约 200 页的文档,其中包含许多使用嵌套括号的复杂公式。此外,我使用命名变量而不是符号本身。这意味着变量的符号可以在之后更改。因此,我确实需要一个可以自动调整括号大小的解决方案,而不是我逐一检查每个公式并手动调整大小。我想调整命令,\vec
使其在高度方面表现得像\hat
和。\tilde
答案1
在这种情况下,您要寻找的括号的大小是\big
。但是正如Mico所问的那样,如果您想要一个特定的尺寸,您是否应该使用\left(...\right)
,因为它们会自动缩放(并且可能不是以所需的方式)。
正如其他地方指出的那样,使用\big
尺寸调整器系列比语法具有额外的优势\left(...\right)
,因为它可以在多行数学表达式中分解。
\documentclass{scrreprt}
\usepackage{mathpazo}
\begin{document}
$\left(X\right)$
$\left(\hat{X}\right)$
$\left(\tilde{X}\right)$
$\bigl(\vec{X}\bigr)$
\end{document}
如果你接受这种方法的智慧,那么实现结果的更好方法是
\documentclass{scrreprt}
\usepackage{mathpazo}
\begin{document}
$(X)$
$\bigl(\hat{X}\bigr)$
$\bigl(\tilde{X}\bigr)$
$\bigl(\vec{X}\bigr)$
\end{document}
Mico 在下面的评论中更进一步,建议没有必要仅为了变音符号而调整括号的大小。
跟进
OP 恳求采用自动调整括号高度的替代方法。我不建议将此作为一般修复方法,也不能保证它在所有情况下都有效(1.51 pt 是根据经验确定的;1.50 缩小了括号\vec X
,1.53 增加了括号\vec\beta
)。但这可能使 OP 摆脱当前的困境。
\documentclass{scrreprt}
\usepackage{mathpazo}
\usepackage{stackengine}
\let\svvec\vec
\def\vec#1{\ensurestackMath{\vphantom{\addstackgap[1.51pt]{#1}}}\smash{\svvec{#1}}}
\begin{document}
$\left(X\right)$
$\left(\hat{X}\right)$
$\left(\tilde{X}\right)$
$\left(\vec{X}\right)$
$\left(\alpha\right)$
$\left(\hat{\alpha}\right)$
$\left(\tilde{\alpha}\right)$
$\left(\vec{\alpha}\right)$
$\left(\beta\right)$
$\left(\hat{\beta}\right)$
$\left(\tilde{\beta}\right)$
$\left(\vec{\beta}\right)$
\end{document}
为了进行比较,这是的默认行为mathpazo
:
答案2
除了 Steven B. Segletes 的解决方案外,我还发现了另一个解决方案。为了完整起见,我将在这里发布它:
\documentclass{scrreprt}
\usepackage{mathpazo}
\let\oldvec\vec
\renewcommand{\vec}[1]{\smash{\oldvec{#1}}\protect\vphantom{\hat{#1}}}
\begin{document}
$\left(X\right)$
$\left(\hat{X}\right)$
$\left(\tilde{X}\right)$
$\left(\vec{X}\right)$
\end{document}
在我使用过的情况下\vec
,这个解决方案效果很好。但是,我不能保证它在所有情况下都有效,因为我不是 TeX 专家。