在数学显示中表示通用限定语句的一种非常常见的方法是显示
X2 ≥ 0 (X∈R)
其中“(X∈R)”括号内的表达式被推向右边。
在 LaTeX 中,当然可以用类似下面的方法模仿这种格式:
x^2 \geq 0 \qquad\qquad\qquad (x \in \mathbb{R})
使用默认设置居中 (非-flushleft)公式,有没有什么好的方法可以让这些数学公式在整个文档中以一致的方式水平间距显示?
我会不是希望将括号内的表达式一直推到右边距,因为这会干扰正常的方程编号或标记。
答案1
两者之一\quad
就\qquad
足够了。使用两个或三个连续的\qquad
指令似乎太多了。
\documentclass{article}
\usepackage{amsfonts} % for "\mathbb" macro
\usepackage{amsmath} % for "gather*" environment
\begin{document}
\begin{gather*}
x^2 \geq 0 \quad (x\in\mathbb{R})\\[3ex]
x^2 \geq 0 \qquad (x\in\mathbb{R})\\[3ex]
x^2 \geq 0 \qquad\qquad (x\in\mathbb{R})\\[3ex]
x^2 \geq 0 \qquad\qquad\qquad (x\in\mathbb{R})
\end{gather*}
\end{document}
答案2
一种方法是使用\mathrlap
from mathtools
,如下所示。(额外的代码只是框住文本主体区域,如下所示https://ipfs-sec.stackexchange.cloudflare-ipfs.com/tex/A/question/122683.html。
\documentclass{article}
\usepackage{amsfonts} % for "\mathbb" macro
\usepackage{mathtools}
\newcommand{\qual}[1]{\mathrlap{\qquad#1}}
\newcommand{\qqual}[1]{\mathrlap{\qquad\qquad#1}}
\newcommand{\qqqual}[1]{\mathrlap{\qquad\qquad\qquad#1}}
% Just to frame text body...
\usepackage{background}% to show text body area
\usepackage{tikzpagenodes}
\usepackage{background}
\newlength{\xinnersep}
\setlength{\xinnersep}{0.05cm}
\newlength{\yinnersep}
\setlength{\yinnersep}{0.05cm}
\backgroundsetup{
scale=1,
angle=0,
contents={%
\begin{tikzpicture}[remember picture,overlay]
\draw[gray,line width=1.5pt,] ([xshift=-\xinnersep,yshift=\yinnersep]current page text area.north west) --
([xshift=\xinnersep,yshift=\yinnersep]current page text area.north east) --
([xshift=\xinnersep,yshift=-\yinnersep]current page text area.south east) --
([xshift=-\xinnersep,yshift=-\yinnersep]current page text area.south west) -- cycle;
\end{tikzpicture}%
}}
\begin{document}
New way, with \verb!\qual!, etc:
\begin{gather*}
x^2 \geq 0 \qual{ (x\in\mathbb{R}) }\\[3ex]
x^2 \geq 0 \qqual{ (x\in\mathbb{R}) }\\[3ex]
x^2 \geq 0 \qqqual{ (x\in\mathbb{R}) }
\end{gather*}
Old way, with \verb!\qquad!:
\begin{gather*}
x^2 \geq 0 \qquad (x\in\mathbb{R})\\[3ex]
x^2 \geq 0 \qquad\qquad (x\in\mathbb{R})\\[3ex]
x^2 \geq 0 \qquad\qquad\qquad (x\in\mathbb{R})
\end{gather*}
\end{document}