如何禁用表格的 Overfull \hbox 太宽警告?

如何禁用表格的 Overfull \hbox 太宽警告?

似乎无法禁用它。我尝试输入:

  1. 关于这个问题使用表格时出现 \hbox 过满警告补充说\hfuzz=0.64pt,我尝试过\hfuzz=50000pt,但没有成功。

    \hfuzz=5000pt
    \begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
    ...
    
  2. 带着问题除了添加换行符之外,真的没有更好的方法来解决“Overfull \hbox”问题吗?,我尝试添加\sloppy,但没有结果。

    \sloppy
    \begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
    ..
    
  3. 我也尝试把这个问题放在下面如何禁用/抑制长表内的坏盒警告?,但也没有效果。

    \hbadness=\maxdimen
    \vbadness=\maxdimen
    \begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
    ...
    
  4. 关于这个问题什么是“过满的 \hbox(太宽 9.89561pt)”?,我不明白如何使用\the\fontdimen2\font\the\fontdimen3\font来扩展限制。

以下是表格:

\documentclass[12pt]{article}
\usepackage[a4paper, margin=2cm, showframe]{geometry}

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

\usepackage{newtxtext,newtxmath}
\usepackage{microtype,booktabs}

\usepackage{ragged2e}
\usepackage{array, multirow, tabularx}
\usepackage[strict]{changepage}

\usepackage{hyperref}

\begin{document}

\section{Riscos}

    % https://tex.stackexchange.com/questions/366156/how-to-change-the-left-padding-for-one-latex-tables-cell
    % https://tex.stackexchange.com/questions/366155/how-to-write-a-table-a-little-larger-than-the-paragraphs-with-centered-columns
    %
    \begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
    \small
    \begin{tabularx}{\linewidth}
    {|
        *1{                 >{\RaggedRight\arraybackslash\hsize=1.1\hsize }X       |} % Riscos
        *3{@{\hspace{3.0pt}}>{\Centering\arraybackslash                   }p{0.9cm}|} % Probabilidade, Impacto , Prioridade
        *2{                 >{\RaggedRight\arraybackslash\hsize=0.95\hsize}X       |} % Resposta, Prevenção
    }

    \hline Riscos  & Pro\-ba\-bi\-li\-da\-de & Im\-pac\-to & Prio\-ri\-da\-de & Es\-tra\-té\-gia de res\-pos\-ta & Ações de pre\-ven\-ção \\ \hline

    % Row 1
    % Riscos
    \hline Problemas com perda de dados &
    % Probabilidade
    Baixa &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Uso do backup &
    % Ações de prevenção
    Backup periódicos \\ \hline

    % Row 2
    % Riscos
    \hline Alteração do cronograma ou descontinuidade do projeto onde recebo uma bolsa &
    % Probabilidade
    Média &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Redefinição da data de entrega do trabalho &
    % Ações de prevenção
    Monitoramento contínuo das informações obtidas com superiores imediatos \\ \hline

    \hline \end{tabularx}
    \end{adjustwidth}

\end{document}

这是警告:

D:\main2.tex:63: Overfull \hbox (1.8104pt too wide) in paragraph at lines 63--63

Overfull \hbox (1.8104pt too wide) in paragraph at lines 63--63
 []|\T1/ntxtlf/m/n/10.95 (-20) M▒dia|

该表如下所示:

在此处输入图片描述

这对我来说看起来不错,因此我该如何扩展警告限制以仅允许此表,而不是根据现在的情况触发它们?

答案1

警告是

Overfull \hbox (1.8104pt too wide) in paragraph at lines 63--63
 []|\T1/ntxtlf/m/n/10.95 (-20) `M▒dia|

这表明问题不是表格太宽,而是文本不适合列p。这就是为什么表格外的设置效果不大,因为段落设置在 parboxes 和p列条目中是“标准化”的。

因此,您可以\hfuzz在表格内部进行重置,但指定列宽然后为其提供比列宽的不可破坏的单词条目确实很奇怪。

如果将p列宽增加 2pt,则会出现警告。

\begin{tabularx}{\linewidth}
{|
 *1{     >{\RaggedRight\arraybackslash\hsize=1.1\hsize }X       |} % Riscos
 *3{@{\hspace{3.0pt}}>{\Centering\arraybackslash}p{\dimexpr 0.9cm+2pt\relax}|} % Probabilidade, Impacto , Prioridade
 *2{     >{\RaggedRight\arraybackslash\hsize=0.95\hsize}X       |} % Resposta, Prevenção
}

答案2

您会收到“Média”一词的过满警告,因为该词对于列宽来说有点太长了。要么增大宽度,要么使用 隐藏列内容\rlap{Média}

答案3

我建议对表格的整体外观进行一些改进,包括\hsizeX、值tabcolsep和字体大小:

\documentclass[12pt]{article}
\usepackage[a4paper, margin=2cm, showframe]{geometry}

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

\usepackage{newtxtext, newtxmath}
\usepackage{microtype, booktabs}

\usepackage{ragged2e}
\usepackage{array, multirow, tabularx, makecell}
\usepackage[strict]{changepage}

\usepackage{hyperref}

\begin{document}

\section{Riscos}

    % https://tex.stackexchange.com/questions/366156/how-to-change-the-left-padding-for-one-latex-tables-cell
    % https://tex.stackexchange.com/questions/366155/how-to-write-a-table-a-little-larger-than-the-paragraphs-with-centered-columns
    %
    \begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
    \footnotesize\renewcommand\tabcolsep{4pt}\setcellgapes{4pt}\makegapedcells
    \begin{tabularx}{\linewidth}
    {|
        *1{ >{\RaggedRight\arraybackslash\hsize=1.15\hsize }X |} % Riscos
       l| *2{@{\hspace{3.0pt}}>{\Centering\arraybackslash }p{1.5cm}|} % Probabilidade, Impacto , Prioridade
        *2{ >{\RaggedRight\arraybackslash\hsize=0.925\hsize}X |} % Resposta, Prevenção
    }

    \hline Riscos & Probabilidade & Impacto & Prioridade & Estratégia de resposta & Ações de prevenção \\ \hline

    % Row 1
    % Riscos
    \hline Problemas com perda de dados &
    % Probabilidade
    Baixa &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Uso do backup &
    % Ações de prevenção
    Backup periódicos \\ \hline

    % Row 2
    % Riscos
    \hline Alteração do cronograma ou descontinuidade do projeto onde recebo uma bolsa &
    % Probabilidade
    Média &
    % Impacto
    Alto &
    % Prioridade
    Alta &
    % Estratégia de resposta
    Redefinição da data de entrega do trabalho &
    % Ações de prevenção
    Monitoramento contínuo das informações obtidas com superiores imediatos \\ \hline

    \hline \end{tabularx}
    \end{adjustwidth}

\end{document} 

在此处输入图片描述

相关内容