这是我的代码:
\documentclass[12pt, a4paper]{article}
\begin{document}
\begin{table*}[htpb]
\centering
{
\caption{\small{Descrição do Requisito Funcional $02$}} \vspace{10pt}
\begin{tabular}{p{6cm}|p {6cm}}
\hline
\multicolumn{2}{c}{RF02: Exibir nome, DRE e situação de matrícula do aluno} \\
\hline
\multicolumn{2}{l}{Objetivo: permitir que o usuário visualize nome, DRE e situação de matrícula do aluno} \\
\hline
\multicolumn{2}{l}{Pré-condições: o usuário deve estar logado no sistema} \\
\hline
\multicolumn{2}{l}{Pós-condições: o nome, o DRE e a situação de matrícula são exibidas} \\
\hline
\multicolumn{2}{l}{Prioridade (1-5): 1 (alta)} \\
\hline
\multicolumn{2}{l}{Trigger: o usuário seleciona o nome do aluno orientado na página principal do sistema desejando acessar suas informações} \\
\hline
\multicolumn{2}{l}{RNF específicos: segurança - o usuário deve estar logado no sistema} \\
\hline
Usuário & Sistema\\
\hline
$1.$ Acessa o sistema & $2.$ Solicita CPF e senha\\
\hline
$3.$ Informa CPF e senha & $4.$ Valida CPF e senha\\
& [E1: CPF ou senha incorretos]\\
\hline
$5.$ Seleciona o nome do aluno orientado & $6.$ Exibe o nome completo do aluno, seu DRE e sua situação de matrícula\\
\hline
\multicolumn{2}{c}{[Fluxo de Exceção E1: CPF ou senha incorretos]} \\
\hline
&$1.$ Exibe mensagem de erro\\
\hline
&$2.$ Retorna ao passo $2$ do fluxo principal\\
\hline
\end{tabular}
}
\end{table*}
\end{document}
我该如何修复这个问题以便我可以看到完整的表格?
答案1
首先,我鼓励你仔细阅读这个问题我的桌子放不下;我有什么办法吗?及其相关答案,以防您想熟悉一些与防止表格宽度超出文本块宽度有关的有用技术。
其次,谈谈困扰您的两列表的主要问题。溢出的原因是,尽管您已将表定义为允许在其各个列中自动换行,但您随后使用了列类型l
——这确实不是允许自动换行 - 对于跨越两个底层列的标题元素。
解决方法?我建议您将l
列类型替换为p
列类型。剩下的主要问题是确定组合列的可用宽度。由于底层列的可用宽度为,并且两列由 2 个空白带(每个空白带的数量为)和垂直规则(宽度为)6cm
分隔,因此\tabcolsep
\arrayrulewidth
可用宽度合并后的列等于12cm+2\tabcolsep+1\arrayrulewidth
。
我还想建议您(a)允许在子列中悬挂缩进材料,以及(b)省略一些水平规则,特别是表格标题中的水平规则,以使表格更具可读性。
\documentclass[12pt, a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel} % or 'portuguese'?
\usepackage{ragged2e,microtype}
\usepackage{array} % for '\newcolumntype' macro
% Define two new column types:
% (a) for full-width columns:
\newcolumntype{L}{@{} >{\RaggedRight}p{\dimexpr12cm+2\tabcolsep+1\arrayrulewidth\relax} @{}}
% (b) for half-width columns:
\newlength\mylen
\settowidth\mylen{$4.$\space} % amount of hanging indentation
\newcolumntype{P}[1]{>{\RaggedRight\hangafter1\hangindent\mylen}p{#1}}
\begin{document}
\begin{table}[htpb]
\setlength\extrarowheight{3pt} % for a less-cramped look
\centering
\caption{%\small % <-- why?
Descrição do Requisito Funcional $02$}
\vspace{0.5\baselineskip}
\begin{tabular}{@{} P{6cm} | P{6cm} @{}}
\hline
\multicolumn{2}{c}{RF02: Exibir nome, DRE e situação de matrícula do aluno} \\
\hline
\multicolumn{2}{L}{Objetivo: permitir que o usuário visualize nome, DRE e situação de matrícula do aluno} \\
%\hline
\multicolumn{2}{L}{Pré-condições: o usuário deve estar logado no sistema} \\
%\hline
\multicolumn{2}{L}{Pós-condições: o nome, o DRE e a situação de matrícula são exibidas} \\
%\hline
\multicolumn{2}{L}{Prioridade (1--5): 1 (alta)} \\
%\hline
\multicolumn{2}{L}{Trigger: o usuário seleciona o nome do aluno orientado na página principal do sistema desejando acessar suas informações} \\
%\hline
\multicolumn{2}{L}{RNF específicos: segurança -- o usuário deve estar logado no sistema} \\[0.5ex]
\hline
Usuário & Sistema\\
\hline
$1.$ Acessa o sistema
& $2.$ Solicita CPF e senha\\
%\hline
$3.$ Informa CPF e senha
& $4.$ Valida CPF e senha\\
& [E1: CPF ou senha incorretos]\\
%\hline
$5.$ Seleciona o nome do aluno orientado
& $6.$ Exibe o nome completo do aluno, seu DRE e sua situação de matrícula\\
\hline
&[Fluxo de Exceção E1: CPF ou senha incorretos] \\
%\hline
& $1.$ Exibe mensagem de erro\\
%\hline
& $2.$ Retorna ao passo $2$ do fluxo principal\\
\hline
\end{tabular}
\end{table}
\end{document}