我有一些用 Latex 创建的表格,但格式有些问题。在多列行中,我有一些文本行,但它以居中格式显示文本,并且文本溢出到页面右侧。
该表的代码如下:
\begin{table}[H]
\begin{center}
\begin{tabular}{ | l | l | }
\hline
\multicolumn{2}{|l|}{UC16. 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{
Procedimiento:\\
1. Usuario: visita xxxxxxx\\
2. Sistema: procesa la petición solicitada. \\
3. Usuario: accede a la administración del sitio -> taxonomías. \\
4. Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado.
6. Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.
7. Sistema: notifica al usuario el estado de la acción (ok/error).
}
} \\
\hline
\multicolumn{2}{|l|}{\shortstack{Extensiones: -}} \\
\hline
\end{tabular}
\end{center}
\end{table}
结果如下(灰色部分是页面的限制):
答案1
我不会使用\shortstack
:正如您所见,它不能保证统一的行距。
这是一个更复杂的设置,从另一方面来说可以避免表格溢出边距。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\begin{tabular}{ | l | l | }
\hline
\multicolumn{2}{|l|}{UC16. 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|}{%
\begin{tabularx}{\dimexpr\textwidth-2\tabcolsep-2\arrayrulewidth}{
@{} r @{ } >{\raggedright\arraybackslash}X @{}
}
\multicolumn{2}{@{}l@{}}{Procedimiento:} \\
1. & Usuario: visita xxxxxxx\\
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. \\
6. & Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos. \\
7. & Sistema: notifica al usuario el estado de la acción (ok/error). \\
\end{tabularx}%
}
\\
\hline
\multicolumn{2}{|l|}{%
\begin{tabularx}{\dimexpr\textwidth-2\tabcolsep-2\arrayrulewidth}{
@{} r @{ } >{\raggedright\arraybackslash}X @{}
}
\multicolumn{2}{@{}l@{}}{Extensiones: -- }
\end{tabularx}%
} \\
\hline
\end{tabular}
\end{table}
\end{document}
在大单元格中我使用的tabularx
宽度使得表格与文本块一样宽。
没有垂直规则的不同实现:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tabularx,booktabs}
\begin{document}
\begin{table}
\centering
\begin{tabular}{ @{} p{\textwidth} @{} }
\toprule
UC16. Eliminar taxonomía \\
\midrule
\begin{tabularx}{\textwidth}{@{}lX@{}}
\textbf{Objetivo} & Eliminar taxonomía y guardar cambio en la base de datos \\
\textbf{Actor} & Usuario super-editor, administrador \\
\end{tabularx} \\
\midrule
Precondiciones: Estar logueado con rol super-editor o administrador \\
\midrule
Procedimiento: \\
\begin{tabularx}{\textwidth}{ @{} r @{ } >{\raggedright\arraybackslash}X @{} }
1. & Usuario: visita xxxxxxx\\
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. \\
6. & Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos. \\
7. & Sistema: notifica al usuario el estado de la acción (ok/error). \\
\end{tabularx} \\
\midrule
Extensiones: -- \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
您忘记了第 5 项和第 6 项的换行符\shortstack
,以及使堆栈左对齐的可选参数(我猜您不希望项目居中)。我用 为单元格添加了一些垂直填充makecell
。
无关:不要center
在表格中使用该环境,因为它会增加不必要的垂直间距。请改用 \centering`。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{makecell, float}
\begin{document}
\begin{table}[H]
\centering\setcellgapes{4pt}\makegapedcells
\begin{tabular}{ | l | l | }
\hline
\multicolumn{2}{|l|}{UC16. 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 Sidbrint\\
2. Sistema: procesa la petición solicitada. \\
3. Usuario: accede a la administración del sitio -> taxonomías. \\
4. Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado. \\
6. Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.\\
7. Sistema: notifica al usuario el estado de la acción (ok/error).
}
} \\
\hline
\multicolumn{2}{|l|}{\shortstack{Extensiones: -}} \\
\hline
\end{tabular}
\end{table}
\end{document}
编辑:
如果希望所有表格具有相同的宽度,则可以加载 tabularx
并使用X
列类型:
\begin{table}[H]
\centering\setcellgapes{4pt}\makegapedcells
\begin{tabularx}{\linewidth}{ | l |X| }
\hline
\multicolumn{2}{|l|}{UC16. 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 Sidbrint\\
2. Sistema: procesa la petición solicitada. \\
3. Usuario: accede a la administración del sitio -> taxonomías. \\
4. Usuario: clica en el botón eliminar de la taxonomía deseada dentro de un listado. \\
6. Sistema: cambia el campo eliminado de la taxonomía a True en la base de datos.\\
7. Sistema: notifica al usuario el estado de la acción (ok/error).
}
} \\
\hline
\multicolumn{2}{|l|}{\shortstack{Extensiones: -}} \\
\hline
\end{tabularx}
\end{table}