存在两个问题:
- 第一行第二列,文字扩展表格边框
- 第二行第一列,文字扩展表格边框
这是我的代码:
\documentclass[a4paper,11pt,english]{report}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\usepackage{booktabs}
\begin{document}
\definecolor{lightgray}{HTML}{EFEFEF}
\begin{longtable}[H]{|
>{\columncolor{lightgray}}p{0.2\linewidth} | p{0.175\linewidth} | p{0.125\linewidth} | p{0.15\linewidth} | p{0.225\linewidth} |}
\hline \hline
\textbf{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA } & \multicolumn{4}{p{0.7\linewidth}|}{\begin{tabular}[c]{@{}l@{}} BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\ \\ BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\ BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\ BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \end{tabular}}
\\ \hline \hline
BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA & \multicolumn{4}{p{0.7\linewidth}|}{}
\end{longtable}
\end{document}
我不明白哪里出了问题。有什么帮助吗?
答案1
你最里面tabular
使用了一个l
列,它需要一个p{\linewidth}
列。
\documentclass[a4paper,11pt,english]{report}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\usepackage{booktabs}
\begin{document}
\definecolor{lightgray}{HTML}{EFEFEF}
\begin{longtable}[H]{|
>{\columncolor{lightgray}}p{0.2\linewidth} | p{0.175\linewidth} | p{0.125\linewidth} |
p{0.15\linewidth} | p{0.225\linewidth} |}
\hline \hline
\textbf{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA }
& \multicolumn{4}{p{0.7\linewidth}|}
{\begin{tabular}[c]{@{}p{\linewidth}@{}} BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\ \\
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA
BLA BLA BLA \\
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA
\end{tabular}}
\\ \hline \hline
BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA & \multicolumn{4}{p{0.7\linewidth}|}{}
\end{longtable}
\end{document}
答案2
问题出在您的table
内table
。您选择的l
选项不会导致换行。替换为p{\linewidth}
,换行就正常了。
它需要\linewidth
适应这样一个事实,即\linewidth
已经由总体定义table
。\documentclass[a4paper,11pt,english]{report}
\usepackage{longtable} \usepackage{multirow} \usepackage[table,xcdraw]{xcolor}
\begin{document}
\definecolor{lightgray}{HTML}{EFEFEF}
\begin{longtable}[ht]{>{\columncolor{lightgray}}p{0.2\linewidth} | p{0.175\linewidth} | p{0.125\linewidth} | p{0.15\linewidth} | p{0.225\linewidth} |}
\hline \hline
\textbf{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA } & \multicolumn{4}{p{0.7\linewidth}|}{
\begin{tabular}[c]{@{}p{\linewidth}@{}} BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\
\\
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\ BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \\
BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA \end{tabular}
}
\\ \hline \hline
BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA\_BLA & \multicolumn{4}{p{0.7\linewidth}|}{}
\end{longtable}
\end{document}
第二个问题的问题是,LaTeX 不知道在哪里中断这一行,因此要么删除,\_
要么在某处添加\-
。