我有几个表格,我需要在一页中放两个表格,但我的表格有点大,一页放不下两个,有人能给我推荐一个解决方案吗?也许是调整大小。下面是我的一个表格的代码:
\begin{table}[h!]
\centering
\caption{Мал бүртгэх use case-ийн тодорхойлолт.}
\begin{longtable}{|l|p{10cm}|}
\hline
Нэр: & Мал бүртгэх. \\
\hline
ID: & 1 \\
\hline
Товч тайлбар: & Програмийг анх хэрэглэж эхлэхэд байгаа малаа \newline бүртгэх.\\
\hline
Үндсэн тоглогч: & Малчин. \\
\hline
Нэмэлт тоглогч: & Байхгүй. \\
\hline
Өмнөх нөхцөл: & 1. Хэрэглэгч Үндсэн цонхноос Малын бүртгэл цонх руу шилжсэн байх. \\
\hline
Үндсэн урсгал: & 1. Бүртгэх малын төрөлөө сонгосноор энэ use case эхэлнэ. \newline
2. Бүртгэх малын тоо толгой, төл малын тоо \newline талбаруудад өгөгдлүүд оруулна. \newline
3. Огноо сонгоно, сонгохгүй бол тухайн өдрийн \newline огноог автоматаар авна.\newline
4. Бүртгэх товч дарахад бүртгэл өгөгдлийн санд \newline нэмэгдэнэ.\newline
5. Програмаас бүртгэл амжилттай болсон \newline тухай мэдээлэл өгнө. \\
\hline
Дараах нөхцөл: & 1. Мал бүртгэл нэмэгдсэн байна.\\
\hline
Альтернатив урсгал & 1. Тухайн төрлийн мал өмнө нь бүртгэгдсэн байвал давхардсан бүртгэл хийхгүй.\\
\hline
\end{longtable}
\label{table:1}
\end{table}
我正在使用tabular
而不是longtable
,我认为 longtables 可能会解决我的问题,但它似乎与 tabular 相同,至少在我的情况下是这样。
答案1
正如其他人在评论中指出的那样,绝不将环境包裹longtable
在table
环境中。另一方面,如果你这样做不是想要允许表格内容内有分页符,不使用环境longtable
。下面提供的代码和屏幕截图说明了这两种方法。请注意,对于没有分页符的解决方案,我建议使用环境tabularx
;这将大大简化设置表格的方式,使它们都共享相同的宽度(可能:)\textwidth
。一个单独的建议:请考虑通过不使用来让您的表格看起来更“开放”任何垂直线以及数量较少但间距适当的水平线。
最后,不要使用任何\linebreak
或\newline
指令;它们不是必需的。只需使用空行来表示段落分隔符的等价物即可。
% !TeX program = xelatex % or: lualatex
\documentclass{article}
\usepackage[russian]{babel} % or bulgarian, or...??
\usepackage{longtable,array,booktabs,tabularx,ragged2e}
\usepackage[vmargin=1cm]{geometry}
\setlength\textwidth{12.2cm} % choose this parameter suitably
\usepackage[skip=0.333\baselineskip]{caption}
% Choose a font that features Cyrillic glyphs
\usepackage{fontspec}
\setmainfont{EB Garamond}[Numbers=Lining]
\begin{document}
\begingroup
\setlength\extrarowheight{2pt}
\begin{longtable}{|l|p{8.4cm}|}
\caption{Мал бүртгэх use case-ийн тодорхойлолт.}
\label{table1}\\
\hline
Нэр & Мал бүртгэх. \\
\hline
ID & 1 \\
\hline
Товч тайлбар & Програмийг анх хэрэглэж эхлэхэд байгаа малаа бүртгэх.\\
\hline
Үндсэн тоглогч & Малчин. \\
\hline
Нэмэлт тоглогч & Байхгүй. \\
\hline
Өмнөх нөхцөл &
1. Хэрэглэгч Үндсэн цонхноос Малын бүртгэл цонх руу шилжсэн байх. \\
\hline
Үндсэн урсгал & % No more "\newline" directives!
1. Бүртгэх малын төрөлөө сонгосноор энэ use case эхэлнэ.
2. Бүртгэх малын тоо толгой, төл малын тоо талбаруудад өгөгдлүүд оруулна.
3. Огноо сонгоно, сонгохгүй бол тухайн өдрийн огноог автоматаар авна.
4. Бүртгэх товч дарахад бүртгэл өгөгдлийн санд нэмэгдэнэ.
5. Програмаас бүртгэл амжилттай болсон тухай мэдээлэл өгнө. \\
\hline
Дараах нөхцөл &
1. Мал бүртгэл нэмэгдсэн байна.\\
\hline
Альтернатив урсгал &
1. Тухайн төрлийн мал өмнө нь бүртгэгдсэн байвал давхардсан бүртгэл хийхгүй.\\
\hline
\end{longtable}
\endgroup
\begin{table}[h!]
\caption{Мал бүртгэх use case-ийн тодорхойлолт.}
\label{table2}
\centering
\begin{tabularx}{\textwidth}{@{}l>{\RaggedRight\arraybackslash}X@{}}
\toprule
Нэр & Мал бүртгэх. \\
\addlinespace
ID & 1 \\
\addlinespace
Товч тайлбар & Програмийг анх хэрэглэж эхлэхэд
байгаа малаа бүртгэх.\\
\addlinespace
Үндсэн тоглогч & Малчин. \\
\addlinespace
Нэмэлт тоглогч & Байхгүй. \\
\addlinespace
Өмнөх нөхцөл &
1. Хэрэглэгч Үндсэн цонхноос Малын бүртгэл цонх руу шилжсэн байх. \\
\addlinespace
Үндсэн урсгал &
1. Бүртгэх малын төрөлөө сонгосноор энэ use case эхэлнэ.
2. Бүртгэх малын тоо толгой, төл малын тоо талбаруудад өгөгдлүүд оруулна.
3. Огноо сонгоно, сонгохгүй бол тухайн өдрийн огноог автоматаар авна.
4. Бүртгэх товч дарахад бүртгэл өгөгдлийн санд нэмэгдэнэ.
5. Програмаас бүртгэл амжилттай болсон тухай мэдээлэл өгнө. \\
\addlinespace
Дараах нөхцөл &
1. Мал бүртгэл нэмэгдсэн байна.\\
\addlinespace
Альтернатив урсгал &
1. Тухайн төрлийн мал өмнө нь бүртгэгдсэн байвал давхардсан бүртгэл хийхгүй.\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}