我希望能够写出类似这样的数学公式:
因此它有点像分数,但也有顶线,顶线开始处的左侧有一个任意符号或公式。这种东西可以在 latex 中创建吗?我想要一个命令,\varfrac{}{}{}
以便可以将上述公式写成\varfrac{\forall}{x:X}{P(x) \& Q(x)}
。
(我想不出任何适合该问题的标签。)
答案1
非常基础的。
\documentclass{scrartcl}
\usepackage{mathtools,graphicx}
\newcommand*\varfrac[3]
{\frac{\hphantom{#1}\overset{\mathllap{\raisebox{-.5ex}{$#1$}}\hrulefill}{#2}\hphantom{#1}}{#3}}
\begin{document}
\[
\varfrac{\forall}{x : X}{P(x) \mathbin{\&} Q(x)}
\]
\end{document}
答案2
使用嵌套的\dfrac
:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\deduction}[4][]{%
\dfrac{#1\dfrac{#2}{\mathstrut #3}\hphantom{#1}}{\mathstrut #4}%
}
\renewcommand{\land}{\mathbin\&}
\begin{document}
\[
x\quad\deduction[\forall]{}{x:X}{P(x)\land Q(x)}\quad x
\]
\end{document}
我宁愿重新定义(通常给出楔形符号),而不是\&
在公式中使用\land
。实际上,我会避免使用 & 符号来表示“and”连接词,但文档是您的。
为了生成图片,我使用了\boxed
来显示边界框是正确的。这两个X两侧的只是为了显示主分数线。
答案3
您只需进行多次\frac
调整,即可获得正确的字体大小。请注意,这样,符号\forall
将始终正确垂直居中。
同样,\mathbin{\&}
由于它在您的上下文中是一个二元运算符,因此您可能希望x:X
像我一样在周围添加一些水平间距,以将其与 稍微分开\forall
。
\documentclass{article}
\usepackage{mathtools}
\makeatletter
% \samefrac: typeset the inside without style change
\newcommand*\@samefrac[3]{\frac{#2\,#1\,}{#2\,#3\,}}
\newcommand*\samefrac[2]{\mathpalette{\@samefrac{#1}}{#2}}
% \varfrac: the requested command
\newcommand*\varfrac[3]{\frac{#1\samefrac{}{#2}}{#3}}
% \band: binary operator `&`
\newcommand*\band{\mathbin{\&}}
\makeatother
\pagestyle{empty}
\usepackage{lipsum}
\begin{document}
\lipsum*[4]
\(
X = \varfrac{\forall}{x : X}{P(x) \mathbin{\&} Q(x)}
\)
\lipsum[4]
\[
X = \varfrac{\forall}{x : X}{P(x) \mathbin{\&} Q(x)}
\]
\lipsum[4]
\end{document}