在两列结构中数据流向下一列

在两列结构中数据流向下一列

我有两列结构。我希望表格在一列中容纳数据,但它溢出了另一列 在此处输入图片描述

我编写的代码如下

\newline
 \vspace*{1 cm}
  \newline
   \begin{tabular} { |c|  }
    \hline
    Decrypted-Data \\
    \hline
    0000000 0000100 0000000 0000101  0011111 0101111 1001001 1111101\\
    \hline
   \end{tabular}
   \newline
   \vspace*{1 cm}
    \newline

答案1

您使用的是“c”列。这意味着,列的宽度将随着您想要放入该单元格的数据的长度而增加。LaTeX 不会将单元格内容分成多行。

@Zarko 写了一些提示,例如使用较小的字体。就我个人而言,我认为减小字体大小不是一个好主意。

第一个建议是使用另一个列声明。例如,p 列标识符将生成具有给定宽度的列。LaTeX 会将单元格内容分成几行,以确保其长度不超过列宽。

不幸的是,此列将被对齐。为了防止这种情况,您应该加载数组包并使用 >{} 命令,以使用对齐左或右环境。

我想说,这应该能解决问题

\begin{tabular} { |>{\raggedright\hspace{0pt}p{0.8\linewidth}|  }
\hline
Decrypted-Data \\
\hline
0000000 0000100 0000000 0000101  0011111 0101111 1001001 1111101\\
\hline
\end{tabular}

(我自己也不确定,\hspace{0pt}在这种情况下是否有必要,因为您显然不希望 LaTeX 在元组的中间切割。您可以把它去掉。)

如果你想避免摆弄 p 列的确切宽度定义,那么tabularx 包应该可以帮到你。然后你可以使用

\begin{tabularx}{\linewidth} { |>{\raggedright\hspace{0pt}X|  }
\hline
Decrypted-Data \\
\hline
0000000 0000100 0000000 0000101  0011111 0101111 1001001 1111101\\
\hline
\end{tabularx}

在这种情况下,生成的表格将使用所有线宽(大约是 \textwidth 的一半),X 列将填满所有可用空间。如果您恰好有两列,只需使用 XX,两列将合计所有空间,每列的宽度与另一列一样宽。

玩得开心

答案2

看看下面的例子中是否有一个你可以接受的:

在此处输入图片描述

\documentclass{ieeetran}
\usepackage{array}
\usepackage{lipsum}

\begin{document}
\lipsum[2]
    \begin{center}
\renewcommand\arraystretch{1.2}
   \begin{tabular} { |>{\ttfamily}c|  }
    \hline
\textrm{Decrypted-Data} \\
    \hline
0000000 0000100 0000000 0000101 \\
0011111 0101111 1001001 1111101\\
    \hline
   \end{tabular}
    \end{center}
or
    \begin{center}
\renewcommand\arraystretch{1.2}
   \begin{tabular} {@{}>{\footnotesize}r |>{\ttfamily}c|  }
    \cline{2-2}
            &   \textrm{Decrypted-Data} \\
    \cline{2-2}
 0 -- 31    &   0000000 0000100 0000000 0000101 \\
32 -- 63    &   0011111 0101111 1001001 1111101\\
    \cline{2-2}
   \end{tabular}
    \end{center}
\lipsum
\end{document}

相关内容