我想写出优化问题。
我的代码是:
\begin{alignat}{3}
& \underset{\framebox(100,10){}}{\text{minimize}} & \quad & \framebox(100,10){}\\
& \text{subject to} & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & \max_{i=1,\ldots,l+m+n} \framebox(100,10){},\\
& & & \min_{i \in \mathbb{R}} \framebox(100,10){}.
\end{alignat}
- 最小化并且以中心对齐。
- 约束左对齐(下标除外)
答案1
中mathtools
有一个命令\mathclap{<formula>}
可以帮助您。它使 居中<formula>
但不占用任何空间。您可以使用它来使下标居中。要在\max
和下面的框之间留出空间,您可以插入,但我更喜欢不插入 。文本可以像 一样\rule{15pt}{0pt}
使用 居中。\makebox
\framebox
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
\begin{document}
\begin{alignat}{3}
& \underset{\framebox(100,10){}}{\text{minimize}} & \quad & \framebox(100,10){}\\
& \makebox(100,10){subject to} & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & \framebox(100,10){},\\
& & & {\max_{\mathclap{i=1,\ldots,l+m+n}}\framebox(100,10){}},\\
& & & {\min_{i \in \mathbb{R}} \framebox(100,10){}}.
\end{alignat}
\end{document}
答案2
借助代码https://tex.stackexchange.com/a/209732/4427
\opt{maximize}
如果这是优化问题,您可以使用。
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{xparse}
\makeatletter
\newcommand{\Cen}[2]{%
\ifmeasuring@
#2%
\else
\makebox[\ifcase\expandafter #1\maxcolumn@widths\fi]{$\displaystyle#2$}%
\fi
}
\makeatother
\NewDocumentCommand{\opt}{me{_}}{%
\Cen{1}{\operatorname*{#1}\IfValueT{#2}{_{#2}}}%
}
\NewDocumentCommand{\subjectto}{}{\Cen{1}{\textnormal{subject to}}}
\begin{document}
\begin{alignat}{2}
\opt{minimize}_{\framebox(100,10){}} && \quad & \framebox(100,10){}\\
\subjectto && & \framebox(100,10){},\\
&& & \framebox(100,10){},\\
&& & \framebox(100,10){},\\
&& & \framebox(100,10){},\\
&& & \max_{i=1,\ldots,l+m+n} \framebox(100,10){},\\
&& & \min_{i \in \mathbb{R}} \framebox(100,10){}.
\end{alignat}
\end{document}