如何定义 flalign 环境的宽度?

如何定义 flalign 环境的宽度?

我试图让 flalign 环境中的方程式与上方的 tabular 环境中的文本左对齐,并具有相同的宽度——0.8\textwidth。方程式是一个约束,理想情况下,它的间距应该与上面的参数行相似,但我就是搞不清楚如何让它工作。我试过使用 minipage,也试过将方程式放在 tabular 环境中。

现在看起来如何

这是它现在的样子,我希望以“wqq_t”开头的方程式包含在与上面的表格环境相同的宽度内。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{tabular}{lp{0.8\textwidth}}
    & \\
    \multicolumn{2}{l}{\textbf{Sets and Parameters}} \\
    $\mathcal{B}$ & Description of this parameter\\
    \\
    \multicolumn{2}{l}{\textbf{Objective and Constraints}} 
\end{tabular}

\begin{minipage}{0.8\textwidth}
    \begin{flalign}
        &\wqq_t = k && \forall t \in \mathcal{B} \label{eq: br1}
    \end{flalign}
\end{minipage}

\end{document}

答案1

最大的问题是您想要匹配表格的内部还是外部。对于外部,只需测量表格的宽度即可。对于内部,您需要考虑表格\tabcolsep自动\arrayrulewidth添加的宽度。

\documentclass{article}
\usepackage{amsmath}

\newsavebox{\tempbox}

\begin{document}
\savebox\tempbox{% measure width
\begin{tabular}{|lp{0.8\textwidth}|}
    & \\
    \multicolumn{2}{|l|}{\textbf{Sets and Parameters}}  \\
    $\mathcal{B}$ & Description of this parameter\\
    &\\
    \multicolumn{2}{|l|}{\textbf{Objective and Constraints}} 
\end{tabular}}\usebox\tempbox

\begin{minipage}{\wd\tempbox}% match exterior
    \begin{flalign}
        &wqq_t = k && \forall t \in \mathcal{B} \label{eq: br1}
    \end{flalign}
\end{minipage}

\hspace*{\dimexpr \tabcolsep+\arrayrulewidth}%
\begin{minipage}{\dimexpr \wd\tempbox-2\tabcolsep-2\arrayrulewidth}
    \begin{flalign}
        &wqq_t = k && \forall t \in \mathcal{B} \label{eq: br1}
    \end{flalign}
\end{minipage}

\end{document}

演示

相关内容