
まず最初に言っておきたいのは、私の LaTeX に関する経験は非常に限られているということです。ドキュメントを読みましたが、理解するのはかなり困難です。
私の表は次のとおりです。
ここにいくつか問題があります。ご覧のとおり、列の間隔は値に関してはかなりずれていて、列ヘッダーと一致していません。\multiplerows{}
これを修正するには、おそらく を使用する必要があると考えました。これは正しいパスですか? どのように実装すればよいでしょうか。
また、各新しいエントリ間の間隔は問題ありませんが、広すぎます。デフォルト設定と思われる間隔を少し狭めるために実装できる 1 行のコードはありますか?
これが私のコードです(オンラインのテンプレートから改変したものです):
\begin{document}
\begin{slide*}
\begin{table}
\centering
\footnotesize
\caption{Breakdown by Voivodeship}
\label{tab:kathoden}
\begin{tabular}{@{}nd{1.1}*{4}{d{1.2}}d{1.1}d{3.2}@{}}
\toprule
\multicolumn{1}{N}{\bf{Voivodeship}} &
\multicolumn{1}{N}{Total Cases} &
\multicolumn{1}{N}{Cases 100k} &
\multicolumn{1}{N}{Total Deaths} &
\multicolumn{1}{N}{Deaths 100k} &
\multicolumn{1}{N}{Total Tests} &
\multicolumn{1}{N}{Total Tests} &
\multicolumn{1}{N}{Case Fatality} \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
Lower Silesia & 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian & 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin & 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz & 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz & 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland & 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29\\
Mazowieckie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Opole & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Subcarpathian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Podlasie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264.$---$ \\
\bottomrule
\end{tabular}
\end{table}
\end{slide*}
\end{document}
答え1
あなたは LaTeX テーブルの世界の初心者なので、私のレシピを紹介します。
まず、LaTeX は美しい印刷物やスライドを作成するためのものです。実際の数字を扱う作業には、Excel を使用します。(他の人は R などの統計パッケージを使用します。)
スプレッドシートでは、自分の好みや再現するオリジナル、最終レポートや論文で遵守しなければならないスタイルに応じて、計算、列の並べ替え、タイトルやセルへの色の配置、線の設定などを行って、最終結果を得ることができます。
次に、LaTeX に移動します。表をセルごと、行ごとに手動で入力するか、ソースからエクスポートすることができます (強くお勧めします)。
私は、(ほぼ) 最終的なコードを生成する Excel アドイン excel2latex を使用しています。最も重要なのは、コンテンツが忠実にエクスポートされるため、翻訳で何も失われないことです。
https://ctan.org/pkg/excel2latex?lang=en
クリップボードにコピーして、LateX コードに貼り付けます。エラーなしでコンパイルされます。(この場合、パッケージを追加する必要がありますbooktabs
)。
次に、テーブル専用の LaTex パッケージを多数使用して、テーブルをページに合わせたり、スタイルを変更したりすることができます。しかし、最も重要なのは、元のコンテンツがそのまま残ることです。
この例では、短い列の罫線とキャプション(元のものから切り取って貼り付け)を追加しました。その他の装飾は読者にお任せします。 :)
\documentclass[landscape]{article}
\usepackage{booktabs} %required
\usepackage{multirow} %not needed here but useful
\usepackage{geometry} % to fit the table in the page
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
\centering
\caption{Breakdown by Voivodeship}
\begin{tabular}{lccccccc}
\toprule
\textbf{Voivodeship} & Total Cases & Cases 100k & Total Deaths & Deaths 100k & Total Tests & Total Tests & Case Fatality \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
\cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
% \midrule
Lower Silesia & 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian & 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin & 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz & 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz & 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland & 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29 \\
Mazowieckie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Opole & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Subcarpathian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Podlasie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Pomorskie & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
Silesian & 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & --- \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答え2
私は表をLaTeXで直接書きます。
S
パッケージで定義された列タイプを使用し、マクロsiunitx
の左計算を行い、列ヘッダーにはパッケージで定義されたコマンドを使用します。その表はスライドに収まるように、フォント サイズには次のものが使用されます:\tabcolsep
\extracolsep{\fill}}
\thead
makecell
\scriptsize
\documentclass{beamer}
\usepackage{array, booktabs, makecell}
\renewcommand\theadfont{\scriptsize\bfseries}
\renewcommand\theadgape{}
\usepackage{siunitx}
\begin{document}
\begin{frame}
\frametitle{My beautiful table}
\begin{table}
\centering
\scriptsize
\setlength\tabcolsep{0pt}
\caption{Breakdown by Voivodeship}
\label{tab:kathoden}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} l
S[table-format=4.1]
S[table-format=1.2]
S[table-format=2.2]
S[table-format=1.2]
S[table-format=2.1]
S[table-format=3.0]
S[table-format=2.0]
}
\toprule
\thead{Voivodeship}
& {\thead{Total\\ Cases}}
& {\thead{\\Cases\\ 100k}}
& {\thead{Total\\ Deaths}}
& {\thead{Deaths \\100k}}
& {\thead{Total\\ Tests}}
& {\thead{Total\\ Tests}}
& {\thead{Case\\ Fatality}} \\
\midrule
% \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(lr){4-4}%
% \cmidrule(lr){5-5}\cmidrule(lr){6-6}\cmidrule(lr){7-7}\cmidrule(lr){8-8}
Lower Silesia
& 1100 & 1.15 & 1.25 & 1.45 & 1 & 220 & 20 \\
Kuyavian-Pomeranian
& 1.5 & 1.8 & 1.9 & 2.2 & 1.5 & 20 & 20 \\
Lublin
& 2 & 2.3 & 2.5 & 2.9 & 2 & 20 & 20 \\
Lubusz
& 3 & 2.9 & 3.1 & 3.6 & 2.5 & 20 & 20 \\
Lodz
& 3.5 & 3.5 & 10.8 & 4.3 & 20 & 20 & 20 \\
Lesser Poland
& 3.5 & 3.5 & 3.8 & 4.3 & 20 & 20 & 29 \\
Mazowieckie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Opole
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Subcarpathian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Podlasie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Silesian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Pomorskie
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
Silesian
& 3.5 & 3.5 & 3.8 & 4.3 & 3 & 264 & {---} \\
\bottomrule
\end{tabular*}
\end{table}
\end{frame}
\end{document}