
Моя проблема в том, что я хочу повторно использовать интервал в определенном математическом уравнении, например:
\begin{equation}
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
... & := & ... \\[4mm]
& =: & ...
\end{array}
\end{equation}
За этим уравнением следует какой-то текст, а затем я хочу повторить приведенное выше уравнение с теми же интервалами между столбцами массива. Возможно ли это? Из коробки я получу другой интервал, созданный tex на основе математических символов.
Возможно, можно придерживаться одной среды уравнения и вставлять текст в уравнение. Однако \mbox{...}
или\text{...}
недостаточно хорошо, потому что текстдолженотображаться в режиме абзаца, выровненным по левому краю страницы.
Что касается ответа Хариша Кумара на мою проблему, то:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{relsize}
\usepackage{stmaryrd}
\usepackage{bm}
\begin{document}
\noindent
Example 1 (not ok):
\begin{align}
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
a \cdot b & := & a \cdot \mathlarger{\llbracket\,} 0, \, b \mathlarger{\,\rrbracket} \\[4mm]
& =: & ...
\end{array}
\intertext{In the group this means that ... }
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
a & = & b.
\end{array}
\end{align}
Example 2 (ok):
\begin{align}
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
a \cdot b & := & a \cdot b \\[4mm]
& =: & ...
\end{array}
\intertext{In the group this means that ... }
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
a & = & b.
\end{array}
\end{align}
\end{document}
решение1
Вы можете использовать align
и (short)intertext
:
\documentclass{article}
\usepackage{mathtools,lipsum}
\begin{document}
\begin{align}
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
... & := & ... \\[4mm]
& =: & ...
\end{array}
\intertext{\lipsum*[1]} %% or \shortintertext{\lipsum*[1]} from mathtools
\begin{array}{l@{\hspace{3mm}}c@{\hspace{3mm}}l}
... & := & ... \\[4mm]
& =: & ...
\end{array}
\end{align}
\end{document}
Отвечая на отредактированный вопрос:
array
Вы также можете избавиться от :
\documentclass{article}
\usepackage{showframe} %% just for demo
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{relsize}
\usepackage{stmaryrd}
\usepackage{bm}
\newcommand{\h}[1]{\widehat{\bm{#1}}}
\newcommand{\he}{\ensuremath{\tfrac{1}{2}}}
\newcommand{\quat}[2]{\mathlarger{\llbracket\,} \cos{(\he#2)}, \, \sin{(\he#2)} \,\h{#1} \mathlarger{\,\rrbracket}}
\newcommand{\quatv}[1]{\mathlarger{\llbracket\,} 0, \,\h{#1} \mathlarger{\,\rrbracket}}
\begin{document}
\begin{align}
\quatv{b} \cdot \quatv{a} & := \mathlarger{\llbracket} -\h{b}\cdot\h{a}, \, \h{b}\times\h{a} \mathlarger{\,\rrbracket} \quad \equiv \quad \mathlarger{\llbracket\,} \h{a}\cdot\h{b}, \, \h{a}\times\h{b} \mathlarger{\,\rrbracket} = \\[4mm]
& =: \quat{n}{\gamma}.\\
\intertext{In the group this means that ... }
L_b \circ L_a & =: R(\gamma \h{n}).
\end{align}
\end{document}
Если это будет продолжаться долго, вы можете добавить \allowdisplaybreaks
свою преамбулу.
решение2
Другое решение с несколько более простым, а значит, более читаемым кодом. Я использую mathtools
вместо amsmath
, и xparse
, с позволяет определить \Braket
команду с простым синтаксисом (1 аргумент). Я использую команды coloneqq
и eqqcolon
, которые создают вертикально центрированное двоеточие (чего нет в случае :=
). Сами выравнивание и нумерация достигаются посредством вложенных aligned
сред в align
контейнере.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{stmaryrd}
\usepackage{bm}
\newcommand{\h}[1]{\widehat{\bm{#1}}}
\newcommand{\he}{\ensuremath{\tfrac{1}{2}}}
\newcommand{\myquat}[2]{\Brackets[\big]{\cos{(\he#2)}, \sin{(\he#2)} \,\h{#1}}}
\newcommand{\myquatv}[1]{\Brackets[\big]{0,\h{#1}}}
%
\usepackage{xparse}
\DeclarePairedDelimiterX{\Brackets}[1]{\llbracket}{\rrbracket}{\setargs{#1}}
\NewDocumentCommand{\setargs}{ >{\SplitArgument{1}{,}}m }
{\setargsaux#1}
\NewDocumentCommand{\setargsaux}{ m m }
{#1,\,#2\mkern1.5mu}
\begin{document}
\begin{align}
\myquatv{b} \cdot \myquatv{a} &
\begin{aligned}[t]{}\coloneqq {}& \Brackets[\big]{-\h{b}\cdot\h{a},\h{b}\times\h{a}}\equiv \Brackets[\big]{ \h{a}\cdot\h{b}, \h{a}\times\h{b}} = \\[4mm]
\eqqcolon {}& \myquat{n}{\gamma}.% \mathllap{}
\end{aligned}
\intertext{In the group this means that ... }
L_b \circ L_a &\begin{aligned}[t]
{}\eqqcolon{} & R(\gamma \h{n}).
\end{aligned}
\end{align}
\end{document}