以下是我使用的脚本。
\begin{align*}
(a,b):=\{x:a\prec x\prec b\}\\
(a,b]:=\{x:a\prec x\preceq b\}\cdots\text{if $b$ is the largest element of $X$}
\end{align*}
但是,我想要 $(a,b):={x:a\prec x\prec b}$
使其与底部对齐。我该怎么做?
答案1
如果我正确理解了这个问题,那么解决方案就是使用环境对齐align*
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{colonequals}
\begin{document}
\begin{align*}
(a,b) & \colonequals \{x:a\prec b\} \\
(a,b] & \colonequals \{x:a\preceq b\}\ \cdots\
\text{if $b$ is the largest element of $X$}
\end{align*}
\end{document}
答案2
符号在mathtools
包中定义为\coloneqq
。它也可以mathb
从mathabx
包中作为符号访问。在下面的代码中,我展示了两种可能性,而无需加载mathabx
包,该包重新定义了几乎所有的数学符号。
我借此机会定义了一个\set
带括号的命令,该命令可以随内容和适当间距而增长。它需要mathtools
(加载amsmath
)和xparse
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools, amssymb}
\usepackage{colonequals}
\usepackage{xparse}
%
\DeclarePairedDelimiterX{\set}[1]\{\}{\setargs{#1}}
\NewDocumentCommand{\setargs}{>{\SplitArgument{1}{:}}m}
{\setargsaux#1}
\NewDocumentCommand{\setargsaux}{mm}
{\IfNoValueTF{#2}{#1}{\nonscript\,#1:\allowbreak #2\nonscript\,}}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{
<-6> mathb5 <6-7> mathb6 <7-8> mathb7
<8-9> mathb8 <9-10> mathb9
<10-12> mathb10 <12-> mathb12
}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\bcoloneq}{\mathrel}{mathb}{"15}
\begin{document}
\begin{flalign*}
& \texttt{\textbackslash colonequals}: & (a,b) & \colonequals \set{x:a\prec b} & & \\
& & (a,b] & \colonequals \set{x:a\preceq b}\ \cdots
& & \text{if $b$ is the largest element of $X$}\\[8pt]
& \texttt{\textbackslash coloneqq}: & (a,b) & \coloneqq \set{x:a\prec b} \\
& & (a,b] & \coloneqq \set*{x:a\preceq b}\ \cdots & & \text{if $b$ is the largest element of $X$}\\[8pt]
& \texttt{mathabx}: & (a,b) & \bcoloneq \set{x:a\prec b} \\
& & (a,b] & \bcoloneq \set{x:a\preceq b}\ \cdots & & \text{if $b$ is the largest element of $X$}
\end{flalign*}
\end{document}