我的文档中有以下代码:
$$ \frac{\displaystyle \sum_i \min(A_i,B_i)}
{\displaystyle \sum_i \max(A_i,B_i)} $$
导致:
我更喜欢这里的“显示样式”,但分子和分母中的内容在它们出现的上下文中对我来说有点太大了,所以我决定缩小它。
$$ \frac{\scalebox{0.75}{\text{$\displaystyle \sum_i \min(A_i,B_i)$}}}
{\scalebox{0.75}{\text{$\displaystyle \sum_i \max(A_i,B_i)$}}} $$
但由于某种原因,这会导致不必要的转变:
所以我不得不暂时回到标准的“文本样式”模式……
根据上面的代码,我无法找出为什么会发生这种情况;我也尝试过,resizebox
但遇到了同样的问题...有谁知道为什么会发生这种情况或者我该如何解决它?
(编辑:我通过缩小整个分数而不是其组成部分来解决了我的特定问题;但问题仍然存在。这是乳胶错误吗?谢谢。)
答案1
依我看,你并不是真的想要\displaystyle
,但你也不想要\scalebox
。
和其他字母的大小\min
是正确的,只是求和符号变得太大:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\frac{\sum\limits_i \min(A_i,B_i)}
{\sum\limits_i \max(A_i,B_i)}
\qquad
\frac{\displaystyle\sum_i \min(A_i,B_i)}
{\displaystyle\sum_i \max(A_i,B_i)}
\]
\end{document}
如果您确实想这样做\scalebox
,请将它们括在\mbox
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\begin{document}
\[
\frac{\mbox{\scalebox{0.75}{$\displaystyle \sum_i \min(A_i,B_i)$}}}
{\mbox{\scalebox{0.75}{$\displaystyle \sum_i \max(A_i,B_i)$}}}
\]
\end{document}
该问题显然是由于 TeX 排版分数的方式造成的,它将分子放在一边直到它决定大小;\scalebox
如果没有这一层进一步的装箱,所执行的分配就会出错。
或者,也许更好,\mfrac
从nccmath
包中使用:
\documentclass{article}
\usepackage{amsmath}
\usepackage{nccmath}
\begin{document}
\[
\mfrac{\displaystyle \sum_i \min(A_i,B_i)}
{\displaystyle \sum_i \max(A_i,B_i)}
\qquad
\frac{\displaystyle \sum_i \min(A_i,B_i)}
{\displaystyle \sum_i \max(A_i,B_i)}
\]
\end{document}
答案2
你可以试试这个吗:
\documentclass{article}
\usepackage{graphicx}
\makeatletter
\long\def\Gscale@box#1[#2]#3{%
\leavevmode
\hbox\bgroup%<<<<<<<<
\def\Gscale@x{#1}\def\Gscale@y{#2}%
\setbox\z@\hbox{{#3}}%
\setbox\tw@\hbox{\Gscale@start\rlap{\copy\z@}\Gscale@end}%
\ifdim#2\p@<\z@
\ht\tw@-#2\dp\z@
\dp\tw@-#2\ht\z@
\else
\ht\tw@#2\ht\z@
\dp\tw@#2\dp\z@
\fi
\ifdim#1\p@<\z@
\hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}%
\else
\wd\tw@#1\wd\z@
\box\tw@
\fi
\egroup%<<<<<<<<
}
\begin{document}
\[
\frac{\scalebox{0.75}{$\displaystyle \sum_i \min(A_i,B_i)$}}
{\scalebox{0.75}{$\displaystyle \sum_i \max(A_i,B_i)$}}
\]
\end{document}