Ich versuche, einen Tisch mit einer möglichst guten Größe zu erstellen, es gibt jedoch einige Schwierigkeiten, die ich auf dem Bild unten aufgelistet habe:
Mir
1
ist aufgefallen, dass das Wort nicht automatisch getrennt wird. Bei den anderen schon, aber das liegt daran, dass ich Trennzeichen in den Text eingefügt habe , obwohl ich in der Zeile\-
verwende .\RaggedRight
*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
Das
2
Wort sollte wie die anderen zentriert sein, ist es aber nicht. Obwohl ich den Code speziell\centering
für die drei mittleren Spalten eingefügt habe. Zeile:*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
.
Dies ist der Code für die Tabelle, ich habe ihn erstellt basierend auf demWie kann man Latex automatisch dazu zwingen, den Text nicht im Blocksatz auszurichten, wenn dies nicht sinnvoll ist?'s Tabelle:
\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}
Momentan teile ich jede Spalte zeilenweise auf, damit ich die Tabelle problemlos lesen kann, während ich das Latex lese. Wäre dies dann die beste lesbare Möglichkeit, eine solche Tabelle im Klartext zu erstellen, wobei ich im Hinterkopf behalten muss, dass sie leicht bearbeitet und erweitert werden kann?
Außerdem erzeugt dieser Text folgende Warnungen:
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
Können sie behoben werden, während meine Tabelle etwas größer als die übliche Seitengröße bleibt?
Antwort1
Wenn Sie Probleme mit der Silbentrennung haben, prüfen Sie, ob Sie Babel richtig installiert haben.
Bei manueller Silbentrennung wie bei Dir in MWE erhalte ich (nach Korrektur der Spaltendefinition) folgendes Ergebnis:
Ich habe folgende Änderungen vorgenommen:
- Paket hinzufügen
changepage
und mit seinem Makroadjustwidth*
die Tabelle aus dem äußeren Textrand erweitern - Schriftgröße reduzieren auf
\small
(dies ermöglicht eine bessere Silbentrennung in Zellen) - ändern Sie die Definition
>{\centering\RaggedRight\arraybackslash}p{0.9cm}
(die falsch ist) in>{\Centering\arraybackslash}p{0.9cm}
- für die Verwendung auf
tabularx
Tischen - Spaltenbreiten ändern
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}
Notiz:Text in so schmalen Spalten mit Bindestrichen zu trennen ist keine gute Idee. Besser ist es, etwas Kürzeres zu verwenden und eine Erklärung seiner Bedeutung in der Tabellenüberschrift oder in der Fußnote am Ende der Tabelle hinzuzufügen (zum Beispiel durch die Verwendung von threeparttable
).
Nachtrag:für den Fall, dass Sie eine symmetrische Ausdehnung der Tabellenbreite bevorzugen (und meiner Meinung nach nicht besser eine asymmetrische Ausdehnung zum äußeren Seitenrand), wie Sie hier sehen können:
dann müssen Sie nur das Makro ändern, adjustwidth*
zum Beispiel in:
\begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
...
\end{adjustwidth}
Antwort2
Ich empfehle Ihnen dringend,nichtmachen Sie es sich zur Gewohnheit, Tabellen breiter als den Textblock zu machen – außer in extremen Fällen, die auf die vorliegende Tabelle nicht zuzutreffen scheinen. Diese Empfehlung ist für Ihr aktuelles Dokument umso dringender, da Sie ohnehin recht schmale Ränder (2 cm) verwenden.
Stattdessen sollten Sie (a) die tabularx
Umgebung und ihren X
Spaltentyp verwenden, um sicherzustellen, dass die Tabelle in den Textblock passt, und (b) alle Spaltentypen nach Bedarf (neu) definieren, um eine gut aussehende Tabelle zu erhalten. Lassen Sie außerdem alle vertikalen Linien weg und verwenden Sie das booktabs
Paket, um horizontale Linien mit ausreichend Abstand zu erzeugen.
\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}