在 tabularx 中使用 compactlist 进行对齐的问题

在 tabularx 中使用 compactlist 进行对齐的问题

我用 tabularx 包创建了一个表格。在单元格中我使用 compactitem 创建了一个列表。首先我遇到了左边距的问题。为了解决这个问题我使用了\setlength{\leftmargini}{0pt}。但现在我遇到了一个问题,当有换行符时,句子从项目符号下方开始,没有缩进。有人能帮我解决这个问题吗?可能还有其他可以做得更好的事情,但这是我第一次使用 TeX :)

\makeatletter
\def\MPT{\@minipagetrue}
\makeatother
\begin{tabularx}{\textwidth}{|>{\centering\arraybackslash}l|X|X|X|}   %vier Spalten
\hline
\rowcolor[gray]{0.75}
\textbf{} & \textbf{Herkömmlicher Festpreis} & \textbf{Time \& Material} & \textbf{Agiler Festpreis} \\ \hline\hline
\centering\multirow{2}{*}{\begin{sideways}\parbox{40mm}{Kunde}\end{sideways}}
&
-
&
--
&
++
\\
\cline{2-4}
&
\setlength{\leftmargini}{0pt}
\begin{compactitem}
\setlength{\itemsep}{-1\parsep}
\MPT
\item Budgetsicherheit ist nicht gegeben, der Preis basiert nur auf Schätzwert um wieviel der ursprüngliche Festpreis überschritten wird
\item Risiko der Budgetsicherheit ist zwar geteilt, aber meist stärker auf Kundenseite
\vspace{-0.5cm}
\end{compactitem}
&
\setlength{\leftmargini}{0pt}
\begin{compactitem}
\setlength{\itemsep}{-1\parsep}
\MPT
\item Kunde kann die Aufwände im Detail im Budgetrahmen steuern
\item Hoher Kontrollaufwand um Qualität sicherzustellen
\item Das gesamte Risiko der Budgetsicherheit liegt auf Kundenseite
\item Gesamtkosten sind für Auftraggeber theoretisch unbegrenzt
\vspace{-0.5cm}
\end{compactitem}
&
\setlength{\leftmargini}{0pt}
\begin{compactitem}
\setlength{\itemsep}{-1\parsep}
\MPT
\item Kunde legt gemeinsam mit Lieferant den Budgetrahmen und Riskshare fest
\item Qualität bleibt während des Projekts nachvollziehbar
\item Kunde kann Aufwände im Budgetrahmen steuern
\vspace{-0.5cm}
\end{compactitem}
\\ \hline
\end{tabularx}

答案1

我更喜欢使用enumitem而不是paralist;两者都没有必要multirow。注意我如何设置垂直标签;调整降低量。同样>{\centering}l没有任何意义:使用c

\documentclass{article}
\usepackage{enumitem,tabularx,colortbl,graphicx}
\newenvironment{compactitem}
  {\begin{itemize}[nosep,leftmargin=*]}
  {\end{itemize}}

\makeatletter
% I'd prefer this
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
% Use the following if you really don't want any space above the lists
%\newcolumntype{Y}{>{\@minipagetrue\raggedright\arraybackslash}X}
\makeatother

\begin{document}
\noindent % just for the example
\begin{tabularx}{\textwidth}{|c|Y|Y|Y|}
\hline
\rowcolor[gray]{0.75}
  & \textbf{Herkömmlicher Festpreis} & \textbf{Time \& Material} &
    \textbf{Agiler Festpreis} \\ \hline\hline
\raisebox{-20ex}[0pt][0pt]{\rotatebox[origin=center]{90}{Kunde}} &
  - & -- & ++ \\
\cline{2-4}
&
\begin{compactitem}
\item Budgetsicherheit ist nicht gegeben, der Preis basiert nur auf Schätzwert um wieviel der ursprüngliche Festpreis überschritten wird
\item Risiko der Budgetsicherheit ist zwar geteilt, aber meist stärker auf Kundenseite
\end{compactitem}
&
\begin{compactitem}
\item Kunde kann die Aufwände im Detail im Budgetrahmen steuern
\item Hoher Kontrollaufwand um Qualität sicherzustellen
\item Das gesamte Risiko der Budgetsicherheit liegt auf Kundenseite
\item Gesamtkosten sind für Auftraggeber theoretisch unbegrenzt
\end{compactitem}
&
\begin{compactitem}
\item Kunde legt gemeinsam mit Lieferant den Budgetrahmen und Riskshare fest
\item Qualität bleibt während des Projekts nachvollziehbar
\item Kunde kann Aufwände im Budgetrahmen steuern
\end{compactitem}
\\ \hline
\end{tabularx}
\end{document}

在此处输入图片描述

相关内容