是否可以创建我自己的 xfrac 命令 - 而不使用该包(它给了我太多麻烦了)?我知道你可以用上标、下标来制作分数的样子。
我可以做类似的事情吗:
\newcommand xfrac{a}{b} = ^a/_b
谢谢!
答案1
考虑使用nicefrac
软件包。它最后一次更新是在 1998 年,因此不应该导致“太多麻烦了”。有关其缺点,请参阅xfrac
(sic!) 文档的第 1.2 节。
\documentclass{article}
\usepackage{nicefrac}
\begin{document}
\nicefrac{1}{2}
\end{document}
答案2
这是我能想到的最好的办法。你可能需要调整下面的参数,因为我只针对这种情况进行了测试。左侧的输出是下面宏的输出,\sfrac
而包裹xfrac
在右边。在我看来,这两个看起来几乎一模一样:
这是根据您发布的内容改编的,\kern
用于将数字移近斜线,\raisebox
以及包裹\graphicx
用于将更多的数字放到与 产生的相同的垂直位置\sfrac
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{xfrac}
\newcommand*{\myxfrac}[2]{\raisebox{-0.33ex}{${}^{#1}$\kern-0.1em}/\kern-0.1em{{\raisebox{0.34ex}{$_{#2}$}}}}%
\begin{document}
\[
\myxfrac{1}{2} \quad \sfrac{1}{2}
\]
\end{document}
答案3
如果你想避免额外的包,你也可以使用下面的定义。它现在已经采取了埃格尔考虑到下面的评论。
\documentclass{minimal}
\makeatletter
\def\nicefrac#1#2{\check@mathfonts%
\raise.5ex\hbox{\the\scriptfont0 #1}%
\kern-.1em/\kern-.15em%
\lower.25ex\hbox{\the\scriptfont0 #2}}
\makeatother
\begin{document}
Here is a nice in-line fraction: $\nicefrac{21}{234}$.
\end{document}
为了表示适当的敬意:我相信我曾经在 Knuth 的一本书中找到过这个定义。它存在于我的一堆 TeX 代码片段中,我会在类似的情况下搜索它。您可以\xfrac
在定义中将其重命名为,也可以使用\let\xfrac\nicefrac
它使其在两个名称下都可用。