我在一个单独的项目中制作了这个表格,然后将其代码粘贴到我的原始项目中。(我正在使用一个侧面项目,因为原始项目有许多高分辨率图片并且需要很长时间才能编译)。但是,当我将其粘贴到我的原始文档/项目中时,这是我得到的结果。 。
下面是我使用的代码(我是 Latex 的新手,正在尝试找到解决方法
newcommand{\tabitem}{~~\llap{\textbullet}~~}
\begin{table}[h]
\begin{center}
\caption{Entscheidende Vor-und Nachteile bei der Auswahl der Ausrichtung der Anordnung}
\label{tab: Entscheidende Vor-und Nachteile bei der Auswahl der Ausrichtung der Anordnung}
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{|c|p{7cm}|p{7cm}|}
\hline
- & \hspace{1cm} \textbf{Aufrechte Ausrichtung} &
\hspace{1cm} \textbf{Waagerechte Ausrichtung} \\
\hline
\textbf{Vorteile} & \tabitem Einfache Positionierung der einzelnen Kom- & \tabitem Tiefer Schwerpunkt der Versuchsanordnung \\
& \hspace{3mm} ponenten im Endbereich & \tabitem Einfache Montage der gesamten Anordnung \\
\hline
\textbf{Nachteile} & \tabitem Mechanisch aufwändig & \tabitem Aufwendige Positionierung der Komponen- \\
& \tabitem Kegelradgetriebe zur Drehmomentübertra- & \hspace{5mm}ten im Endbereich\\
&\hspace{5mm}gung erforderlich&\\ \hline
\end{tabular}
\end{center}
\end{table}
有人知道为什么会发生这种情况吗?你对如何获得如图 1 所示的表格有什么提示吗?我试过 itemize、ennumerate,但每次我的水平间距似乎都存在问题,因为如你所见,每个单元格都包含一个长句子。任何事情都会很有帮助。
答案1
一些建议:
加载
tabularx
包及其tabularx
环境以确保表格适合文本块的宽度。加载
enumitem
包及其\newlist
宏\setlist
来创建定制的列表类型环境(\tabitemize
在下面的代码中调用)以用于表格单元格。这样,您就不必手动应用换行符了。
具体思路请参见下面的代码。
\documentclass{report} % or some other suitable document class
\usepackage[ngerman]{babel}
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight}X} % ragged-right, allow hyphenation
% Create a bespoke itemize-like environment for use in table cells
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize,1]{label=\textbullet, left=0pt, nosep,
before={\begin{minipage}[t]{\linewidth}},
after ={\end{minipage}}}
\begin{document}
\begin{table}[h]
\setlength\extrarowheight{2pt} % for a slightl more open "look"
\caption{Entscheidende Vor-und Nachteile bei der
Auswahl der Ausrichtung der Anordnung}
\label{tab:Entscheidende-Vor-und Nachteile}
\begin{tabularx}{\textwidth}{|l|L|L|}
\hline
& Aufrechte Ausrichtung & Waagerechte Ausrichtung \\
\hline
Vorteile
& \begin{tabitemize}
\item Einfache Positionierung der einzelnen Komponenten im Endbereich
\end{tabitemize}
& \begin{tabitemize}
\item Tiefer Schwerpunkt der Versuchsanordnung
\item Einfache Montage der gesamten Anordnung
\end{tabitemize}
\\
\hline
Nachteile
& \begin{tabitemize}
\item Mechanisch aufwändig
\item Kegelradgetriebe zur Drehmomentübertragung erforderlich
\end{tabitemize}
& \begin{tabitemize}
\item Aufwendige Positionierung der Komponenten im Endbereich
\end{tabitemize}
\\
\hline
\end{tabularx}
\end{table}
\end{document}
答案2
此示例使用包。它提供了允许将内容置于单元格中心的nicematrix
命令。\Block{}{<content>}
它还识别类型X
列,这使得表格能够适合整个文本区域。
表格的垂直和水平规则由指令控制hvlines
,在本例中,避开空白的左上角。
这是完整的代码。由于它使用 PGF/TikZ 工作,因此需要多次编译。
开头的命令\listfiles
将生成所有已加载文件的列表,可在文件末尾找到.log
。
检查是否找到
nicematrix.sty 2021/09/09 v6.2 Enhanced arrays with the help of PGF/TikZ
如果您的版本较旧,请更新软件包。
\listfiles
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{nicematrix}% added <<<<<<<<<<
\usepackage{enumitem}
\usepackage{ragged2e}
\begin{document}
% set list itemize and the X column
\setlist{noitemsep}
\setlist[1]{labelindent=\parindent}
\setlist[itemize]{leftmargin=*}
\newcolumntype{L}{>{\RaggedRight}X}
\begin{table}[h]
\centering\small
\caption{Entscheidende Vor-und Nachteile bei der Auswahl der Ausrichtung der Anordnung}
\label{tab: Entscheidende Vor-und Nachteile bei der Auswahl der Ausrichtung der Anordnung}
\vspace*{0.5\baselineskip}
\begin{NiceTabular}[width=\textwidth]{c L L}[cell-space-limits = 6pt, hvlines,corners]
& \Block{}<\bfseries>{\centering Aufrechte Ausrichtung} & \Block{}<\bfseries>{\centering Waagerechte Ausrichtung}\\
\textbf{Vorteile}
& \Block{}{\begin{itemize} \item Einfache Positionierung der einzelnen Komponenten im Endbereich\end{itemize}}
& \Block{}{\begin{itemize}
\item Tiefer Schwerpunkt der Versuchsanordnung
\item Einfache Montage der gesamten Anordnung
\end{itemize}}\\
\textbf{Nachteile}
& \Block{}{\begin{itemize}
\item Mechanisch aufwändig
\item Kegelradgetriebe zur Drehmomentübertragung erforderlich
\end{itemize}}
& \Block{}{\begin{itemize} \item Aufwendige Positionierung der Komponenten im Endbereich \end{itemize}}\\
\end{NiceTabular}
\end{table}
\end{document}
答案3
这是诀窍。使用 minipage。我在这里给出了一个例子。可以调整 minipage 的位置
\documentclass{article}
\begin{document}
\begin{tabular}{|c|p{4cm}|c|}\hline
& b&c \\\hline
A &\begin{minipage}[t] {0.4\textwidth}
\begin{itemize}
\item apple
\item Banana
\end{itemize}
\end{minipage} & One can have some more\\\hline
\begin{minipage}[m] {0.4\textwidth}
\begin{itemize}
\item apple
\item Banana
\end{itemize}
\end{minipage} & This can be done &\begin{minipage}[m] {0.4\textwidth}
\begin{itemize}
\item colour
\item blue
\item red
\end{itemize}
\end{minipage}\\\hline
\end{tabular}
\end{document}