请问下这个文件为啥去掉后面这几行能运行,有这几行就会报错呢,把后面这几行拿出来又能运行

发布于 2024-10-12 20:08:14

annual.tex
把后面这几行删了能运行,不删这几行就会报下面这个错误
c056d25974b7afce01834af7527d4acb.png
单独把这几行拿出来能运行2b90cf8f1868bd0d4fdf78eee4bf663d.png

查看更多

关注者
0
被浏览
222
3 个回答
Skyrmion
Skyrmion 5天前
Looking forward to my Ph.D. offer...
  1. 有些地方你在加粗中使用了换行 \textbf{...\\...},给你改过来了
  2. 你未提供插入的那个图像,我用 example-image 给你替代了,记得改过来
  3. 循环问题 我用 expl3int_step_inline 给你重写了 [其实 \foreach 貌似也可以,但这应该是我的职业病 :)] 里面 #1 代表变量,你可以自己在这个基础上改.
  4. geometry 给你改了,不然好几页表格都塞不下 :(

The following figure is a preview of the final effect

image.png

ask10122024.pdf
ask10122024.tex

远方不远
远方不远 5天前
这家伙很懒,什么也没写!

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}

Sagittarius Rover
不喜欢LaTeX!!!

latex3的循环语法练习了一下,基本上大大缩短了你的代码长度(大概缩了一半吧...)
遇到比较大的问题是tabularrayexpand展开选项在遇到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}

效果如下:
image.png

另外,需要注意的是:

  1. 你的MWE不够Minimal,应该尽可能删除其他无关代码以减少回答者的阅读量
  2. 这里是列表文本同时表述应清晰,避免使用“后面这几行”来指代. 遇到这种情况更好的处理方法是,分别提供两个.tex文件,并且说明是在forloop中插入第二个tblr会导致\item错误
  3. 论坛的label(标签)应尽量是<package name>,<keyword of your question>等对问题有概括性/便于分类的tag,请问下这个文件为啥去掉后面这几行能运行 有这几行就会报错呢 把后面这几行拿出来又能运行这些label非常不搭.

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览