复杂表格的问题

复杂表格的问题

我必须在 LaTeX 中重新创建下表,但无法使其完美地工作。

客观的

但目前我所能得到的是:

现在的进展

这是我目前拥有的代码:

\documentclass{article}

\usepackage{array, multirow, booktabs}
\newlength{\Oldarrayrulewidth}
\newcommand\VRule[1][\arrayrulewidth]{\vrule width #1}
\newcommand{\Cline}[2]{%
  \noalign{\global\setlength{\Oldarrayrulewidth}{\arrayrulewidth}}%
  \noalign{\global\setlength{\arrayrulewidth}{#1}}\cline{#2}%
  \noalign{\global\setlength{\arrayrulewidth}{\Oldarrayrulewidth}}}

\begin{document}

\begin{tabular}{!{\VRule[4pt]}p{200pt}!{\VRule[2pt]}p{100pt}!{\VRule[4pt]}}
\specialrule{4pt}{0pt}{0pt}
\multicolumn{2}{!{\VRule[4pt]}c!{\VRule[4pt]}}{\Large{\textbf{\MakeUppercase{Hoja de tareas}}}} \\
\specialrule{2pt}{0pt}{0pt}
\multicolumn{2}{!{\VRule[4pt]}l!{\VRule[4pt]}}{\textbf{Nombre:} Iban Eguia Moraza} \\
\multicolumn{2}{!{\VRule[4pt]}l!{\VRule[4pt]}}{\textbf{Fecha:} 29 de marzo de 2015} \\
\specialrule{2pt}{0pt}{0pt}
\multirow{3}{*}{
    \parbox[t]{200pt}{\textbf{Identificación de Tarea :  T1}}

    \parbox[t]{200pt}{\textbf{Descripción:}}

    \parbox[t]{200pt}{Se debe hacer un análisis detallado de todos los requisitos
    funcionales de la plataforma, para poder hacer un posterior seguimiento y comprobar su
    cumplimiento.}
} &  \textbf{Duración :  1 día} \\ \Cline{2pt}{2-2}

    & \textbf{Esfuerzo: 2 horas} \\ \Cline{2pt}{2-2}

    & \multirow{2}{*}{\textbf{Tareas previas:}} \\ \Cline{2pt}{1-1}
\multirow{2}{*}{
    \parbox[t]{200pt}{\textbf{Criterios de terminación:}}

    \parbox[t]{200pt}{Se creará un informe de requisitos funcionales de la aplicación. El
    comité de dirección será el encargado de validar y aceptar la tarea.}
} & \\ \Cline{2pt}{2-2}
    & \multirow{2}{*}{\textbf{Recursos:}} \\ \Cline{2pt}{1-1}
\parbox[t]{200pt}{\textbf{Competencias, conocimientos y notas:}}

\parbox[t]{200pt}{Se debe conocer la materia en la que se trabaja para conocer los
requerimientos que se necesitan para su completación.} & \\
\specialrule{4pt}{0pt}{0pt}
\end{tabular}
\end{document}

这给了我一些警告,它甚至没有呈现“Criteris de terminación”和“Identificación de Tarea: T2”标题。我想完善的是“Duración: 1 día”的部分,它应该小得多,还有标题。此外,如果能去掉警告就太好了:

(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd)
Runaway argument?
{ \parbox [t]{200pt}{\textbf {Identificación de Tarea : T1}} 
! Paragraph ended before \@xmultirow was complete.
<to be read again> 
                   \par 
l.16 

? 
! Missing { inserted.
<inserted text> 
                {
l.22 ^^I^^I} &
                \textbf{Duración :  1 día} \\[1ex] \Cline{2pt}{2-2}
? 
Runaway argument?
{ \parbox [t]{200pt}{\textbf {Criterios de terminación:}} 
! Paragraph ended before \@xmultirow was complete.
<to be read again> 
                   \par 
l.29 

? 
! Missing { inserted.
<inserted text> 
                {
l.32 ^^I^^I} &
               \\ \Cline{2pt}{2-2}
? 

您可以在 GitHub 中查看所有代码:https://github.com/Razican/FDP/tree/mem5

答案1

这里有一个带有makecell软件包的解决方案,顺便说一下,该软件包已经具有用于可变宽度的水平线的命令\XhlineXcline

\documentclass[spanish]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{geometry} % customize page layout
\usepackage{array}
\usepackage{multirow} % multirow for table (rowspan)
\geometry{paper=a4paper, landscape,hmargin=28.5mm,vmargin=20mm}

\newcommand\VRule[1][1pt]{\vrule width#1}

\usepackage{makecell}
\renewcommand\cellalign{{p{200pt}}c}

% document start
\begin{document}
\sffamily\setlength\extrarowheight{4pt}
\begin{tabular}{!{\VRule[4pt]}p{200pt}!{\VRule[2pt]}p{100pt}!{\VRule[4pt]}}
  \specialrule{4pt}{0pt}{0pt}
  \multicolumn{2}{!{\VRule[4pt]}c!{\VRule[4pt]}}{\Large{\textbf{\MakeUppercase{Hoja de tareas}}}} \\
  \specialrule{2pt}{0pt}{0pt}
  \multicolumn{2}{!{\VRule[4pt]}l!{\VRule[4pt]}}{\textbf{Nombre:} Iban Eguia Moraza} \\
  \multicolumn{2}{!{\VRule[4pt]}l!{\VRule[4pt]}}{\textbf{Fecha:} 29 de marzo de 2015} \\
  \specialrule{2pt}{0pt}{0pt}
  \multirowcell{2}{\textbf{Identificación de Tarea : T1}\\
  \textbf{Descripción:}\\
  Se debe hacer un análisis detallado de todos los requisitos
  funcionales de la plataforma, para poder hacer un posterior seguimiento y comprobar su
  cumplimiento.}%}%
                                                          & \makecell{ \\[-1.5ex]\textbf{Duración : 1 día}\vskip0.5ex} \\
  \Xcline{2-2}{2pt}
  %
                                                          & \makecell{ \\[-0.5ex]\textbf{Esfuerzo: 2 horas}\vskip0.5ex} \\
  \Xcline{2-2}{2pt}
  %
                                                          & \multirowcell{2}{\textbf{Tareas previas:}} \\
  \Xcline{1-1}{2pt}
  %\multirowcell{2}{
  \textbf{Criterios de terminación:} & \\
  Se creará un informe de requisitos funcionales de la aplicación. El
  comité de dirección será el encargado de validar y aceptar la tarea.
                                                          & \\[-3ex]
  \Xcline{2-2}{2pt}
                                                          & \textbf{Recursos:} \\% \multirowcell{2}
  \Xcline{1-1}{2pt}
  \textbf{Competencias, conocimientos y notas:} & \\
  %%
  {Se debe conocer la materia en la que se trabaja para conocer los
  requerimientos que se necesitan para su completación.} & \\
  \specialrule{4pt}{0pt}{0pt}
\end{tabular}

% document end
\end{document} 

在此处输入图片描述

答案2

多行中不能有空行(可以使用 隐藏段落\endgraf),我认为括号不匹配,但由于列之间没有对齐,因此表格标记并没有真正起到帮助作用,仅使用minipage会导致标记更简单。您可能需要稍微调整一下字体和间距,但这运行时没有任何警告。

在此处输入图片描述

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}


\noindent
\fbox{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule}
\setlength\parskip{\baselineskip}
\smallskip
{\centering\Large\textbf{\MakeUppercase{Hoja de tareas}}\par}

\bigskip
\hrule height\fboxrule


\textbf{Nombre:} Iban Eguia Moraza

\textbf{Fecha:} 29 de marzo de 2015

\bigskip
\hrule height\fboxrule

\begin{minipage}[t]{\dimexpr(.7\linewidth-2\fboxsep-\fboxrule)}%
\setlength\parskip{\baselineskip}
\textbf{Identificación de Tarea :  T1}

\textbf{Descripción:}

Se debe hacer un análisis detallado de todos los requisitos
funcionales de la plataforma, para poder hacer un posterior
seguimiento y comprobar su cumplimiento.

\bigskip
\hrule height\fboxrule

\textbf{Criterios de terminación:}

 Se creará un informe de requisitos funcionales de la aplicación. El
comité de dirección será el encargado de validar y aceptar la tarea.

\bigskip
\hrule height\fboxrule

\textbf{Competencias, conocimientos y notas:}

Se debe conocer la materia en la que se trabaja para conocer los
requerimientos que se necesitan para su completación.

\end{minipage}%
\hfill\vrule width\fboxrule\hfill
\begin{minipage}[t]{\dimexpr(.3\linewidth-2\fboxsep-\fboxrule)}%
\setlength\parskip{\baselineskip}
\textbf{Duración :  1 día}

\bigskip
\hrule height\fboxrule

\textbf{Esfuerzo: 2 horas}

\bigskip
\hrule height\fboxrule

\textbf{Tareas previas:}

\bigskip\bigskip\bigskip
\hrule height\fboxrule

\textbf{Recursos:}

Jefe de proyecto

\bigskip\bigskip\bigskip

\end{minipage}%
\end{minipage}}

\end{document}

相关内容