annual.tex
把后面这几行删了能运行,不删这几行就会报下面这个错误
单独把这几行拿出来能运行
\textbf{...\\...}
,给你改过来了example-image
给你替代了,记得改过来expl3
的 int_step_inline
给你重写了 [其实 \foreach
貌似也可以,但这应该是我的职业病 :)] 里面 #1
代表变量,你可以自己在这个基础上改.geometry
给你改了,不然好几页表格都塞不下 :(The following figure is a preview of the final effect
emmm
你的文档最主要的问题是 \textbf{...\\...}
有问题
建议用编辑器查找 \SetCell[r=4]{c} \textbf
全部替换为空,即删除
然后在 tblr
的 <格式说明>
里的 rows={7mm, m, rowsep=1.0pt}
后面追加
,cell{1,5,9,13,17,21}{1}={r=4}{font=\bfseries}
用latex3
的循环语法练习了一下,基本上大大缩短了你的代码长度(大概缩了一半吧...)
遇到比较大的问题是tabularray
的expand
展开选项在遇到l3
时有点不好处理...
非常感谢鱼先生 @u19850 给出的使用\expandafter
方法展开拼接字符串的方法,同时也感谢外国友人Ulrike Fischer提供的莫大帮助和提示
% trick to concat the items
\def\mycontent{}
\expandafter\def\expandafter\mycontent\expandafter{
\mycontent
<codes want to put together>
}
下面是缩行成功的MWE:
\documentclass[twoside]{book}
\usepackage[
letterpaper,
bindingoffset=15mm,
textheight=250mm,
textwidth=175mm,
top=1in,
bottom=20mm,
footskip=0.5in,
marginparwidth=0mm,
marginparsep=0mm,
margin = .6in
]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{tabularray}
\pagestyle{plain}
\raggedright
\raggedbottom
\begin{document}
\ExplSyntaxOn
\clist_const:Nn \c_wwws_clist { What, Who, How, When, Where, Why }
\clist_const:Nn \c_questions_clist {
{What~do~I~want~to~achieve?},
{Who~benefits?~Whose~help~do~I~need?},
{Which~skills~do~I~need?},
{What~is~my~timeline?},
{Where~will~I~accomplish~this?},
{Why~is~this~goal~important~to~me?}
}
\clist_const:Nn \c_goals_clist {
{Annual~Goal},
{Monthly~Sub-Goals~for~Annual~Goal},
}
\int_step_inline:nn {7}
{
\int_step_inline:nn {2}
{
\newpage
\begin{center}
{
\Large \textbf{{\clist_item:Nn \c_goals_clist {##1}}~\#~#1~}
}
\end{center}
\vspace{5mm}
\noindent
\def\mycontent{}
\int_step_inline:nn {6}
{
%迭代合并\mycontent内容的trick
\int_compare:nTF{##1=1}{
\expandafter\def\expandafter\mycontent\expandafter{
\mycontent
\SetCell[r=4]{c}{\clist_item:Nn \c_wwws_clist {####1}} & {\clist_item:Nn \c_questions_clist {####1}} \\
& \\ & \\ & \\
}
}{
\expandafter\def\expandafter\mycontent\expandafter{
\mycontent
\SetCell[r=4]{c}{Sub-Goal\\~\#~####1} & {} \\
& \\ & \\ & \\
}
}
}
\begin{tblr}[expand=\mycontent]{
width=175mm,
colspec={ X[1,c] X[8,l] },
vlines,hlines,
rows={7mm, m, rowsep=1.0pt},
font=\bfseries,
}
\mycontent
\end{tblr}
\newpage
}
}
\ExplSyntaxOff
\end{document}
效果如下:
另外,需要注意的是:
.tex
文件,并且说明是在forloop
中插入第二个tblr
会导致\item
错误label
(标签)应尽量是<package name>
,<keyword of your question>
等对问题有概括性/便于分类的tag
,请问下这个文件为啥去掉后面这几行能运行
有这几行就会报错呢
把后面这几行拿出来又能运行
这些label
非常不搭.
使用
font
选项的操作更加优雅呀,赞!@u70550
tabularray
最大的优势不正在于能够实现表格内容与格式的完全分离嘛!不过看了群友的回答,我才知道此处
\textbf{...\\...}
丢\item
只是浅层原因,必须向你们学习!