定义我自己的 xfrac 命令?

定义我自己的 xfrac 命令?

是否可以创建我自己的 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它使其在两个名称下都可用。

分数

相关内容