Tabularray排印表格,单元格中使用itemize的时候条目不换行

发布于 2022-07-18 15:15:04

用Tabularray排印长表格,发现在表格单元格中使用itemize的时候条目不换行,已经使用了measure=vbox选项。有问题的代码如下:

\documentclass{article}
\usepackage{ctex}
\setCJKmainfont[AutoFakeBold=true]{仿宋}
\usepackage{tabularray}
\UseTblrLibrary{varwidth}

\begin{document}
\begin{tblr}{measure=vbox,colspec={|Q[c,2cm]|Q[3cm,c]|Q[2cm,c]|X[l]|},rowspec={*{3}{|Q[m]}|}}
\SetCell[r=3]{m} 教学目标&知识目标&\SetCell[c=2]{l}
\begin{itemize}
  \item 了解光栅的概念,分类;
  \item 掌握利用光的叠加原理分析计算光栅衍射因子的基本方法,理解光栅衍射因子定义的衍射光强度分布特征;
  \item 了解光栅光谱的概念,理解光谱线的角宽度、光栅的分辨率、角色散本领;
\end{itemize}
&\\
&能力目标&\SetCell[c=2]{l} 能力&\\
&素质目标(含课程思政、国际视野)&\SetCell[c=2]{l} 素质 &\\
\end{tblr}
\end{document} 

问题貌似是SetCell[c=2]{l}引起的,删掉它条目换行就正常了。

查看更多

关注者
0
被浏览
1.6k
Saino
Saino 2022-07-18
这家伙很懒,什么也没写!

首先 Q[2cm,c]|X[l] 就很迷惑,表格的每一行都跨列了,直接写成X[c]就可以了。

对于 span cell,当hspan参数为default或者even时,它的宽度就是自身的自然宽度,为minimal时,宽度是其他行这些列的格子宽度之和,所以设置 hspan=minimal 也可以。

2 个回答
拿了橘子跑啊
拿了橘子跑啊 2022-07-18
这家伙很懒,什么也没写!

itemize 这类列表放到minipage里吧,可以治标。

\documentclass{article}
\usepackage{ctex}
\usepackage{tabularray}
\def\tablstbox{
  \begin{minipage}{15em}
  \begin{itemize}
    \item 了解光栅的概念,分类;
    \item 掌握利用光的叠加原理分析计算光栅衍射因子的基本方法,理解光栅衍射因子定义的衍射光强度分布特征;
    \item 了解光栅光谱的概念,理解光谱线的角宽度、光栅的分辨率、角色散本领;
  \end{itemize}
\end{minipage}
}

\begin{document}
\begin{tblr}{hlines,vlines,colspec={cX[c]X[2,l]}}
\SetCell[r=3]{m} 教学目标&知识目标&\tablstbox\\
&能力目标& 能力\\
&素质目标(含课程思政、国际视野)& 素质 \\
\end{tblr}
\end{document}

效果

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览