创建一个可以根据需要为其条形着色的分数的最简单方法是什么?我知道可以使用命令,\genfrac{left-delim}{right-delim}{thickness}{mathstyle}{numerator}{denominator}
但我似乎无法理解。以下是 MWE(如果您能看到的话,就不是那么多):
\documentclass[letterpaper]{article}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\begin{document}
$\genfrac{}{}{0.4pt}{}{a}{b}$
\end{document}
更新
应用下面的 Herbert 解决方案会产生一些奇怪的结果。如下所示:
\documentclass[letterpaper]{article}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\def\Frac#1#2{ #1 \color{red}\above 0.4pt \normalcolor #2}
\begin{document}
$ \Frac{n+1}{n-1} $$\displaystyle \Frac{n+1}{n-1} $
\end{document}
注意第二个分数的分母与第一个分数的大小相同。
答案1
感谢@Herbert,我能够利用amsmath
软件包文档并提出\frac
命令定义的修改版本。文档内容如下:
隐藏广义分数原语
\over
、\atop
等,因为它们的语法很奇怪,这在 LaTeX 文档中显然是不合适的。\@saveprimitive\over\@@over
如果有人坚持使用
\over
,请先发出警告,然后恢复旧定义。放任政策。\DeclareRobustCommand{\primfrac}[1]{% \PackageWarning{amsmath}{% Foreign command \@backslashchar#1;\MessageBreak \protect\frac\space or \protect\genfrac\space should be used instead% \MessageBreak } \global\@xp\let\csname#1\@xp\endcsname\csname @@#1\endcsname \csname#1\endcsname }
因此,LaTeX 在 @Herberts 的回答中发出了警告。文档继续说道
\frac
直接调用\@@over
,而不是通过\genfrac
并定义\frac
为
\DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}}
我对 的定义做了\frac
一些修改,得出 的命令\cbfrac
,仅供colored bar fraction
我自己参考。请参阅下面的定义:
\DeclareRobustCommand{\cbfrac}[3][OrangeRed]{{\begingroup#2\endgroup\color{#1}\@@over\normalcolor#3}}
以下 MWE 说明了它的工作原理:
\documentclass[dvipsnames,letterpaper]{article}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\def\Frac#1#2{ #1 \color{red}\above 0.4pt \normalcolor #2}
\makeatletter
\DeclareRobustCommand{\cbfrac}[3][OrangeRed]{{\begingroup#2\endgroup\color{#1}\@@over\normalcolor #3}}
\makeatother
\begin{document}
\noindent
$ \Frac{n+1}{n-1} $
$\displaystyle \Frac{n+1}{n-1} $\\[1ex]
$ \cbfrac{n+1}{n-1} $
$\displaystyle \cbfrac{n+1}{n-1} $
\end{document}
注释该命令\Frac
将删除警告。
答案2
\genfrac
指的是\over
或 ,\above
它们是原语。但你可以定义一个自己的,\frac
它使用\above
:
\documentclass[letterpaper]{article}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\newcommand\Frac[3][]{ #1 #2\color{red}\above 0.4pt \normalcolor #1#3}
\begin{document}
$ \Frac{n+1}{n-1} $$\Frac[\displaystyle]{n+1}{n-1} $
\end{document}