如何在不减小字体大小的情况下获取\nicefrac
或\xfrac
在 中工作?\displaystyle
答案1
作为替代方案(因为\nicefrac
和\sfrac
似乎无法调整以表示显示样式中的数字)......
调整我的答案修改内联文本和指数的分数宏,如果在文本模式下调用,这还会将分子和分母设置为文本,如果在数学模式下调用,则设置为数学。
\documentclass{article}
\usepackage{graphicx}
\newcommand{\altfrac}[2]{\ifmmode\def\tmp{$}\else\def\tmp{}\fi\mbox{%
{\raisebox{.24\ht\strutbox}{\tmp#1\tmp}}%
\kern-2.2pt\scalebox{1.6}[1.5]{/}\kern-1.8pt%
{\tmp#2\tmp}%
}}
\begin{document}
\parindent 0pt
This is \texttt{altfrac:}\qquad
\altfrac{12}{14} \altfrac{31415}{27182} \altfrac{abc}{def} \altfrac{Foo!}{Bar?}
\altfrac{\#\$\%+/<>=}{?\@[]\textbackslash\_|\{\}§†}
\[\left(\frac{3x}{2y}\right)^{\altfrac{3}{2}}=\altfrac{\lambda}{2x}\]
\qquad And here is \altfrac{x}{y} versus $\altfrac{x}{y}$\\
\end{document}
警告:如果在内联模式下使用, 的大小/
可能会导致行距暂时调整。虽然可以通过\smash
'ing 来消除这种情况\scalebox
,但这可能会导致字形重叠。
答案2
使用\Large
before 可以达到这样的效果:
\text{\Large$\sfrac{1}{10}$}
这不是一个合适的解决方案,而只是一种黑客手段,因为它会产生警告(字体:大小替换......)并且必须手动指定。
这是一个简单的例子:
\documentclass[varwidth,margin=0.5cm]{standalone}
\usepackage{xfrac}
\begin{document}
\begin{itemize}
\item $\frac{1}{10} =\sfrac{1}{10}$
\item $\displaystyle\frac{1}{10} = \text{\Large$\sfrac{1}{10}$}$
\end{itemize}
\end{document}
以及相应的输出: