
我正在為論文附錄建立表格,但特定表格有以下問題:
- 我的表格從下一頁開始。如果我希望我的表格分成幾頁,我該更改什麼?
- 我想在第二列和第三列之間新增一條垂直線(因為第 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
基於 - 的解決方案。所有四列都允許自動換行。列寬相等並經過計算以佔據最大可用寬度。
\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 相同,只是聲明了總寬度。特別是,在長表中,您不使用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}