表格 - 多行内的方程式

表格 - 多行内的方程式

我想在表格中引入 3 个带标签的方程式。其中一个方程式位于多行内。它应该看起来像这样:

在此处输入图片描述

我尝试了以下代码,但出现错误。当删除多行中的公式并改为写入文本 (xxx) 时,错误消失。

您有什么想法吗?我该如何解决?提前谢谢您。

    \RequirePackage[patch]{kvoptions} 
\documentclass{DissOnlineLatex}
\usepackage{tabulary}
\usepackage{multirow}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{table}[h!]
\caption{example}
\begin{center}
    \begin{tabulary}{1.0\textwidth}{|C|C|C|C|C|}
        \hline
        \textbf{a} & \textbf{b} &\textbf{c} & {\textbf{d}} & {\textbf{e}}\\
        \hline
        \hline
        1 & blabla & aaa & \multirow{2}{*}{x} & \begin{equation} m  = \frac{n}{z} \label{eq:bla2} \end{equation} \\
        \cline{1-3}\cline{5-5}\\        
        2 & bloblo & bbb & & \begin{equation} m2  = \frac{n2}{z2} \label{eq:bla3} \end{equation} \\
        \hline                          
    \end{tabulary}
\end{center}
\label{table:blabla}
\end{table}
\end{document}

% x -->  a  = \frac{b}{c} \label{eq:bla1} \end{equation}

答案1

对于您想要获取的tabulary表环境来说不是一个好的选择...请尝试使用tabularx

在此处输入图片描述

(红线表示文本边框)

\documentclass{article}
\usepackage{multirow, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------
\begin{document}
\begin{table}[htb]
\caption{example}
\label{table:blabla}
\setlength\abovedisplayskip{0pt}
\setlength\belowdisplayskip{0pt}
\centering
    \begin{tabularx}{\textwidth}{|c|c|c|C|C|}
        \hline
\textbf{a} & \textbf{b} &\textbf{c} & {\textbf{d}} & {\textbf{e}}\\
        \hline
        \hline
1 & blabla & aaa &
    \multirow{6.5}{=}{\begin{equation}
                    a = \frac{b}{c} \label{eq:bla2}
                    \end{equation}}
                    &   \begin{equation}
                        m  = \frac{n}{z} \label{eq:bla2}
                        \end{equation} \\
        \cline{1-3}\cline{5-5}
2 & bloblo & bbb &  & \begin{equation}
                        m2  = \frac{n2}{z2} \label{eq:bla2} \end{equation} \\
        \hline
    \end{tabularx}
\end{table}
\end{document}

编辑: 或者你也许更喜欢下表的样子:

在此处输入图片描述

对上面的图片进行了两处修改:

  • 之后\begin{table}添加行\renewcommand\tabularxcolumn[1]{m{#1}}
  • 中的跨越线数量multirow减少了:\multirow{4}{=}{ .... }

笔记:

  • 在有问题时总是提供完整但小的文档,以重现您的问题的开头\documentclasss...和结尾\end{document}。这样,您将帮助所有愿意帮助您的人。重建代码中缺失的部分并不好玩,因为您知道它已经存在......
  • 很多时候问题的根源在于使用的文档包、您定义的命令(如果存在)和类似命令

  • \\在 ˙\hline \cline` 后新增or。它会导致表格中出现虚假的垂直空间

  • 表格中显示的方程式必须是段落样式单元格(如p{...}˙ orX fromtabularx`),其内容应足够容纳方程式。
  • 因为multirow如果它包含显示的方程式,则应该规定其宽度,或者=如果列(其中multirow单元格已定义宽度)则使用选项。

相关内容