これは私のファイルです:
\documentclass[a4paper]{article}
\usepackage{multirow, tabularx}
\begin{document}
\begin{table}[!ht]
\renewcommand\arraystretch{1.5}
\newcommand\mcl[1]{\multicolumn{3}{l|}{#1}}
\caption{Tabella di Cockburn}
\begin{tabularx}{\linewidth}{|l|>{\hsize=0.4\hsize}X|
>{\hsize=1.8\hsize}X|
>{\hsize=0.8\hsize}X|}
\hline
Use Case \#N & \mcl{Login} \\
\hline
Goal in Context & \mcl{Per identificarsi} \\
\hline
Preconditions & \mcl{L'utente deve avere già un account} \\
\hline
Success End Conditions
& \mcl{L'utente è stato identificato nel sistema} \\
\hline
Failed End Conditions
& \multicolumn{3}{>{\hsize=\dimexpr3\hsize+6\tabcolsep+3\arrayrulewidth}X|}{
Lorem ipsum dolor sit amet, consectetur adipiscing elit.} \\
\hline
Primary Actor & \mcl{Attore principale dello UC} \\
\hline
Trigger & \mcl{Azione principale dell'attore che attiva lo UC} \\
\hline
Description & Step & User Action & System \\ \cline{2-4}
& 1 & L'utente clicca OK & \\ \cline{2-4}
& 2 & & Mostra M1 \\ \cline{2-4}
& 3 & L'utente clicca Cliccami & \\ \cline{2-4}
& 4 & & Chiude \\
\hline
Extensions & Step & User Action & System \\ \cline{2-4}
& & & \\
\hline
Subvariations & Step & User Action & System \\ \cline{2-4}
& & & \\
\hline
Notes & & & \\
\hline
\end{tabularx}
\end{table}
\end{document}
これがこれにつながる
User Action
の右側に、 などの入力可能な別の列が存在するようにファイルを編集するにはどうすればよいでしょうかUser Action
。次の図に示すように:
答え1
私のコメントを回答に変更させてください。以下の MWE では、コード内のコメントで説明されている MWE と比較したすべての変更点があります。
\documentclass[a4paper]{article}
\usepackage{makecell, tabularx}
\renewcommand\theadfont{\small\bfseries} % for headers in "description" row
\renewcommand\theadgape{} % removed aditional vertical space around \thead
\newlength{\pwidth}
\usepackage{lipsum} % for generating dummy test
\begin{document}
\begin{table}[!ht]
\setcellgapes{2pt}
\makegapedcells % for additional vertical space in cells
\setlength\tabcolsep{4pt} % reduce \tabcolspace from default value 6pt,
% with this cell content has 4pt more space
\settowidth\pwidth{Preconditions} % as suggested in my answer
% on one of your previous question
% shortcut \newcommand\mcl[1]{\multicolumn{3}{l|}{#1}} is desingned
% for spanning three column, but with increasing number of columns
% it should now span four columns:
\newcommand\mcl[1]{\multicolumn{4}{l|}{#1}}
\caption{Tabella di Cockburn}
\label{tab:cockburn} % for referencing this table
\begin{tabularx}{\linewidth}{|>{\raggedright}p{\pwidth}|
% Here is inserted additional column. From provided image has the same width
% as last two column. In definig columns width we bear in mind, that sum of
% X column had to be integer number equal to number of X columns in table:
>{\hsize=0.55\hsize}X|
>{\hsize=1.15\hsize}X|
>{\hsize=1.15\hsize}X|
>{\hsize=1.15\hsize}X|}
\hline
% 1 & 2 & 3 & 4 & 5 \\
Use Case \#N & \mcl{Login} \\
\hline
Goal in Context & \mcl{Per identificarsi} \\
\hline
Preconditions & \mcl{L'utente deve avere già un account} \\
\hline
Success End Conditions
& \mcl{L'utente è stato identificato nel sistema} \\
\hline
Failed End Conditions
& \multicolumn{4}% % cell now span 4 columns, 6 \tabcolsep, 3 \arrayrulewidth
{>{\hsize=\dimexpr4\hsize+6\tabcolsep+3\arrayrulewidth}X|}%
{\lipsum[11]} \\
\hline
Primary Actor & \mcl{Attore principale dello UC} \\
\hline
Trigger & \mcl{Azione principale dell'attore che attiva lo UC} \\
\hline
Description & \thead{Step $n$}
& \thead{Attore 1}
& \thead{Attore $n$}
& \thead{SIstema} \\ \cline{2-5}
& 1 & Azzione trigger
& & \\ \cline{2-5}
& 2 & & & Mostra M1 \\ \cline{2-5}
& \dots & Azione 2
& & \\ \cline{2-5}
& $n$ & & & Chiude \\
\hline
\end{tabularx}
\end{table}
\end{document}
答え2
これでうまくいくはずです
\documentclass[a4paper]{article}
\usepackage{multirow, tabularx}
\begin{document}
\begin{table}[!ht]
\renewcommand\arraystretch{1.5}
\newcommand\mcl[1]{\multicolumn{4}{l|}{#1}}
\caption{Tabella di Cockburn}
\begin{tabularx}{\linewidth}
{
|l|>{\hsize=0.4\hsize}X|
>{\hsize=1.8\hsize}X|
>{\hsize=0.8\hsize}X|
>{\hsize=0.8\hsize}X|
}
\hline
Use Case \#N & \mcl{Login} \\
\hline
Goal in Context & \mcl{Per identificarsi} \\
\hline
Preconditions & \mcl{L'utente deve avere già un account} \\
\hline
Success End Conditions
& \mcl{L'utente è stato identificato nel sistema} \\
\hline
Failed End Conditions
& \multicolumn{4}{>{\hsize=\dimexpr3\hsize+6\tabcolsep+3\arrayrulewidth}X|}{
Lorem ipsum dolor sit amet, consectetur adipiscing elit.} \\
\hline
Primary Actor & \mcl{Attore principale dello UC} \\
\hline
Trigger & \mcl{Azione principale dell'attore che attiva lo UC} \\
\hline
Description & Step & Attore 1 & attore n & sistema \\ \cline{2-5}
& 1 & L'utente clicca OK & & \\ \cline{2-5}
& 2 & & Mostra M1 & \\ \cline{2-5}
& 3 & L'utente clicca Cliccami & & \\ \cline{2-5}
& 4 & & Chiude & \\
\hline
Extensions & Step & User Action & System & \\ \cline{2-5}
& & & & \\
\hline
Subvariations & Step & User Action & System & \\ \cline{2-5}
& & & & \\
\hline
Notes & & & & \\
\hline
\end{tabularx}
\end{table}
\end{document}
問題は、\mcl
7 行目に 1 のショートカットとして定義されているコマンドがあることです\multicolumn
。それ自体は問題ありません。ただし、表の後半では、\multicolumn
明示的に使用されています。したがって、複数列の列引数を 3 から 4 に 2 回変更する必要があります。おそらく、問題はここにありました。
\multicolumn
はそれほど長いコマンドではありません。LaTeX を初めて使用する場合は、(既に定義されている) ショートカットを定義する前に、パッケージのネイティブ コマンドを使用するようにしてください。ほとんどのエディターには、時間を節約できる簡単な「検索と置換」機能が備わっています。十分に自信がついたら、コマンド ショートカットを自由に使用してください。
これは、必要な表を私なりに解釈したものです。ドーム状の追加の装飾と、それより少ない装飾があります (表は、列の幅を で強制するほど複雑ではありません。\hsize
どの列を で拡張する必要があり、どの列を拡張する必要がないかを知るだけで済みますX
。たとえば、2 番目や 4 番目などです)。
\documentclass[a4paper]{article}
\usepackage{multirow, tabularx}
\usepackage{booktabs}
\begin{document}
\begin{table}[tb]
\renewcommand\arraystretch{1.5}
\newcommand\mcl[1]{\multicolumn{4}{l}{#1}}
\centering
\caption{Tabella di Cockburn}
\label{tab:tabella-cockburn}
\begin{tabularx}{\textwidth}{llXXl}
\toprule
\textbf{Use Case \#N} & \mcl{\textbf{Login}} \\ \toprule
Goal in Context & \mcl{Per identificarsi} \\ \midrule
Preconditions & \mcl{L'utente deve avere già un account} \\ \midrule
Success End Conditions & \mcl{L'utente è stato identificato nel sistema} \\ \midrule
Failed End Conditions & \mcl{lorem ipsum dolor sit amet} \\ \midrule
Primary Actor & \mcl{Attore principale dello UC} \\ \midrule
Trigger & \mcl{Azione principale dell'attore che attiva lo UC} \\ \midrule
\textsc{Description} & \textbf{Step} & \textbf{Attore 1} & \textbf{Attore $n$} & \textbf{Sistema} \\ \cline{2-5}
& 1 & L'utente clicca OK & & \\ \cline{2-5}
& 2 & & Mostra M1 & \\ \cline{2-5}
& 3 & L'utente clicca Cliccami & & \\ \cline{2-5}
& 4 & & Chiude & \\ \midrule
\textsc{Extensions} & \textbf{Step} & \textbf{Attore 1} & \textbf{Attore $n$} & \textbf{Sistema} \\ \cline{2-5}
& & & & \\ \midrule
\textsc{Subvariations} & \textbf{Step} & \textbf{Attore 1} & \textbf{Attore $n$} & \textbf{Sistema} \\ \cline{2-5}
& & & & \\ \midrule
\textsc{Notes} & \mcl{one note spanning 4 columns} \\
& note 1 & note 2 & note 3 & note 4 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}