表格修改文本对齐方式

表格修改文本对齐方式

我构建了一张需要进行一些修改的表格。 在此处输入图片描述

存在两个问题:

  1. 第一行第二列,文字扩展表格边框
  2. 第二行第一列,文字扩展表格边框

这是我的代码:

\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

问题出在您的tabletable。您选择的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 不知道在哪里中断这一行,因此要么删除,\_要么在某处添加\-

相关内容