下面这份基于tabularray的代码在不插入大段文字内容时表现还算良好:
\documentclass[12pt, a4paper]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage[showframe,a4paper,hmargin=1.25cm]{geometry}
\usepackage{tabularray}
\UseTblrLibrary{booktabs,varwidth}
\setlength{\parindent}{0pt}
\usepackage{lipsum}
\begin{document}
\begin{tblr}{
colspec={X[1.25,c,m]X[1.75,c,m]X[1,c,m]X[1.5,c,m]X[1.75,c,m]},
hlines,vlines,
hline{1,Z} = {2pt},
vline{1,Z} = {2pt},
width=\linewidth,
measure=vbox,
rows = {ht=1cm},
row{3} = {ht=2.5cm},
row{X-Y} = {ht=3cm},
cell{1}{1-Y} = {r=2}{valign=m},
cell{2}{Z} = {r=3}{valign=m},
cell{3}{2} = {c=3}{valign=m},
cell{5-Z}{2} = {c=4}{halign=l,valign=m},
cell{X-Y}{2} = {valign=h},
}
课程名称 & & {学\quad 分} & & {总计:\qquad 学时} \\
& & & & {\linespread{1.75}\selectfont 讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\} \\
{课程性质\\[10pt](请打勾)} & %
{\linespread{1.5}\selectfont%<- important % hete
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
}
& & & \\
任课老师 & & 职称 & & \\
授课对象 & 年级、专业: & & & \\
课程目标 & & & & \\
教学重难点 & & & & \\
教材 & {教材:} & & & \\
参考资料 & {参考资料:} & & & \\
% 教材 & {教材:\lipsum[2][1-6]} & & & \\
% 参考资料 & {参考资料:\lipsum[2][1-6]} & & & \\
其他要求 & & & & \\
\end{tblr}
\bigskip
Notes: \lipsum[2][1-5]
\end{document}
然而如果改用:
教材 & {教材:\lipsum[2][1-6]} & & & \\
参考资料 & {参考资料:\lipsum[2][1-6]} & & & \\将导致:

我不希望放弃:
X[1.25,c,m]
X[1.75,c,m]
X[1,c,m]
X[1.5,c,m]
X[1.75,c,m]带来的宽度控制上的便利,在这种情况下,有没有好的方案呢?
hspan=minimal is all I need, actually...
对文档还是不够熟悉(摇头...)

\documentclass[12pt]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage[showframe,a4paper,hmargin=1.25cm]{geometry}
\usepackage{tabularray}
\UseTblrLibrary{booktabs,varwidth}
\setlength{\parindent}{0pt}
\usepackage{lipsum}
\begin{document}
\begin{tblr}{
colspec={X[1.25,c,m]X[1.75,c,m]X[1,c,m]X[1.5,c,m]X[1.75,c,m]},
hlines,vlines,
hline{1,Z} = {2pt},
vline{1,Z} = {2pt},
width=\linewidth,
measure=vbox,
hspan=minimal,
rows = {ht=1cm},
row{3} = {ht=2.5cm},
row{X-Y} = {ht=3cm},
cell{1}{1-Y} = {r=2}{valign=m},
cell{2}{Z} = {r=3}{valign=m},
cell{3}{2} = {c=3}{valign=m},
cell{5-Z}{2} = {c=4}{halign=l,valign=m},
cell{X-Y}{2} = {valign=h},
}
课程名称 & & {学\quad 分} & & {总计:\qquad 学时} \\
& & & & {\linespread{1.75}\selectfont 讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\讲课:\qquad 学时\\} \\
{课程性质\\[10pt](请打勾)} & %
{\linespread{1.5}\selectfont%<- important % hete
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
通识必修课(\quad)\ 通识选修课(\quad)\ 专业必修课(\quad)\\
}
& & & \\
任课老师 & & 职称 & & \\
授课对象 & 年级、专业: & & & \\
课程目标 & & & & \\
教学重难点 & & & & \\
% 教材 & {教材:} & & & \\
% 参考资料 & {参考资料:} & & & \\
教材 & {教材:\lipsum[2][1-6]} & & & \\
参考资料 & {参考资料:\lipsum[2][1-6]} & & & \\
其他要求 & & & & \\
\end{tblr}
\bigskip
Notes: \lipsum[2][1-5]
\end{document}
用 LyX 程序画表格吧。Linux, windows 版本都有安装包。
可以随时手动插入 tex 代码。也可以打开 代码预览 功能,把用 lyx 画好的表格,显示出的 tex 代码,复制到到tex 源文件里。
必要时,也可以在单元格里,用 parbox{宽度}{行一\行2} 强制换行。
程序只是工具。能实现结果、方便高效 就是好猫。
{{mmexport13e843c55b18f55aa65fcca52ae983a7_1775787695126.png(uploading...)}}
@u57089 你好...你的图没传上来。
我没用过LyX,但他有
tabularray这么强大的功能吗?我这个例子还同时需要:控制宽度和对齐样式...