如何排版任意分数,例如 .5 = ½ 的标准符号?

如何排版任意分数,例如 .5 = ½ 的标准符号?

我知道我曾在某处看到过如何将 1/2 排版为 ½,但使用任意分数(即,一个采用两个参数并生成第一个分母和第二个分子的宏...)。现在我似乎找不到它了。

我如何以与 ½ 相同的方式排版任意分数?

答案1

你要xfrac

\documentclass{article}
\usepackage{xfrac}
\begin{document}
\sfrac{12}{3}
\end{document}

输出

xfrac和之间存在差异nicefrac(在 手册中详细说明xfrac),特别是当您使用 Computer Modern 以外的字体时。

答案2

如果你使用 XeTeX 或 LuaTeX fontspec,你可能使用具有 OpenType 特性的字体frac,该字体可能会被限制为一定数量的固定分数(例如Junicode),或者它可以与任何数字组合一起使用,例如在 Linux Libertine 中(libertineotf包)或EB 加拉蒙德

以下是使用 的 MWE libertineotf

\documentclass{article}
\usepackage{fontspec}
    \usepackage{libertineotf}
\begin{document}
\addfontfeatures{RawFeature=+frac}

1/2 3/4 5/6 7/8 9/10 11/12 31415/27182 1000/1000000

\end{document}

输出

如果字体包含 OpenType 特性numr(分子)和dnom(分母),我们可以做得更加漂亮,通常包含更多种类的字形:

\documentclass{article}
\usepackage{fontspec}
    \setmainfont{EB Garamond 12 Regular}

\newcommand{\unifrac}[2]{\mbox{% making sure we don't get a line break
    {\addfontfeatures{RawFeature=+numr}#1}%
    ⁄% That slash is U+2044 FRACTION SLASH, which has special spacing
    {\addfontfeatures{RawFeature=+dnom}#2}%
    }}

\begin{document}

\unifrac{12}{14} \unifrac{31415}{27182} \unifrac{abc}{def} \unifrac{Foo!}{Bar?}
\unifrac{\#\$\%+/<>=}{?\@[]\textbackslash\_|\{\}§†}

\end{document}

输出

要了解你的 OpenType 字体具有哪些功能,请参阅

要查找 Junicode 功能中包含哪些分数frac,请参阅

要开始使用 Xe(La)TeX 和/或 Lua(La)TeX,请参阅

答案3

也许nicefrac你想用什么?

\documentclass{article}
\usepackage{nicefrac}
\begin{document}
\nicefrac{12}{3}
\end{document}

输出

答案4

因为总有一个使用 TikZ 的解决方案,它就在这里!

该解决方案可自动使用\frac、的修改版本\slantfrac\sfrac

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fpu}
\usepackage{fp}
\usepackage{parskip}
\usepackage{xfrac}
\pagestyle{empty}
\begin{document}
\pgfkeys{/pgf/number format/frac}
\pgfmathprintnumber{0.333333333333333}\hspace{1em}
\pgfmathprintnumber{0.5}\hspace{1em}
\pgfmathprintnumber{2.133333333333325e-01}\hspace{1em}
\pgfmathprintnumber{0.12}\hspace{1em}
\pgfmathprintnumber{2.666666666666646e-02}\hspace{1em}
\pgfmathprintnumber{-1.333333333333334e-02}\hspace{1em}
\pgfmathprintnumber{7.200000000000000e-01}\hspace{1em}
\pgfmathprintnumber{6.666666666666667e-02}\hspace{1em}
\pgfmathprintnumber{1.333333333333333e-01}\hspace{1em}
\pgfmathprintnumber{-1.333333333333333e-02}\hspace{1em}

\newcommand{\slantfrac}[2]{\,^{#1}\!/_{#2}}
\pgfkeys{/pgf/number format/frac TeX={\slantfrac}}
\pgfmathprintnumber{0.333333333333333}\hspace{1em}
\pgfmathprintnumber{0.5}\hspace{1em}
\pgfmathprintnumber{2.133333333333325e-01}\hspace{1em}
\pgfmathprintnumber{0.12}\hspace{1em}
\pgfmathprintnumber{2.666666666666646e-02}\hspace{1em}
\pgfmathprintnumber{-1.333333333333334e-02}\hspace{1em}
\pgfmathprintnumber{7.200000000000000e-01}\hspace{1em}
\pgfmathprintnumber{6.666666666666667e-02}\hspace{1em}
\pgfmathprintnumber{1.333333333333333e-01}\hspace{1em}
\pgfmathprintnumber{-1.333333333333333e-02}\hspace{1em}

\pgfkeys{/pgf/number format/frac TeX={\sfrac}}
\pgfmathprintnumber{0.333333333333333}\hspace{1em}
\pgfmathprintnumber{0.5}\hspace{1em}
\pgfmathprintnumber{2.133333333333325e-01}\hspace{1em}
\pgfmathprintnumber{0.12}\hspace{1em}
\pgfmathprintnumber{2.666666666666646e-02}\hspace{1em}
\pgfmathprintnumber{-1.333333333333334e-02}\hspace{1em}
\pgfmathprintnumber{7.200000000000000e-01}\hspace{1em}
\pgfmathprintnumber{6.666666666666667e-02}\hspace{1em}
\pgfmathprintnumber{1.333333333333333e-01}\hspace{1em}
\pgfmathprintnumber{-1.333333333333333e-02}\hspace{1em}
\end{document}

相关内容