Estou tentando fazer uma mesa de tamanho incrível, porém há algumas dificuldades que listei na imagem abaixo:
Pelo
1
que percebi, a palavra não está hifenizando automaticamente. Os outros são, mas é porque coloquei os separadores\-
no texto, apesar de estar usando\RaggedRight
na linha dele*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
.Na
2
palavra deveria estar centrado como os outros, mas não é. Apesar de eu ter colocado especificamente o código\centering
, para as 3 colunas do meio. Linha:*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
.
Esse é o código da tabela, eu criei baseado noComo forçar automaticamente o látex a não justificar o texto quando não é sensato?'estábulo:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage{hyperref}
\usepackage{xspace}
\usepackage{microtype}
\usepackage{indentfirst}
\usepackage{lettrine}
\usepackage{graphicx}
\usepackage{float}
\usepackage{array,ragged2e}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\section{Riscos}
% \slash
\noindent\makebox[\textwidth]{%
\resizebox{1.1\linewidth}{!}{%
\begin{tabular}{|
*1{>{\raggedright\arraybackslash}p{4.0cm}|} % Riscos
*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|} % Probabilidade, Impacto, Prioridade
*2{>{\raggedright\arraybackslash}p{4.0cm}|} % Resposta, Prevenção
}
\hline Riscos & Pro\-ba\-bi\-li\-da\-de & Im\-pac\-to & Prioridade & 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 na empresa/laboratório 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{tabular}
}%
}%
\end{document}
Atualmente divido cada coluna por linha, portanto posso preparar facilmente a tabela enquanto leio o látex, então essa seria a maneira mais legível de construir tal tabela em texto simples, lembrando-se de permitir que seja fácil de editar e estender?
Além disso, este texto está gerando estes avisos:
D:\main2.tex:73: Overfull \hbox (23.38434pt too wide) in paragraph at lines 73--73
D:\main2.tex:73: Overfull \hbox (1.82845pt too wide) in paragraph at lines 73--73
D:\main2.tex:73: Overfull \hbox (4.43913pt too wide) in paragraph at lines 73--73
Eles podem ser corrigidos, mantendo minha tabela um pouco maior que o tamanho normal da página?
Responder1
Se você tiver problemas com a hifenização, veja se o babel está instalado corretamente.
Com a hifenização manual como você tem no MWE, obtenho (após correção da definição das colunas) o seguinte resultado:
Fiz as seguintes alterações:
- adicione o pacote
changepage
e com sua macroadjustwidth*
estenda a tabela para fora da borda externa do texto - reduzir o tamanho da fonte para
\small
(isso permite uma melhor hifenização do texto nas células) - alterar a definição
>{\centering\RaggedRight\arraybackslash}p{0.9cm}
(o que está errado) para>{\Centering\arraybackslash}p{0.9cm}
- para
tabularx
ambiente de uso de mesa - alterar larguras de coluna
MWE:
\documentclass[12pt]{article}
\usepackage[a4paper, margin=2cm, showframe]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage{mathptmx}
\usepackage{xspace}
\usepackage{microtype}
\usepackage{indentfirst}
\usepackage{lettrine}
\usepackage{graphicx}
\usepackage{float}
\usepackage{ragged2e}
\usepackage{array, multirow, tabularx}
\usepackage[strict]{changepage}% <-- added
\usepackage{hyperref}
\begin{document}
\section{Riscos}
\begin{adjustwidth*}{}{-\marginparwidth}
\small
\begin{tabularx}{\linewidth}{|
*1{>{\RaggedRight\arraybackslash\hsize=1.1\hsize}X|}
*3{>{\Centering\arraybackslash}p{1.1cm}|} % <-- corrected
*2{>{\RaggedRight\arraybackslash\hsize=0.95\hsize}X|}
}
\hline
Riscos & Pro\-ba\-bi\-li\-da\-de & Impa\-cto & Prio\-ridade & Es\-tra\-té\-gia de res\-pos\-ta & Ações de pre\-ven\-ção \\ \hline
% Row 1
% Riscos
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 na empresa/laboratório 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}
Observação:hifenizar texto em colunas tão estreitas não é uma boa ideia. A melhor solução é usar alguma abreviação e adicionar uma explicação de seu significado na legenda da tabela ou na nota de rodapé no final da tabela (por exemplo, usando threeparttable
).
Termo aditivo:caso você prefira expansão simétrica da largura da tabela (e não, na minha opinião, melhor assimétrica para fora da borda da página), como você pode ver aqui:
do que você precisa alterar apenas adjustwidth*
a macro para, por exemplo:
\begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
...
\end{adjustwidth}
Responder2
Eu recomendo fortemente que vocênãocrie o hábito de deixar as tabelas mais largas do que o bloco de texto - exceto em circunstâncias extremas, que não parecem se aplicar à tabela em questão. Esta recomendação é ainda mais urgente para o seu documento atual, pois você está usando margens bastante estreitas (2 cm) para começar.
Em vez disso, você deve (a) usar o tabularx
ambiente e seu X
tipo de coluna para garantir que a tabela caiba no bloco de texto e (b) (re)definir todos os tipos de coluna adequadamente, conforme necessário, para obter uma tabela bonita. Além disso, omita todas as linhas verticais e use o booktabs
pacote para gerar linhas horizontais bem espaçadas.
\documentclass[12pt]{article}
% I've tried to reduce the preamble to a bare minimum.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazil]{babel}
\usepackage{newtxtext,newtxmath} % more up-to-date than 'mathptmx'
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{microtype,ragged2e,tabularx,booktabs}
\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\Centering\arraybackslash\hspace{0pt}}p{#1}}
% the '\hspace{0pt}' directive enables hyphenation of first word of cell
\newlength\medlength
\settowidth{\medlength}{Média} % width of word "Média"
\begin{document}
\section{Riscos}
\noindent
\begin{tabularx}{\textwidth}{@{}
*1{>{\hangafter1\hangindent1em}P{4cm}}
*3{C{\medlength}} % or: C{1.4cm} C{0.9cm} C{1.1cm}
*2{Y}
@{}}
\toprule
Riscos & Probabilidade & Impacto & Prioridade &
Estratégia de resposta & Ações de prevenção \\
\midrule
% Row 1
% Riscos
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 \\
\addlinespace
% Row 2
% Riscos
Alteração do cronograma ou descontinuidade do projeto
na empresa\slash laboratório 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 \\
\bottomrule
\end{tabularx}
\end{document}