我如何构造三个垂直点,它们类似于\vdots
冒号,但跨度与冒号相同:
?\vdots
通常用于矩阵或一组方程式中,以表示有许多元素。我打算在内联方程式中使用它,以便进行运算符排序。
答案1
\vdots
如果你想要一个与冒号高度完全相同的版本,你可以尝试将 叠加\cdot
在 之上:
。下面的代码基于这非常好的答案,确实如此。
我实际上定义了几个\threedots
具有不同间距属性的不同版本:
\threedotsord
与普通字母的间距相同;\threedotsopen
和\threedotsclose
分别与开括号和闭括号有相同的间距;\threedotsbin
与二元运算符有相同的间距(如+
,-
,\times
,…);\threedotsrel
与关系符号具有相同的间距(如,,,,,=
... )。<
\sim
\rightorrow
您需要哪个版本取决于您打算如何使用该符号。由于您谈论的是操作顺序,您可能需要使用\threedotsopen
和\threedotsclose
。为方便起见,我定义了一个宏\oporder
,在其参数周围放置一对具有正确间距的三点。
\documentclass{article}
\makeatletter %% <- make @ usable in macro names
\newcommand*\superimpose[2]{%
\ooalign{$\m@th#1\@firstoftwo#2$\cr
\hidewidth$\m@th#1\@secondoftwo#2$\hidewidth}%
}
\makeatother %% <- revert @
%% You may want to rename these...
\newcommand*\threedotsord{\mathpalette\superimpose{{\mathop:}{\cdot}}} %% <- normal
\newcommand*\threedotsopen{\mathopen{\threedotsord}} %% <- spacing like (
\newcommand*\threedotsclose{\mathclose{\threedotsord}} %% <- spacing like )
\newcommand*\threedotsbin{\mathbin{\threedotsord}} %% <- spacing like +, -, ...
\newcommand*\threedotsrel{\mathrel{\threedotsord}} %% <- spacing like =, <, ...
\newcommand*\oporder[1]{\threedotsopen#1\threedotsclose} %% <- wraps argument in these
\begin{document}
Using the \verb|\mathopen| and \verb|\mathclose| versions is probably what you want:
\[
1 + \oporder{ x(t_1) x(t_2) x(t_3) } + \delta
\]
The spacing is nearly always the same as for ordinary atoms though:
\[
1 + \threedotsord x(t_1) x(t_2) x(t_3) \threedotsord + \delta
\]
Using \verb|\mathbin| or \verb|\mathrel| would be wrong in this context:
\[
1 + \threedotsbin x(t_1) x(t_2) x(t_3) \threedotsbin + \delta
\]
\[
1 + \threedotsrel x(t_1) x(t_2) x(t_3) \threedotsrel + \delta
\]
This also works in superscripts and subscripts
\[
X_{\oporder{xyz}^{\oporder{abc}}}
\]
\end{document}
请注意,\mathop
每当它应用于单个字符时,它的参数都会相对于数学轴垂直居中,如下所述这里。您还可以将 相\cdot
对于 居中:
,但这需要做更多工作(如果您想自动执行此操作,而不猜测要降低的量)。
答案2
这将排版三个点,其高度与冒号相同:
\documentclass{article}
\makeatletter
\newcommand{\fcolon}{%
\mathrel{\mathpalette\fcolon@\relax}%
}
\newcommand{\fcolon@}[2]{%
\sbox\z@{$\m@th#1:$}%
\vbox to\ht\z@{%
\hbox{$\m@th#1.$}%
\vss
\hbox{$\m@th#1.$}%
\vss
\hbox{$\m@th#1.$}%
}%
}
\makeatother
\begin{document}
$A:B\fcolon C_{:\fcolon_{:\fcolon}}$
\end{document}
答案3
答案4
您可以在字体高度粗细和位置使用三冒号或垂直省略号⋮来匹配冒号:类似于 a+⋮xyz⋮+b 示例(我知道它并不完美但给定时间......)
但按照另一个 Unicode 答案进行包装
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}
\makeatletter
\newcommand\UnicodeMathSymbol[4]{%
\ifnum#1>"FF
\expandafter\DeclareUnicodeCharacter\expandafter{\@gobble#1}{#2}%
\fi
}
\makeatother
\input{unicode-math-table}
\begin{document}
$a+{\lower.2em\hbox{$⋮$}} xyz{\lower.2em\hbox{$⋮$}}+b$
\end{document}