使用 itemize 制作表格时遇到困难

使用 itemize 制作表格时遇到困难

我在这里遇到了一个小问题。我试图让表格显示在下图中在此处输入图片描述

我在一个单独的项目中制作了这个表格,然后将其代码粘贴到我的原始项目中。(我正在使用一个侧面项目,因为原始项目有许多高分辨率图片并且需要很长时间才能编译)。但是,当我将其粘贴到我的原始文档/项目中时,这是我得到的结果。 在此处输入图片描述

下面是我使用的代码(我是 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,在本例中,避开空白的左上角。

C

这是完整的代码。由于它使用 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}

相关内容