
Ich schreibe ein langes Dokument, bis ich an einem Punkt angelangt bin, an dem ich meinen Arbeitsplan in eine Tabelle schreiben kann. Jetzt möchte ich den Zeitplan für jede Aktivität festlegen, um ihn an der entsprechenden Aufgabe auszurichten.
MSE unten:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{floatrow}
\usepackage{tabularx}
\begin{document}
\begin{table}[h]
\caption{Table of activities}
\label{tblactivity}
\centering
\begin{tabular}{lccc}
\toprule
\textbf{No.} & \textbf{Activity} & \textbf{Task(s) to be completed} &
\textbf{Timeline}\\
\midrule
\textbf{1} &\multicolumn{1}{m{3cm}}{\textbf{\textit{Activity number 1}}} & \multicolumn{1}{m{7cm}}{ \begin{enumerate}
\item Some long sentence here, describing task 1 of activity 1
\item Another long sentence here, describing task 2 of activity 1
\item Yet another long sentence here, describing task 3 of activity 1
\item Activity 1 task 4 ...
\end{enumerate} } &
\\
\midrule
\textbf{2} & \multicolumn{1}{m{3cm}}{\textbf{\textit{Activity number 2}}} & \multicolumn{1}{m{7cm}}{ \begin{enumerate}
\item Activity 2 task 1
\item Activity 2 task 2
\item Activity 2 task 3
\end{enumerate} } \\
\bottomrule
\end{tabular}
\hfill
\end{table}
\end{document}
Für jede Aufgabe 1, 2, 3 und 4 von Aktivität 1 (z. B. 2 Monate, 2 Monate, 1 Monat, 1 Monat) möchte ich die Frist so festlegen, dass die Zeit mit der Aufgabe übereinstimmt. Das gilt auch für Aktivität 2 usw.
Antwort1
Die einfachste Möglichkeit, die Fristen mit den Aufgaben abzustimmen, besteht wahrscheinlich darin, keine enumerate
Umgebungen zu verwenden und jede Aufgabe in einer separaten Zelle in der Tabelle zu platzieren. Auf diese Weise können Sie jede Frist problemlos in einer eigenen Zelle platzieren, die der entsprechenden Aufgabe angemessen zugeordnet ist.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{floatrow}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[h]
\caption{Table of activities}
\label{tblactivity}
\centering
\begin{tabular}{llp{1mm}p{6cm}p{2cm}}
\toprule
\textbf{No.} & \multicolumn{1}{c}{\textbf{Activity}} && \textbf{Task(s) to be completed} &
\textbf{Timeline}\\
\midrule
\multirow{7}{*}{\textbf{1}} & \multirow{7}{*}{\textbf{\textit{Activity number 1}}}
& 1. & Some long sentence here, describing task 1 of activity 1 & Deadline 1 \\
&& 2. & Another long sentence here, describing task 2 of activity 1 & Deadline 2 \\
&& 3. & Yet another long sentence here, describing task 3 of activity 1 & Deadline 3 \\
&& 4. & Activity 1 task 4 & Deadline 4 \\
\midrule
\multirow{3}{*}{\textbf{2}} & \multirow{3}{*}{\textbf{\textit{Activity number 2}}}
& 1. & Activity 2 task 1 & Deadline 1 \\
&& 2. & Activity 2 task 2 & Deadline 2 \\
&& 3. & Activity 2 task 3 & Deadline 3 \\
\bottomrule
\end{tabular}
\hfill
\end{table}
\end{document}
Antwort2
Mit der Definition eines speziellen Spaltentyps , der Folgendes E
integriert hat enumerate
:minipage
\documentclass{article}
\usepackage{ragged2e}
\usepackage{booktabs, makecell, multirow, tabularx}
\newcolumntype{E}{ >{\csname @minipagetrue\endcsname% list is in minipage env.
\RaggedRight\enumerate}X<{\endenumerate}} % <---
\newcommand*\mcc[1]{\multicolumn{1}{>{\bfseries}l}{#1}} % <---
\usepackage{enumitem}
\begin{document}
\begin{table}
\setcellgapes{1pt}
\makegapedcells
\setlist[enumerate]{%
resume=column, % ensure sequential numbering
nosep,
leftmargin=*,
label=\arabic*.,
after=\vspace*{-\baselineskip}
}
\begin{tabularx}{\linewidth}{@{} c >{\RaggedRight}p{17mm} E l @{}}
\toprule
\mcc{No.}
& \mcc{Activity}
& \mcc{Task(s) to be completed} & \mcc{Timeline} \\
\midrule
1 & \multirow[t]{4}{=}{Activity number 1}
& \setcounter{enumi}{0} %%%% <------- start numbering with 1
\item Some long sentence here,
describing task 1 of activity 1 & monday \\
& & \item Another long sentence here,
describing task 2 of activity 1 & in 2 weeks \\
& & \item Yet another long sentence here,
describing task 3 of activity 1 & timeline \\
& & \item Activity 1 task 4 \dots & timeline \\
\midrule
2 & \multirow[t]{2}{=}{Activity number 2}
& \setcounter{enumi}{0} %%%% <------- restart numbering with 1
\item Some long sentence here,
describing task 1 of activity 1 & monday \\
& & \item Another long sentence here,
describing task 2 of activity 1 & in 2 weeks \\
& & \item Yet another long sentence here,
describing task 3 of activity 1 & timeline \\
& & \item Activity 1 task 4 \dots & timeline \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Antwort3
Hier ist mein Vorschlag enumitem
, einen benutzerdefinierten Befehl zu verwenden, um Tipparbeit zu sparen. Ich habe auch verwendet, tabularx
um die Tabelle an die Textbreite anzupassen. Ich habe auch ein alternatives Layout mit weniger Leerraum in den linken Spalten hinzugefügt:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{enumitem}
\newcommand{\mytabenum}[2][resume=mylist]{\begin{enumerate}[#1, label*=\arabic*.,leftmargin=*,nosep,leftmargin=*,before=\vspace{-0.5\baselineskip},after=\vspace{-1\baselineskip}]\item #2 \end{enumerate}}
\begin{document}
\begin{table}[h]
\caption{Table of activities}
\label{tblactivity}
\centering
\begin{tabularx}{\textwidth}{l>{\raggedright\arraybackslash}p{1.5cm}Xl}
\toprule
\textbf{No.} & \textbf{Activity} & \textbf{Task(s) to be completed} & \textbf{Timeline}\\
\midrule
1 & Activity number 1 & \mytabenum[series=mylist]{Some long sentence here, describing task 1 of activity 1} & monday \\
& & \mytabenum{Another long sentence here, describing task 2 of activity 1} & in 2 weeks\\
& & \mytabenum{Yet another long sentence here, describing task 3 of activity 1} & timeline\\
& & \mytabenum{Activity 1 task 4 ...} & timeline\\
\midrule
2 & Activity number 2 & \mytabenum[series=mylist]{Some long sentence here, describing task 1 of activity 1} & monday \\
& & \mytabenum{Another long sentence here, describing task 2 of activity 1} & in 2 weeks\\
& & \mytabenum{Yet another long sentence here, describing task 3 of activity 1} & timeline\\
& & \mytabenum{Activity 1 task 4 ...} & timeline\\
\bottomrule
\end{tabularx}
\end{table}
\begin{table}[h]
\caption{Table of activities}
\label{tblactivity}
\centering
\begin{tabularx}{\textwidth}{p{\tabcolsep}Xl}
\toprule
& \textbf{Task(s) to be completed} & \textbf{Timeline}\\
\midrule
\multicolumn{3}{l}{1 Activity number 1} \\
& \mytabenum[series=mylist]{Some long sentence here, describing task 1 of activity 1} & monday \\
& \mytabenum{Another long sentence here, describing task 2 of activity 1} & in 2 weeks\\
& \mytabenum{Yet another long sentence here, describing task 3 of activity 1} & timeline\\
& \mytabenum{Activity 1 task 4 ...} & timeline\\
\midrule
\multicolumn{3}{l}{2 Activity number 2} \\
& \mytabenum[series=mylist]{Some long sentence here, describing task 1 of activity 1} & monday \\
& \mytabenum{Another long sentence here, describing task 2 of activity 1} & in 2 weeks\\
& \mytabenum{Yet another long sentence here, describing task 3 of activity 1} & timeline\\
& \mytabenum{Activity 1 task 4 ...} & timeline\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}