3

Picture of a book page with a table printed on it, as well as some text.

I tried this code but the border lines are not deleted:

\begin{tabular}{|p{0.6in}|p{0.3in}|p{0.9in}|p{0.9in}|p{0.8in}|} \hline 
 &                                                   &  & $P_{mot}$ &  \\ \hline 
$P_{batt}$ &  & S & M & H \\ \hline 
 & S & S & Z & VS \\ \hline 
SOC & M & M & Z & H \\ \hline 
 & H & M & Z & H \\ \hline 
\end{tabular}

How do I delete the border of cells?

  • 5
    Why not use a different (better) representation? Something that uses booktabs. Something like this? – Werner Nov 20 '18 at 6:17
  • 2
    You might have a use for tablesgenerator.com to generate your latex tables, I often use this tool. – Maxim Nov 20 '18 at 9:19
  • 1
    Welcome to TeX.SX! Please make your code compilable (if possible), or at least complete it with \documentclass{...}, the required \usepackage's, \begin{document}, and \end{document}. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to give you a hand. Help them help you: remove that one hurdle between you and a solution to your problem. – Martin Schröder Nov 20 '18 at 12:34
  • Okay i will consider those methods – sreeramp96 Dec 1 '18 at 1:12
8

Welcome to TeX.SE! In order to merge rows or columns, you need to use \multirow (which requires the multirow package) or \multicolumn, respectively. And if you nest them, you need to do it in the right order.

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|p{0.6in}|p{0.3in}|p{0.9in}|p{0.9in}|p{0.8in}|} \hline 
\multicolumn{2}{|c|}{\multirow{2}{*}{$P_\mathrm{batt}$}} &                                                   
  \multicolumn{3}{|c|}{$P_\mathrm{mot}$ }  \\ \cline{3-5} 
\multicolumn{2}{|c|}{}   & S & M & H \\ \cline{1-5} 
\multirow{3}{*}{SOC} & S & S & Z & VS \\ \cline{2-5} 
 & M & M & Z & H \\ \cline{2-5} 
 & H & M & Z & H \\ \hline 
\end{tabular}
\end{document}

enter image description here

  • 1
    The initial | in \multicolumn{3}{|c|}{$P_\mathrm{mot}$ } should be deleted, otherwise it is printed twice. – CarLaTeX Nov 20 '18 at 6:47
  • Yeah am not aware of all the methods. Thanks for the solution. – sreeramp96 Nov 20 '18 at 7:29
11

With \multirow and \multicolumn you can reach what you need.

I have also created a new column type for centering the cell contents and redefined \arraystretch to have more vertical space between rows.

However, I would suggest you to get rid of the vertical rules and use booktabs.

\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\renewcommand{\arraystretch}{1.3}
\usepackage{multirow}

\usepackage{booktabs}
\begin{document}
Your table:\vspace{10pt}

\begin{tabular}{|p{0.6in}|C{0.3in}|C{0.4in}|C{0.4in}|C{0.4in}|} \hline 
 \multicolumn{2}{|c|}{\multirow{2}{*}{$P_{batt}$}}& \multicolumn{3}{c|}{$P_{mot}$}   \\ \cline{3-5} 
 \multicolumn{2}{|c|}{}  & S & M & H \\ \hline 
  & S & S & Z & VS \\ \cline{2-5} 
 SOC & M & M & Z & H \\ \cline{2-5} 
 & H & M & Z & H \\ \hline 
\end{tabular}

\vspace{10pt}My suggestion:\vspace{10pt}

\begin{tabular}{lc*{3}{C{1.5em}}}
\toprule 
 \multicolumn{2}{c}{\multirow{2}{*}{$P_{batt}$}}& \multicolumn{3}{c}{$P_{mot}$}   \\ \cmidrule{3-5} 
 \multicolumn{2}{c}{}  & S & M & H \\ \midrule 
 & S & S & Z & VS \\ \cmidrule(l){2-5} 
SOC & M & M & Z & H \\ \cmidrule(l){2-5} 
 & H & M & Z & H \\ 
 \bottomrule
\end{tabular}
\end{document}

enter image description here

  • Am a beginner in latex, that's why. I don;t know about this booktabs. Anyway thanks for the suggestion, I will look through it. – sreeramp96 Nov 20 '18 at 7:27
7

Whatever applies to each item in a column should go in the column header. Here's my proposal:

\documentclass[twocolumn]{article}
\usepackage{array,booktabs}

\usepackage{lipsum} % for context

\begin{document}

\lipsum[2]

\begin{table}[htp]
\centering

\begin{tabular}{ @{} *{4}{w{c}{3em}} @{} }
\toprule
$P_{\mathrm{batt}}$ & \multicolumn{3}{c}{$P_{\mathrm{mot}}$} \\
\cmidrule(r){1-1} \cmidrule(l){2-4}
SOC & S & M & H \\
\midrule 
S & S & Z & VS \\
M & M & Z & H \\
H & M & Z & H \\ 
\bottomrule
\end{tabular}

\caption{Rule based of fuzzy logic control}

\end{table}

\lipsum

\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.