Чтобы избежать вертикальной черты, вам просто нужно опустить '|'спецификатор из этого столбца. Исходя из вашего исходного примера, это можно сделать с помощью
\begin{longtable}[H]{|p{3cm} |
%p{0.3cm} | p{0.3cm} | p{0.3cm} | p{0.3cm} |
p{0.3cm} p{0.3cm} p{0.3cm} p{0.3cm} |
p{0.3cm} p{0.3cm} p{0.3cm} p{0.3cm} |
p{0.3cm} p{0.3cm} p{0.3cm} p{0.3cm} |
p{0.3cm} p{0.3cm} p{0.3cm} p{0.3cm} |
p{0.3cm} p{0.3cm} p{0.3cm} p{0.3cm} | }
Но такой метод подвержен ошибкам для таблицы из 25 столбцов, и вы должны предпочесть модификаторы *
. *{num}{cells format}
будет повторяться num раз для данного списка форматов, и эти команды могут быть вложенными.
Так что для вашей проблемы у вас есть 6 месяцев 4 недели, и это может быть задано как
\begin{longtable}[H]{ |p{3cm} | *6{*4{p{0.3cm}}|} }
только с вертикальной чертой в конце месяца.
Чтобы иметь различную ширину вертикальной черты, можно использовать '!'спецификатор разделителя. В табличной форме любая вертикальная черта может быть заменена на !{<separator command or char>}
. Эта команда полностью заменяет |
и не изменяет интервал между столбцами.
Необходимо использовать примитив TeX \vrule
, а vrule width <w>
нарисует вертикальное правило ширины <w>
и высотызадается в рамке.
\documentclass[11pt,twoside,fleqn]{report}
\usepackage{array,tabularx} % also loads 'array' package
\usepackage{booktabs}
\newcolumntype{C}{>{\centering\arraybackslash}X} % centered version of 'X' columns
\usepackage{ltablex}
\usepackage{longtable}
\usepackage[svgnames,table]{xcolor} % Required to specify font color
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{3pt}
\renewcommand{\arraystretch}{1.2}
\begin{document}
{
\setlength\arrayrulewidth{2pt}
\newcommand{\thinvrule}{{\vrule width 0.5pt}}
\renewcommand{\arraystretch}{2}% for the vertical padding
\renewcommand{\defaultaddspace}{1cm}
\setlength{\tabcolsep}{2pt} % for the horizontal padding
\begin{longtable}[H]{|p{3cm} | *6{*3{p{0.3cm}!\thinvrule }p{0.3cm}|}}
\hline
\textbf{first entires} &\cellcolor{orange} &\cellcolor{orange} &\cellcolor{orange} &\cellcolor{orange} & & & & & & & & & & & & & & & & & & & &
\\[0.10cm]
\hline
\textbf{second entries} & & & & & & & & & \cellcolor{blue}&\cellcolor{blue} &\cellcolor{blue} &\cellcolor{blue} & & & & & & & & & & & &
\\[0.10cm]
\hline
\textbf{third entries} & & & & & & & & && & & & \cellcolor{orange}& \cellcolor{orange} & \cellcolor{orange} & \cellcolor{orange} & & & & & & & &
\\[0.10cm]
\hline
\textbf{End} & & & & & & & & & & & & & & & & & & & & & & &\cellcolor{teal} &\cellcolor{teal}
\\[0.10cm]
\hline
\bottomrule
\end{longtable}
}
\end{document}
РЕДАКТИРОВАТЬ: Чтобы добавить столбец с названием месяца, вы можете использовать команду '\ multicolumn`,Чтобы распределить по числовым столбцам, его синтаксис:
\multicolumn{number}{format}{content}
Так что для вашей проблемы добавьте перед первым \ hline
\hline
&\multicolumn{4}{c|}{jan}&\multicolumn{4}{c|}{feb}&\multicolumn{4}{c|}{mar}&\multicolumn{4}{c|}{apr}&\multicolumn{4}{c|}{may}&\multicolumn{4}{c|}{jun}\\