无法使用表格在半页上创建简单的 latex 4x4 表格

无法使用表格在半页上创建简单的 latex 4x4 表格

我花了一个多小时尝试在 Latex 上创建一个简单的 4x3 表格。没什么特别的,就像我用 Word 做的一样。这是我的代码:

\begin{table}[H]
    \centering
    \caption{\textbf{some caption}}
    
  \begin{tabular}{|l|l|l|l|}
    \hline
    
    \textbf{Test (µm)} & \textbf{ (Some really really really long name )} & \textbf{Name name mname} & \textbf{more name)} \\
   \hline  1 & 1 & 1 & 1 \\
   \hline  1 & 1 & 1 & 1 \\
      \hline  1 & 1 & 1 & 1 \\
         \hline  1 & 1 & 1 & 1 \\
\hline
  \end{tabular}
\end{table}

不幸的是,表格不断溢出并丢失,如下面的屏幕截图所示:

在此处输入图片描述

我非常感谢关于如何解决此问题的建议。

答案1

首先,避免使用Hfor 放置。如果您不想让表格浮动,则不要通过删除环境使其成为浮动table

如果你没有指示 LaTeX 可以换行,那么列变得太宽是正常的。使用p-type 列。例如:

% !TeX spellcheck = fr_FR

\documentclass[science]{titiarticle}

\begin{document}

\begin{table}[!htb]
  \centering
  \caption{\textbf{some caption}}
  \begin{tabular}{|l|p{4cm}|p{4cm}|l|}
    \hline
    \textbf{Test (µm)} & \textbf{ (Some really really really long name )} & \textbf{Name name mname} & \textbf{more name)} \\
    \hline  1 & 1 & 1 & 1 \\
    \hline  1 & 1 & 1 & 1 \\
    \hline  1 & 1 & 1 & 1 \\
    \hline  1 & 1 & 1 & 1 \\
    \hline
  \end{tabular}
\end{table}

\end{document}

如果您想要更多的灵活性或其他控制,您应该使用更现代的tabularray软件包。

答案2

您需要允许(或多或少)在标题单元格中自动换行。但是,基本列类型lcr不允许自动换行。

有许多方法可以在 LaTeX 表格中允许换行。其中一种方法是加载 tabularx 包并使用tabularx环境和X列类型。在以下解决方案中,第 2 列到第 4 列使用(修改形式的)X列类型。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{tabularx} % for tabularx env. and X column type
\usepackage{ragged2e} % for \RaggedRight macro
\newcolumntype{L}{>{\RaggedRight}X} % ragged-right

\begin{document}
\begin{table}[ht]
\caption{Some caption\strut}

\begin{tabularx}{\textwidth}{|l|L|L|L|}
\hline
Test (µm) & (Some really really really long name) & Name name name & more name \\
\hline  1 & 1 & 1 & 1 \\
\hline  1 & 1 & 1 & 1 \\
\hline  1 & 1 & 1 & 1 \\
\hline  1 & 1 & 1 & 1 \\
\hline
\end{tabularx}
\end{table}
\end{document}

相关内容