列の間に垂直線を追加する

列の間に垂直線を追加する

論文の付録用の表を作成しているのですが、特定の表で次のような問題が発生しています。

  • 表は次のページから始まります。表を複数のページに分割したい場合は何を変更すればよいでしょうか?
  • 2 列目と 3 列目の間に縦線を追加したいと思います (1 列目と 2 列目に表示されている情報は、3 列目と 4 列目に表示されている情報と同じであるため)。

私が使用したコードとその結果を示します (ドキュメント内の他のテーブルにはすでに newcolumntypes を使用していることに注意してください)。テーブルは付録 B の後から開始する必要があります。

\usepackage{array,ragged2e}
\newcolumntype{C}{>{\Centering\hspace{0pt}}p{0.1\textwidth}}
\usepackage[output-decimal-marker={,}]{siunitx}

\usepackage{booktabs, makecell, tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}

\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}


\section{Suppliers´ production capabilities}
\begin{table}[ht]
\resizebox{\textwidth}{!}{%
\begin{tabular}{lllll}
\toprule
\multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} & \multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} \\
\midrule
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords & Texttexttexttexttexttexttex & Wordswordswordswordswordswords       \\
Texttexttexttexttexttextt & Wordswordswordswordswordswords        \\
 \bottomrule                                  
\end{tabular}%
}
\caption{Supplier facilities´ production capabilities }
\label{tab:my-table}
\end{table}

ここに画像の説明を入力してください

この問題についてご協力いただければ大変ありがたく思います。

答え1

ベースのソリューションを以下に示しますlongtable。4 つの列すべてで自動改行が可能です。列の幅は等しく、利用可能な最大幅を占めるように計算されます。

ここに画像の説明を入力してください

\documentclass{article}
\usepackage[hmargin=1in]{geometry} % set page parameters suitably
\usepackage{longtable,array,ragged2e}
\newlength\mylen
\setlength\mylen{\dimexpr0.25\textwidth-1.5\tabcolsep-0.25\arrayrulewidth\relax}
\newcolumntype{Z}{>{\RaggedRight}p{\mylen}}
\begin{document}

\section{Suppliers' production capabilities}

\setlength{\extrarowheight}{2pt}
\begin{longtable}{@{} ZZ | ZZ @{}}

%%% headers and footers:

\caption{Supplier facilities' production capabilities }
\label{tab:my-table}\\
\hline
\textbf{Facility Name} & \textbf{Product} & 
\textbf{Facility Name} & \textbf{Product} \\
\hline
\endfirsthead

\multicolumn{4}{@{}l}{Table \thetable, cont'd}\\[1ex]
\hline
\textbf{Facility Name} & \textbf{Product} & 
\textbf{Facility Name} & \textbf{Product} \\
\hline
\endhead

\hline
\multicolumn{4}{r@{}}{\footnotesize cont'd on following page}\\
\endfoot

\hline
\endlastfoot

%%% Body of table

Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
Texttext texttextt exttextt & Wordswordswords wordswordswords & Texttext texttextt exttexttex exttexttex & Wordswordswords wordswordswords \\
\end{longtable}
\end{document}

答え2

使い方は次のとおりですxltabular。longtableと同じ構文ですが、合計幅を宣言します。特に、longtableでは環境は使用しませんtable(フロートではありません)。キャプションはテーブルに組み込まれ、ファーストヘッドセクション。

    \documentclass{article}
    \usepackage{array,ragged2e}
\newcolumntype{C}{>{\Centering\hspace{0pt}}p{0.1\textwidth}}
\usepackage[output-decimal-marker={,}]{siunitx}
\usepackage{lipsum}
\usepackage{booktabs, makecell, xltabular}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}

\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}


\begin{document}

\section{Suppliers´ production capabilities}
\lipsum[1-3]

\begin{xltabular}{\textwidth}{*{4}{L}}
\caption{Supplier facilities´ production capabilities }
\label{tab:my-table} \\
\toprule
\multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} & \multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} \\
\midrule
\endfirsthead
{\footnotesize (Continued)}\\
\toprule
\multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} & \multicolumn{1}{c}{\textbf{Facility Name}} & \multicolumn{1}{c}{\textbf{Product}} \\
\midrule
\endhead
\midrule
\multicolumn{4}{r}{\footnotesize (to be continued)}
\endfoot
\bottomrule
\endlastfoot
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words & Text text text text text text tex & Words words words words words words \\ \addlinespace
Text text text text text textt & Words words words words words words \
\end{xltabular}%

\end{document} 

ここに画像の説明を入力してください

関連情報