我想在表格中使用项目符号列表。我的问题是左侧空间很大,我的表格基本上有一半是空的。
\tabitem
所以我在 StackExchange 上搜索解决方案并找到了一个。它引入了不需要的命令\begin{itemize}
,并且不会占用左侧太多空间(尽管仍然可以更少)。
\tabitem
定义如下:
\newcommand{\tabitem}{~~\llap{\textbullet}~~}
然而,它也有自己的问题:左侧的空间并不是到处都一样。看一下这个表格:
此外,我想要第二级缩进。所以我尝试使用正常缩进\begin{itemize}
,\item
因为无论如何它都会在左侧留出大量空间。
\begin{table}
\begin{tabularx}{\textwidth}{|>{\setlength\hsize{0.33\hsize}\setlength\linewidth{\hsize}}X|>{\setlength\hsize{0.33\hsize}\setlength\linewidth{\hsize}}X|>{\setlength\hsize{0.33\hsize}\setlength\linewidth{\hsize}}X|}
\hline
I-Dateneinheiten & S-Dateneinheiten & U-Dateneinheiten \\
\hline
\tabitem Datenübertragung
\begin{itemize}
\item Bei gesetztem Poll-Bit: Empfänger muss mit Quittung reagieren.
\item Sequenznummer N(R) quittiert korrekten Empfang aller Dateneinheiten bis N(R)-1.
\end{itemize}
&
\tabitem Steuerung des Datenflusses
\begin{itemize}
\item z.B. Sendeaufruf, Bestätigung empfangener Daten, ...
\item Kodierung der Befehle bzw. Meldungen durch S-Bits (Supervisory Funktionsbits)
\end{itemize}
&
\tabitem Steuerung der Verbindung
\begin{itemize}
\item keine Empfangsfolgenummern
\item Kodierung durch M-Bits (Modifier Funktionsbits)
\end{itemize}
\\
\hline
\end{tabularx}
\end{table}
但是,正如您所看到的,它并没有在中间或右列中脱颖而出,因为\tabitem
它的文本没有放在足够靠左的位置。
如何修复此问题?
我想要的东西的摘要:
- 物品不浪费左侧的空间。
- 至少 2 级缩进。
答案1
这是一个基于 的解决方案enumitem
:它包括使用itemize
带有选项 的环境wide=0pt,leftmargin=*
,并定义一个tabitemize
环境,该环境可消除垂直跳跃,如果单元格的内容必须以itemize
环境开头,则使用该环境。此外,我简化了您对列的使用X
:
\documentclass{report}
\usepackage{booktabs, array, enumitem, ragged2e, tabularx, makecell}
\setcellgapes{4pt}
\usepackage[showframe]{geometry}
\newcommand{\tablistcommand}{%
\leavevmode\par\vspace{-\baselineskip}%
}
\newlist{tabitemize}{itemize}{1}
\setlist[tabitemize]{%
leftmargin = * ,
label = \textbullet ,
nosep ,
before = \tablistcommand ,
after = \tablistcommand
}
\begin{document}
\thispagestyle{empty}
\begin{table}
\makegapedcells
\begin{tabularx}{\linewidth}{|*{3}{>{\RaggedRight\arraybackslash}X|}}
\hline
I-Dateneinheiten & S-Dateneinheiten & U-Dateneinheiten \\
\hline
\begin{tabitemize}%
\item Datenübertragung
\begin{itemize}[wide=0pt, leftmargin=0pt]
\item Bei gesetztem Poll-Bit: Empfänger muss mit Quittung reagieren.
\item Sequenznummer N(R) quittiert korrekten Empfang aller Dateneinheiten bis N(R)-1.
\end{itemize}
\end{tabitemize}
&
\begin{tabitemize}%
\item Steuerung des Datenflusses
\begin{itemize}[wide=0pt, leftmargin=0pt]
\item z.B. Sendeaufruf, Bestätigung empfangener Daten, ...
\item Kodierung der Befehle bzw. Meldungen durch S-Bits (Supervisory Funktionsbits)
\end{itemize}
\end{tabitemize}
&
\begin{tabitemize}%
\item Steuerung der Verbindung
\begin{itemize}[wide=0pt, leftmargin=0pt]
\item keine Empfangsfolgenummern
\item Kodierung durch M-Bits (Modifier Funktionsbits)
\end{itemize}
\end{tabitemize}
\\[-4pt]
\hline
\end{tabularx}
\end{table}
\end{document}