如何在表格中创建多行

如何在表格中创建多行

我想创建一个包含第 1 列、第 2 列和第 3 列的多行表格。这是我不使用命令创建的表格\multirow。如何使用\multirow此表格:

\begin{table}[htbp]
\caption{Kepakaran dan tugas tim pengusul}
\centering
\begin{tabular}{|c|p{3cm}|p{3cm}|l|}
\hline
No. & Nama Pengusul & Kepakaran  & Tugas \\ \hline
    &                 &                           & - Disain sistem dan peralatan \\
    &                 &                           & - Supervisi manufaktur sistem \\ 
 1  & Fauzan, ST., MT & Teknik Mesin - Manufaktur & - Menjalankan proses produksi \\ 
    &                 &                           & - Evaluasi kegiatan \\ 
\hline   
   &                                  &                                    & - Akuisisi data \\
   &                                  &                                    & - Estimasi Biaya \\ 
 2 &  Muhammad Ikhwanus, ST., M.Eng.  &  Bidang Elektronika - Informatika  & - Evaluasi kegiatan \\ 
   &                                  &                                    & - Dokumentasi \\ 
\hline 
\end{tabular}

\end{table}

答案1

我不清楚您想通过multirow这个包实现什么好处。对我来说,最好按照以下形式重新设计表格:

在此处输入图片描述

\documentclass{article}
\usepackage{geometry}
\usepackage{array,booktabs}
    \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\usepackage{enumitem}
\newlist{tabitemize}{itemize}{1}% <-- defined new list
\setlist[tabitemize]{nosep,     % <-- new list setup
                     topsep     = 0pt               ,
                     partopsep  = 0pt               ,
                     leftmargin = *                 ,
                     label      = -                 ,
                     before     = \vspace{-0.6\baselineskip}   ,
                     after      = \vspace{-\baselineskip}
                     }
\usepackage{caption}

\begin{document}
    \begin{table}[htbp]
\caption{Kepakaran dan tugas tim pengusul}
\centering
\begin{tabular}{c P{0.25\linewidth} P{0.25\linewidth} P{0.35\linewidth} }
    \toprule
No. & Nama Pengusul & Kepakaran & Tugas                         \\ 
    \midrule
 1  &Fauzan, ST., MT&   \begin{tabitemize}
                    \item   Teknik Mesin 
                    \item   Manufaktur
                        \end{tabitemize}

                                 &   \begin{tabitemize}
                                \item   Disain sistem dan peralatan
                                \item   Supervisi manufaktur sistem
                                \item   Menjalankan proses produksi
                                \item   Evaluasi kegiatan
                                    \end{tabitemize}               \\
    \midrule
 2  &  Muhammad Ikhwanus, ST., M.Eng.  
                    &  \begin{tabitemize}
                    \item   Bidang Elektronika 
                    \item   Informatika  
                        \end{tabitemize}
                                 &   \begin{tabitemize}
                                \item   Akuisisi data
                                \item   Estimasi Biaya
                                \item   Evaluasi kegiatan           
                                \item   Dokumentasi                 
                                    \end{tabitemize}               \\
    \bottomrule
\end{tabular}
    \end{table}
\end{document}

在上面的代码中,最后一列使用了itemize由包帮助定义的列表enumitem。为了看起来更专业,我使用了包中的规则booktabs并删除了垂直线。

\midrule如果使用而不是第二个\addlinespace,那么表格会变得更好:

在此处输入图片描述

附录: 如果您希望将列标题加粗并居中:

在此处输入图片描述

添加的是包makecell并重新定义theadfont

\renewcommand\theadfont{\bfseries\normalsize}

第一行捆包为:

\thead{No.} & \thead{Nama Pengusul} & \thead{Kepakaran} & \thead{Tugas}\\

答案2

与包装一起使用multirow

\multirow{nrows}{width}{content}

行数:要跨越的行数。(数字可以是正数或负数)。

宽度:内容的宽度。

内容:将要打印的文本

\begin{table}[htbp]
\caption{Kepakaran dan tugas tim pengusul}
\centering
\begin{tabular}{|c|p{3cm}|p{3cm}|l|}
\hline
No. & Nama Pengusul & Kepakaran  & Tugas \\ \hline
    &                 &                           & - Disain sistem dan peralatan \\
    &                 &                           & - Supervisi manufaktur sistem \\
 \multirow{1}{*}{1}   &  \multirow{0}{90pt}{Fauzan, ST., MT} &  \multirow{0}{90pt}{Teknik Mesin - Manufaktur} & - Menjalankan proses produksi \\
    &                 &                           & - Evaluasi kegiatan \\
\hline
   &                                  &                                    & - Akuisisi data \\
   &                                  &                                    & - Estimasi Biaya \\
 \multirow{1}{*}{2} &   \multirow{-2}{90pt}{Muhammad Ikhwanus, ST., M.Eng.}  &   \multirow{-2}{90pt}{Bidang Elektronika - Informatika}  & - Evaluasi kegiatan \\
   &                                  &                                    & - Dokumentasi \\
\hline
\end{tabular}

\end{table}

答案3

您实际上不需要 multirow在这里。您将获得更好的结果(和更简单的代码),设计一种I基于m类型和要求的新列类型enumitem,它在进入单元格时自动进入 itemize 环境,并在离开单元格时离开环境,以便您可以在这些列内使用该命令。此外,我使用来自的命令\item在第一行添加了一些垂直填充:\Gapedmakecell

\documentclass{article}
\usepackage[showframe]{geometry} 
\usepackage{enumitem}
\usepackage{array,  caption,  makecell}

\newcolumntype{I}[1]{ >{\arraybackslash\itemize[label =\textendash,  wide=0pt, after=\vspace*{-\topsep}]}m{#1}<{\enditemize}}

\begin{document}

\begin{table}[htbp]
\caption{Kepakaran dan tugas tim pengusul}
\centering
\begin{tabular}{|c| >{\raggedright}m{3cm}|I{3.5cm}|I{5cm}|}
\hline
\Gape[4pt][3pt]{N\textsuperscript{o}}  & Nama Pengusul & \multicolumn{1}{c|}{Kepakaran}& \multicolumn{1}{c|}{Tugas} \\ \hline
  1 & Fauzan, ST., MT &
  \item Teknik Mesin\item Manufaktur
   & \item Disain sistem dan peralatan
    \item Supervisi manufaktur sistem
    \item Menjalankan proses produksi
    \item Evaluasi kegiatan \\
\hline
  2 & Muhammad Ikhwanus, ST., M.Eng.
  &
  \item Bidang Elektronika
  \item Informatika
  &    \item Akuisisi data
   \item Estimasi Biaya
   \item Evaluasi kegiatan
   \item Dokumentasi \\
   \hline
\end{tabular}

\end{table}

\end{document} 

在此处输入图片描述

答案4

用这个替换你的标题:

\multicolumn{1}{|c|}{\textbf{No.}} & \multicolumn{1}{|c|}{\textbf{Nama Pengusul}} & \multicolumn{1}{|c|}{\textbf{Kepakaran}}  & \multicolumn{1}{|c|}{\textbf{Tugas}} \\ \hline

相关内容