表格环境中的制表环境取消设置表格宽度

表格环境中的制表环境取消设置表格宽度

我有一个带有制表符环境的表格。我不希望表格超过一定宽度,但制表符环境似乎忽略了这一点。因此,虽然在第 5 行插入大量“blas”会导致 blas 分布在几行上(这是我想要的),但第 2 行制表符环境中的 blas 会使表格变宽(我想避免这种情况)。

如何在表格环境中使用制表符环境,同时保留表格的设定宽度?

提前感谢任何回复!

我的代码:

\documentclass{article}
\usepackage{graphicx}
\begin{document}

\begin{tabular}{|l|p{7cm}|}
 \hline
1 & xxx \\ \hline
2  & 


\begin{tabbing}
xxx:\hspace{6mm} \= \textbullet  \hspace{0.01mm} bla bla bla bla bla bla bla bla bla bla bla bla \\
\> \textbullet  \hspace{0.01mm} xxx\\
\> \textbullet  \hspace{0.01mm} xxx\\
xxx: \> \textbullet  \hspace{0.01mm} xxx\\
\> \textbullet  \hspace{0.01mm} xxx\\
xxx: \> \textbullet  \hspace{0.01mm} xxx\\
\> \textbullet  \hspace{0.01mm} xxx\\
xxx: \> \textbullet  \hspace{0.01mm} xxx\\
\> \textbullet  \hspace{0.01mm} xxx\\
\end{tabbing}

\\ \hline
3 & xxx \\ \hline
4 & xxx\\ \hline
5 & bla blabla blabla bla bla bla bla bla bla bla bla bla\\ \hline
6 & xxx\\ \hline
7 & xxx\\
  \hline
\end{tabular}

\end{document}

答案1

您可以使用 atabular代替tabbing

\documentclass{article}
\usepackage{graphicx}
%\usepackage{array}
\usepackage{calc}
\newlength{\mylen}
\setlength{\mylen}{\widthof{\textbullet}}
\begin{document}

\begin{tabular}{|l|p{7cm}|}
 \hline
1 & xxx \\ \hline
2  &

\begin{tabular}[t]{@{}p{1cm}p{\mylen}p{\dimexpr6cm-\mylen-5\tabcolsep\relax}}
xxx   & \textbullet  & bla bla bla bla bla bla bla bla bla bla bla bla \\
      & \textbullet  & xxx\\
      & \textbullet  & xxx\\
xxx:  & \textbullet  & xxx\\
      & \textbullet  & xxx\\
xxx:  & \textbullet  & xxx\\
      & \textbullet  & xxx\\
xxx:  & \textbullet  & xxx\\
      & \textbullet  & xxx\\
\end{tabular}
\\ \hline
3 & xxx \\ \hline
4 & xxx\\ \hline
5 & bla blabla blabla bla bla bla bla bla bla bla bla bla\\ \hline
6 & xxx\\ \hline
7 & xxx\\
  \hline
\end{tabular}

\end{document}

在此处输入图片描述

\begin{tabular}[t]{@{}p{1cm}p{\mylen}p{\dimexpr6cm-\mylen-5\tabcolsep\relax}}方法

表格有三列,第一列宽 1cm,第二列宽 1cm \mylen,第三列 \dimexpr6cm-\mylen-5\tabcolsep\relax宽 1cm。\mylen等于 的宽度\textbullet\dimexpr6cm-\mylen-5\tabcolsep\relax7cm -1cm-\mylen-5\tabcolsep(第三列剩余的可用宽度)。因为有三列,所以我们有 6 个\tabcolseps,其中第一列使用 设为零@{}\tabcolsep是列内容与其边框之间的间隔。

希望清楚。

相关内容