多个不同宽度的表格

多个不同宽度的表格

我的文档中有一些表格,但它们的宽度不同,所以看起来不太好看。我希望所有表格的宽度都相同。

表格代码:

\begin{table}[H]
    \centering\setcellgapes{4pt}\makegapedcells
    \begin{tabular}{ | l | l | }
        \hline
        \multicolumn{2}{|l|}{UC17. Eliminar taxonomía} \\
        \hline
        \textbf{Objetivo} & Eliminar taxonomía y guardar cambio en la base de datos \\
        \hline
        \textbf{Actor} & Usuario super-editor, administrador \\
        \hline
        \multicolumn{2}{|l|}{Precondiciones: Estar logueado con rol super-editor o administrador} \\
        \hline
        \multicolumn{2}{|l|}{\shortstack[l]{
                Procedimiento:\\
                1. Usuario: visita xxxxx\\
                2. Sistema: procesa la petición solicitada. \\
                3. Usuario: accede a la administración del sitio $\to$ taxonomías. \\
                4. Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado. \\
                5. Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.\\
                6. Sistema: notifica al usuario el estado de la acción (ok/error).
            }
        } \\
        \hline
        \multicolumn{2}{|l|}{\shortstack[l]{Extensiones: -}} \\
        \hline
    \end{tabular}
\end{table}

\begin{table}[H]
    \centering\setcellgapes{4pt}\makegapedcells
        \begin{tabular}{ | l | l | }
            \hline
            \multicolumn{2}{|l|}{UC18. Aprobar contenidos} \\
            \hline
            \textbf{Objetivo} & Aprobar contenido (brigadista, encuadramiento o fuente) \\ & y guardar cambio en la base de datos \\
            \hline
            \textbf{Actor} & Usuario super-editor, administrador \\
            \hline
            \multicolumn{2}{|l|}{Precondiciones: Estar logueado con rol super-editor o administrador} \\
            \hline
            \multicolumn{2}{|l|}{\shortstack[l]{
                    Procedimiento:\\
                    1. Usuario: visita xxxxx\\
                    2. Sistema: procesa la petición solicitada. \\
                    3. Usuario: accede a la administración del sitio $\to$ contenido \\ (brigadista, encuadramiento o fuente). \\
                    4. Usuario: clica en el botón aprobar del contenido deseado dentro de un listado. \\
                    5. Sistema: cambia el campo aprobado del contenido a True en la base de datos. \\
                    6. Sistema: notifica al usuario el estado de la acción (ok/error).
                }   
            }  \\
            \hline
            \multicolumn{2}{|l|}{\shortstack[l]{Extensiones: -}} \\
            \hline
        \end{tabular}
\end{table}

代码结果:

在此处输入图片描述

答案1

我建议如下:

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{calc}

\usepackage{enumitem}
\newlist{tabenumi}{enumerate}{1}
\setlist[tabenumi]{label={\arabic*.},nosep,leftmargin=*,after=\vspace{-\baselineskip}}

\newcolumntype{P}{p{\textwidth-2.\tabcolsep-2\arrayrulewidth}}


\begin{document}
\begin{table}
    \centering\setcellgapes{4pt}\makegapedcells
    \begin{tabularx}{\textwidth}{ | l | X | }
        \hline
        \multicolumn{2}{|P|}{UC17. Eliminar taxonomía} \\
        \hline
        \textbf{Objetivo} & Eliminar taxonomía y guardar cambio en la base de datos \\
        \hline
        \textbf{Actor} & Usuario super-editor, administrador \\
        \hline
        \multicolumn{2}{|P|}{Precondiciones: Estar logueado con rol super-editor o administrador} \\
        \hline
        \multicolumn{2}{|P|}{
        Procedimiento:
        \begin{tabenumi}
                \item Usuario: visita xxxxx
                \item Sistema: procesa la petición solicitada. 
                \item Usuario: accede a la administración del sitio $\to$ taxonomías. 
                \item Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado. 
                \item Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.
                \item Sistema: notifica al usuario el estado de la acción (ok/error).
           \end{tabenumi}
        } \\
        \hline
        \multicolumn{2}{|P|}{Extensiones: -} \\
        \hline
    \end{tabularx}
\end{table}

\begin{table}
    \centering\setcellgapes{4pt}\makegapedcells
        \begin{tabularx}{\textwidth}{ | l | X | }
            \hline
            \multicolumn{2}{|P|}{UC18. Aprobar contenidos} \\
            \hline
            \textbf{Objetivo} & Aprobar contenido (brigadista, encuadramiento o fuente)  y guardar cambio en la base de datos \\
            \hline
            \textbf{Actor} & Usuario super-editor, administrador \\
            \hline
            \multicolumn{2}{|P|}{Precondiciones: Estar logueado con rol super-editor o administrador} \\
            \hline
            \multicolumn{2}{|P|}{
                    Procedimiento:
                    \begin{tabenumi}
                    \item Usuario: visita xxxxx
                    \item Sistema: procesa la petición solicitada. 
                    \item Usuario: accede a la administración del sitio $\to$ contenido  (brigadista, encuadramiento o fuente). 
                    \item Usuario: clica en el botón aprobar del contenido deseado dentro de un listado. 
                    \item Sistema: cambia el campo aprobado del contenido a True en la base de datos. 
                    \item Sistema: notifica al usuario el estado de la acción (ok/error).
                \end{tabenumi}   
            }  \\
            \hline
            \multicolumn{2}{|P|}{Extensiones: -} \\
            \hline
        \end{tabularx}
\end{table}

\end{document}

与原始代码相比,我所做的更改是:

  • 替换tabular为,tabularx以便能够X对第二列使用灵活宽度的列,从而使两个表的宽度与文本宽度一样宽。
  • 定义一个与文本宽度一样宽的新列类型P以适合multicolumn单元格。
  • shortstack用新的定义enumerate的环境替换tabenumi,以便实现自动编号、换行和缩进的第二行。

为了使表格看起来更加开放和统一,您可能还考虑删除所有垂直线,并\hlines用包中较少的水平线替换水平线booktabs。在下面的示例中,我还在行之间添加了一些额外的空白作为视觉引导。此外,我还重新排列了表格的一些内容:

\documentclass{article}
\usepackage{tabularx}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{calc}
\usepackage{booktabs}

\usepackage{enumitem}
\newlist{tabenumii}{enumerate}{1}
\setlist[tabenumii]{label={\arabic*.},nosep,leftmargin=*,after=\vspace{-\baselineskip},before=\vspace{-0.5\baselineskip}}

\newcolumntype{P}{p{\textwidth-2.\tabcolsep-2\arrayrulewidth}}


\begin{document}

\begin{table}
\renewcommand{\arraystretch}{1.2}
    \centering
        \begin{tabularx}{\textwidth}{  l  X  }
            \toprule
            \multicolumn{2}{P}{UC18. Aprobar contenidos} \\
            \midrule
            Objetivo: & Aprobar contenido (brigadista, encuadramiento o fuente)  y guardar cambio en la base de datos \\
            %\hline
            Actor: & Usuario super-editor, administrador \\
            %\hline
            Precondiciones: & Estar logueado con rol super-editor o administrador \\
            %\midrule
                    Procedimiento:&
                    \begin{tabenumii}
                    \item Usuario: visita xxxxx
                    \item Sistema: procesa la petición solicitada. 
                    \item Usuario: accede a la administración del sitio $\to$ contenido  (brigadista, encuadramiento o fuente). 
                    \item Usuario: clica en el botón aprobar del contenido deseado dentro de un listado. 
                    \item Sistema: cambia el campo aprobado del contenido a True en la base de datos. 
                    \item Sistema: notifica al usuario el estado de la acción (ok/error).
                \end{tabenumii}   
              \\
            %\midrule
            Extensiones: & - \\
            \bottomrule
        \end{tabularx}
\end{table}

\end{document}

在此处输入图片描述

答案2

您可以使用tabularx具有合适列的普通表格p{}

\documentclass[12pt,a4paper]{article}
\usepackage{makecell}
\begin{document}

\begin{table}[!h]
    \centering\setcellgapes{4pt}\makegapedcells
    \begin{tabular}{|p{4em}|p{\dimexpr\linewidth-4em-2\tabcolsep}|}
        \hline
        \multicolumn{2}{|c|}{UC17. Eliminar taxonomía}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               \\ \hline
        \textbf{Objetivo} &  \\ \hline
        \textbf{Actor}    &  \\ \hline
        \multicolumn{2}{|p{\linewidth}|}{Precondiciones: Estar logueado con rol super-editor o administrador} \\ \hline
        \multicolumn{2}{|p{\linewidth}|}{
                Procedimiento:

                1. Usuario: visita xxxxx

                2. Sistema: procesa la petición solicitada. 

                3. Usuario: accede a la administración del sitio $\to$ taxonomías. 

                4. Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado. 

                5. Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.

                6. Sistema: notifica al usuario el estado de la acción (ok/error).
        } \\ \hline
        \multicolumn{2}{|l|}{\shortstack[l]{Extensiones: -}}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         \\ \hline
    \end{tabular}
\end{table}    

\end{document}

在此处输入图片描述

相关内容