在 tabularx 中显示方程式

在 tabularx 中显示方程式

为什么第一个 MWE 有效而第二个无效?第一个 MWE:

\documentclass[12pt,border=3mm,preview]{standalone}
    \usepackage{mathtools}
    \usepackage{tabularx,graphicx}
%---------------------------------------------------------------%
    \begin{document}
    \begin{tabularx}{\hsize}{m{0.4\hsize}X}
\includegraphics[width=0.9\hsize]{example-image}
    &
\begin{equation}\label{eq:1}
\delta_h(t) = \begin{dcases}
                \frac{1}{2h}    &\text{pri}\quad -h<t<h \\
                    0           &\text{sicer}
              \end{dcases}
\end{equation}
    \end{tabularx}
    \end{document}

第二个 MWE:

\documentclass[12pt,border=3mm,preview]{standalone}
    \usepackage{mathtools}
    \usepackage{tabularx,graphicx}
%---------------------------------------------------------------%
    \begin{document}
    \begin{tabularx}{\hsize}{m{0.4\hsize}X}
\includegraphics[width=0.9\hsize]{example-image}
    &
\begin{gather}\label{eq:1}
\delta_h(t) = \begin{dcases}
                \frac{1}{2h}    &\text{pri}\quad -h<t<h \\
                    0           &\text{sicer}
              \end{dcases}
\end{gather}
    \end{tabularx}
    \end{document}

第二个 MWE 给出错误Forbidden control sequences found while scanning of \gather.如果方程式在align环境中,则会出现相同的错误。即使我在带有方程式的单元格中使用,此错误仍然存​​在minipage

看起来与细胞类型的环境\\使用存在一些不匹配。amsmathtabularxX

答案1

使用一对额外的括号将其括起来dcases(基本上是array):

\begin{tabularx}{\hsize}{m{0.4\hsize}X}
\includegraphics[width=0.9\hsize]{example-image}
    &
\begin{gather}\label{eq:1}
{\delta_h(t) = \begin{dcases}
                \frac{1}{2h}    &\text{pri}\quad -h<t<h \\
                    0           &\text{sicer}
              \end{dcases}}
\end{gather}
\end{tabularx}

完整的代码,有一些修改(见下面的备注):

\documentclass[12pt,border=3mm,preview]{standalone}
\usepackage{mathtools}
\usepackage{tabularx,graphicx}

\renewcommand\tabularxcolumn[1]{m{#1}}

\begin{document}
\begin{tabularx}{\hsize}{m{0.4\hsize}X}
\includegraphics[width=0.9\hsize]{example-image}
    &
\begin{equation}\label{eq:1}
{\delta_h(t) = \begin{dcases}
                \frac{1}{2h}    &\text{pri}\quad -h<t<h \\
                    0           &\text{sicer}
              \end{dcases}}
\end{equation}
\end{tabularx}
\end{document}

在此处输入图片描述

评论

  • 我不清楚为什么dcases在 a 里面使用 a gather。该gather环境是为 a 设计的团体连续方程式之间不需要对齐,而 dcases 结构(从逻辑角度来看)只是一个单元。环境equation似乎是自然的选择。

  • 我用了

    \renewcommand\tabularxcolumn[1]{m{#1}}
    

    使图像和方程式垂直对齐于中心。

答案2

这里的问题是相关环境中\\的不受保护。以下非dcasestabulartabularxMWE 复制了该问题(使用-columns; -columnsp的简化版本):tabularxX

%\documentclass[12pt,border=3mm,preview]{standalone}
\documentclass{article}
\usepackage{amsmath,graphicx}
%---------------------------------------------------------------%
\begin{document}

\begin{tabular}{p{0.4\linewidth}p{0.5\linewidth}}
  \includegraphics[width=0.9\linewidth]{example-image}
    &
    \begin{gather}\label{eq:1}
    \delta_h(t) = \begin{dcases}
                    \frac{1}{2h}    &\text{pri}\quad -h<t<h \\
                        0           &\text{sicer}
                  \end{dcases}
    \end{gather}
\end{tabular}

\end{document}

为此,我将使用一组minipages 而不是 atabularx以及 anequation而不是gather

在此处输入图片描述

%\documentclass[12pt,border=3mm,preview]{standalone}
\documentclass{article}
\usepackage{mathtools,graphicx}

\begin{document}

\noindent
\begin{minipage}{.4\linewidth}
  \includegraphics[width=0.9\linewidth]{example-image}
\end{minipage}%
\begin{minipage}{.6\linewidth}
\begin{equation}
  \label{eq:1}
  \delta_h(t) = \begin{dcases}
                  \frac{1}{2h} & \text{pri}\quad -h<t<h \\
                      0        & \text{sicer}
                \end{dcases}
  \end{equation}
\end{minipage}

\end{document}

minipage它们的锚点必然位于垂直中心。

相关内容