表格已侵占文档边缘

表格已侵占文档边缘

这是我的代码:

\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}

相关内容