下面的“我的表”中我有六个月的时间,分为几个星期。我一直在尝试仅在第24、4、8、12、16、20、24周使用垂直线,即仅每个月一次,或者使每4条垂直线变粗,但没有成功。这可能吗。或我对stackoverflow的搜索对我不起作用。我将不胜感激。
\documentclass[11pt,twoside,fleqn]{report}
\usepackage{array,booktabs,tabularx} % also loads 'array' package
\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}
\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}|}
\hline
\setlength{\tabcolsep}{2pt} % for the horizontal padding
\renewcommand{\arraystretch}{2}% for the vertical padding
\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}
答案 0 :(得分:2)
为避免出现竖线,只需删除'|'此列中的说明符。在您的原始示例中,可以通过
\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 time给定的格式列表,并且这些命令可以嵌套。
因此,对于您的问题,您有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}\\