素晴らしいサイズのテーブルを作ろうとしていますが、以下の写真に示すようにいくつかの困難があります。
気づいたら、この単語は自動的にハイフン処理されていません。他の単語は自動的にハイフン処理されますが、これは、その行にを使用しているにもかかわらず、テキストに
1
ブレーカーを配置したためです。\-
\RaggedRight
*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
単語は他の単語と同様に中央揃えになるはずですが、そうではありません。中央の 3 つの列に
2
コード を明示的に配置したにもかかわらずです。行: 。\centering
*3{>{\centering\RaggedRight\arraybackslash}p{0.9cm}|}
これはテーブルのコードです。適切でない場合に、LaTeX でテキストを両端揃えしないように自動的に強制するにはどうすればよいでしょうか?'安定した:
\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}
現在、各列を行ごとに分割しているので、LaTeX を読みながら簡単に表を準備できます。編集や拡張が簡単に行えることを念頭に置きながら、このような表をプレーン テキストで作成するには、これが最も読みやすい方法でしょうか。
また、このテキストでは次の警告が生成されます:
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
テーブルを通常のページ サイズより少し大きくしたまま、それらを修正できますか?
答え1
ハイフネーションに問題がある場合は、babel が適切にインストールされているかどうかを確認してください。
MWE のように手動でハイフネーションを行うと、(列定義を修正した後) 次の結果が得られます。
以下の変更を加えました:
- パッケージを追加し
changepage
、そのマクロを使用してadjustwidth*
テーブルを外側のテキスト境界から拡張します。 - フォントサイズを小さくする
\small
(これにより、セル内のテキストのハイフネーションが改善されます) - 定義を変更する
>{\centering\RaggedRight\arraybackslash}p{0.9cm}
(これは間違っている)>{\Centering\arraybackslash}p{0.9cm}
- テーブル使用
tabularx
環境 - 列幅を変更する
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}
注記:このような狭い列でテキストをハイフンでつなぐのは良い考えではありません。より良い解決策は、ある程度の短さを使用し、表のキャプションまたは表の末尾の脚注にその意味の説明を追加することです (たとえば、 を使用しますthreeparttable
)。
補遺:テーブルの幅を対称的に拡張することを好む場合(私の意見では、ページの外側の境界線に対して非対称の方が良い)、次のように示します。
adjustwidth*
たとえば、マクロのみを変更する必要があります。
\begin{adjustwidth}{-0.5\marginparwidth}{-0.5\marginparwidth}
...
\end{adjustwidth}
答え2
強くお勧めしますない表の幅をテキスト ブロックの幅よりも広くすることを習慣にしてください (ただし、極端な状況の場合は除きます。ただし、この表には当てはまらないようです)。この推奨事項は、現在のドキュメントでかなり狭い余白 (2 cm) を使用しているため、特に重要です。
代わりに、(a)tabularx
環境とそのX
列タイプを使用して、表がテキストブロック内に収まるようにし、(b) 必要に応じてすべての列タイプを適切に(再)定義して、見栄えの良い表を作成する必要があります。さらに、すべての垂直線を省略し、パッケージを使用してbooktabs
十分な間隔の水平線を生成します。
\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}