我刚刚看到视频关于一种称为“幂三角”的符号表示法,它可以简化指数、对数等问题。它最初是在 Math.Stackexchange 上的这篇文章中介绍的:https://math.stackexchange.com/questions/30046/alternative-notation-for-exponents-logs-and-roots/165225#165225
我想在我的 LaTeX 文档中使用它,但无法找到一种实际轻松编写它的方法;我对自定义命令和符号定位的了解还不够。
所以,我想做的是这样的:
而且它需要有一些很好的方法来不提供其中一个值(真的,如果你感兴趣的话,可以看看视频)。此外,它应该或多或少地与其他符号相符,所以它不应该太大或太突出,尽管如果值本身突出一点,它可能看起来还不错。
我该如何实现这个?
答案1
根据 Akiino 的回答,我想出了这个,它也适用于显示模式
\documentclass[a4paper]{article}
\usepackage{amsmath}
\newcommand{\dotriangle}[1]{%
\raisebox{-.7ex}{$\vcenter{#1\kern.2ex\hbox{$\triangle$}\kern.2ex}$}%
}
\newcommand{\tripow}[3]{% Syntax: \tripow{#1}{#2}{#3} gives you #1 ^ {#2} = #3
\mathop{% We want it to an operator
\mathchoice% We want different functionality in text and display mode
{% DISPLAY MODE
\vphantom{\dotriangle\LARGE}% \vphantom off-set: places the bottom entries.
\rule[-1.4ex]{0.1em}{0pt}% Syntax: [<vetical drop #1>]{<left margin>}{<Should be 0>}
_{\scriptstyle #1}% style of #1 entry
{\overset{\scriptstyle #2}% style of #2 entry
{\dotriangle\LARGE}}% Size of the displayed operator - should match the \vphantom off-set.
\rule[-1.4ex]{0em}{0pt}% Syntax: [<vetical drop #3>]{<Should be 0>}{<Should be 0>}
_{\scriptstyle #3}% style of #3 entry
\rule[0ex]{0.1em}{0pt}% Syntax: [<Should be 0>]{<right margin>}{<Should be 0>}
}%
{% TEXT MODE
\vphantom{\dotriangle\normalsize}%
\rule[-1.05ex]{-0.7ex}{0pt}%
_{#1}%
\overset{#2}%
{\dotriangle\normalsize}% size in text mode
\rule[-1.05ex]{0pt}{0pt}%
_{#3}%
\rule[0ex]{-0.2em}{0pt}%
}%
{% SCRIPT MODE
\vphantom{\dotriangle\normalsize}%
\rule[-1.05ex]{-0.8ex}{0pt}%
_{\scriptstyle #1}%
{\overset{\scriptstyle #2}%
{\dotriangle\normalsize}}% size in script mode
\rule[-1.05ex]{0pt}{0pt}%
_{\scriptstyle #3}%
\rule[0ex]{-0.3em}{0pt}%
}%
{}% SCRIPTSCRIPT MODE
}%
}
编译此代码
\begin{document}
Here we see some fundamental relations:
\begin{align}
\tripow{x}{a+b}{}&=\tripow{x}{a}{}\cdot\tripow{x}{b}{}
\\
\tripow{x}{}{ab}&=\tripow{x}{}{a}+\tripow{x}{}{b}
\\
\tripow{x}{1/y}{}&=\tripow{}{y}{x}
\\
\tripow{x}{\tripow{x}{}{z}}{}&=z
\qquad\qquad\qquad\qquad
\text{or}& \tripow{x}{\tripow{x}{}{z}}{z}
\\
\tripow{x}{}{\tripow{x}{y}{}}&=y
\qquad\qquad\qquad\qquad
\text{or}& \tripow{x}{y}{\tripow{x}{y}{}}
\\
\tripow{}{y}{\tripow{x}{y}{}}&=x
\qquad\qquad\qquad\qquad
\text{or}& \tripow{x}{y}{\tripow{x}{y}{}}
\\
\tripow{\tripow{}{y}{z}}{y}{}&=z
\qquad\qquad\qquad\qquad
\text{or}& \tripow{\tripow{}{y}{z}}{y}{z}
\end{align}
This is a line of text. This text says alot of interesting stuff and
does not intersect.
Here is some more in-line text followed by $\tripow{x}{y}{z}$ which is
the same as saying $x^y=z$. The text on the this line does not
intersect either.
\end{document}
答案2
答案3
我尝试创建一个命令,以良好的方式排版“权力三角”。到目前为止,我最好的努力如下:
\newcommand{\tripow}[3]{ _{#1}{\stackrel{#2}{\triangle}}_{#3}}
$\tripow{x}{y}{z}$
唯一的问题是右下标看起来有点低。但它确实可以很好地嵌套。