30 tikz的图node 里面怎么用 latex3 循环功能?

发布于 2023-12-20 09:38:27

我写了一个命令, 作用是在页面左边中间放一个答题卡, 方便改作业,效果如图, 我想要做的是, 把题目数量弄成可变的, 自己通过输入参数控制, 但是在 node 里面用 int_map_inline:nnn 好像涉及到展开问题, 因此一团糟, 做不到. 所以求助大佬, 能不能教一下, 怎么做到. 谢谢
18461142cc11d0c7ad708cc909419120.png

`ExplSyntaxOn
NewDocumentCommand{datika}{}{
begin{tikzpicture}[overlay,remember~picture]

\node[
    fill=gray!10,
    rounded~corners,
    shift={(1,0)},
    align=left,
    font={\baselineskip=2.6em}
]at(current~page.west){
    {\heiti 答题卡}\\
    1.\underline{\hspace{1cm}}\\
    2.\underline{\hspace{1cm}}\\
    3.\underline{\hspace{1cm}}\\
    4.\underline{\hspace{1cm}}\\
    5.\underline{\hspace{1cm}}\\
    6.\underline{\hspace{1cm}}\\
    7.\underline{\hspace{1cm}}\\
    8.\underline{\hspace{1cm}}\\
    9.\underline{\hspace{1cm}}\\
    10.\underline{\hspace{1cm}}\\
    11.\underline{\hspace{1cm}}\\
    12.\underline{\hspace{1cm}}\\
    13.\underline{\hspace{1cm}}\\
    14.\underline{\hspace{1cm}}
};

end{tikzpicture}
}
ExplSyntaxOff`

查看更多

关注者
0
被浏览
864
Swit
Swit 2023-12-20
LaTeX nubility!
\documentclass{article}
\usepackage{ctex}
\usepackage{tikz}
\ExplSyntaxOn
\int_new:N \l_exercise_number_int
\NewDocumentCommand{\datika}{ m }{
  \int_set:Nn \l_exercise_number_int { #1 }
  \begin{tikzpicture}[overlay,remember~picture]
    \node[
        fill=gray!10,
        rounded~corners,
        shift={(1,0)},
        align=left,
        font={\baselineskip=2.6em}
    ] at (current~page.west){
        {\heiti 答题卡} \\
        \int_step_inline:nn
          { \l_exercise_number_int }
          { ##1.\underline{\hspace{1cm}} \\ }
    };
  \end{tikzpicture}
}
\ExplSyntaxOff
\begin{document}

hello\datika{15}

\end{document}

或者

\documentclass{article}
\usepackage{ctex}
\usepackage{tikz}
\ExplSyntaxOn
\int_new:N \l_exercise_number_int
\int_set:Nn \g_tmpa_int { 1 }
\NewDocumentCommand{\datika}{ m }{
  \int_set:Nn \l_exercise_number_int { #1 }
  \begin{tikzpicture}[overlay,remember~picture]
    \node[
        fill=gray!10,
        rounded~corners,
        shift={(1,0)},
        align=left,
        font={\baselineskip=2.6em}
    ] at (current~page.west){
        {\heiti 答题卡} \\
        \int_step_inline:nn
          { \l_exercise_number_int - 1 }
          { \int_use:N \g_tmpa_int.\underline{\hspace{1cm}} \int_gincr:N \g_tmpa_int \\ }
        \int_use:N \l_exercise_number_int. \underline{\hspace{1cm}}
    };
  \end{tikzpicture}
}
\ExplSyntaxOff
\begin{document}

hello\datika{15}

\end{document}
1 个回答

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览