表格编辑工具

表格编辑工具

我试图创建一个复式表格,但由于我对 Latex 还很陌生,使用 nicematrix/nicetabular 包似乎有点令人生畏。我决定试试运气,使用“常规”表格命令,同时使用多列和多行命令,以便习惯它们。除了下图中圈出的垂直线外,我得到了一个美观上令人满意的结果。我怎样才能从特定单元格中删除该行?提前致谢

使用的代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{amssymb}

\begin{article}
\begin{center}
    \begin{tabular}{ c | c | c | c | c |}
      \multicolumn{4}{r}{$\displaystyle\lim_{x \to a} f(x)$} \\ \cline{3-5}
      \multirow{4}{*}{$\displaystyle\lim_{x \to a} g(x)$}
      & & $-\infty$ & $l_1 \in \mathbb{R}$ & $+\infty$ \\ \cline{2-5}
      & $-\infty$ & $-\infty$ & $-\infty$ & ? \\ \cline{2-5}
      & $l_2 \in \mathbb{R}$ & $-\infty$ & $l_1 + l_2$ & $+\infty$ \\ \cline{2-5}
      & $+\infty$ & ? & $+\infty$ & $+\infty$ \\ \cline{2-5}
    \end{tabular}
  \end{center}
  
\end{article}

答案1

作为一种快速破解方法,您可以使用\multicolumn{1}{c}{}切换给定单元格的线路。

我认为,如果限制相对于第一行/列中已填充的单元格居中,您的表格会看起来更好:

\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{amssymb}

\begin{document}
\begin{center}
    \begin{tabular}{ c | c | c | c | c |}
     \multicolumn{1}{c}{}  & \multicolumn{1}{c}{} & \multicolumn{3}{c}{$\displaystyle\lim_{x \to a} f(x)$} \\ \cline{3-5}
      \multicolumn{1}{c}{} &  & $-\infty$ & $l_1 \in \mathbb{R}$ & $+\infty$ \\ \cline{2-5}
      \multirow{3}{*}{$\displaystyle\lim_{x \to a} g(x)$} & $-\infty$ & $-\infty$ & $-\infty$ & ? \\ \cline{2-5}
      & $l_2 \in \mathbb{R}$ & $-\infty$ & $l_1 + l_2$ & $+\infty$ \\ \cline{2-5}
      & $+\infty$ & ? & $+\infty$ & $+\infty$ \\ \cline{2-5}
    \end{tabular}
  \end{center}
  
\end{document}

在此处输入图片描述

答案2

这里介绍如何使用 制作表格nicematrix

  • 我已经使用,{NiceArray}因为所有条目都处于数学模式。

  • 在 的环境中nicematrix,您可以使用命令 水平和垂直合并单元格\Block

  • 在您的例子中,所有您想要的规则都是使用键first-rowfirst-col和绘制cornershvlines。键first-rowfirst-col表示在主表格之外有“第一行”和“第一列”(因此,在规则之外……)。键corners计算空角(在本例中,是“西北”位置的空单元格),键hvlines绘制除角落、第一行和第一列(以及命令\Block)之外的所有规则。

\documentclass{article}
\usepackage{nicematrix}
\usepackage{amssymb}

\begin{document}

\NiceMatrixOptions{cell-space-limits=3pt}

\begin{center}

$\begin{NiceArray}{cccc}[first-row,first-col,corners,hvlines]
 & & \Block{1-3}{\displaystyle\lim_{x \to a} f(x)} \\ 
 &  & -\infty & l_1 \in \mathbb{R} & +\infty \\ 
  \Block{3-1}{\displaystyle\lim_{x \to a} g(x)} & -\infty & -\infty & -\infty & ? \\ 
 & l_2 \in \mathbb{R} & -\infty & l_1 + l_2 & +\infty \\ 
 & +\infty & ? & +\infty & +\infty \\ 
\end{NiceArray}$

\end{center}
  
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案3

tabularray包版本:

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\usepackage{amssymb}

\begin{document}
    \begin{center}
\begin{tblr}{hline{1,2} = {3-Z}{solid}, hline{3-Z} = {2-Z}{solid},
             vline{2} = {3-Z}{solid}, vline{3-Z} = {1-Z}{solid},
             colspec  = { *{5}{Q[c, wd=4em, mode=dmath]} },
             rowsep  = {5pt}
             }
% table body
    &   & \SetCell[c=3]{}   \lim_{x \to a} f(x)
            &   &               \\
    &   &   -\infty 
            &   l_1 \in \mathbb{R}
                &  +\infty    
                                \\
\SetCell[r=3]{} \lim_{x \to a} g(x)
    &   -\infty
        &   -\infty
            &   -\infty
                & ?              \\ 
    &   l_2 \in \mathbb{R}
            &   -\infty
                &   l_1 + l_2
                    &   +\infty \\
    &   +\infty
        & ? &   +\infty
                &   +\infty     \\
\end{tblr}
    \end{center}
\end{document}

在此处输入图片描述

相关内容