테이블에 열을 추가하는 방법은 무엇입니까?

테이블에 열을 추가하는 방법은 무엇입니까?

이것은 내 파일입니다:

\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의 오른쪽에 for와 같이 채울 수 있는 다른 열이 있도록 파일을 편집하려면 어떻게 해야 합니까 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에 정의된 명령이 있다는 것입니다.\multicolumn 있다는 것입니다 . 아무 문제가 없습니다. 그러나 표 뒷부분에서는 \multicolumn가 명시적으로 사용됩니다. 따라서 다중 열 열 인수를 3에서 4로 두 번 변경해야 합니다. 그리고 아마도 문제는 여기에 있었을 것입니다.

\multicolumn매우 긴 명령은 아니며, LaTeX를 처음 사용하는 경우 단축키를 정의하기 전에(사용자가 이미 정의한) 패키지의 기본 명령을 사용해 보십시오. 대부분의 편집기는 시간을 절약할 수 있는 쉬운 "찾기 및 바꾸기" 기능을 제공합니다. 충분히 자신감이 생기면 원하는 대로 명령 단축키를 사용하세요. ;)

\hsize그리고 이것은 돔 추가 장식과 그보다 덜한 것을 포함하여 귀하가 필요로 하는 테이블에 대한 개인적인 해석입니다 X. 두 번째나 네 번째와는 다릅니다)

\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}

여기에 이미지 설명을 입력하세요

관련 정보