我想打印一个带有的xsim
完形填空,但我不想用一行来表示间隙,而是想要一行来表示必须有多少个单词。
当然可以,只要给每个单词留一个空格就可以了,
\blank{more} \blank{than} \blank{one} \blank{word}
但我更希望有一个
\blank*{more than one word}
达到同样的效果。
我仍然想使用正常\blank
命令,所以它应该是一个额外的注释,而不是对现有的重写。
有任何想法吗?
答案1
以下是自定义命令的想法:
\documentclass{article}
\usepackage{xsim}
\ExplSyntaxOn
\seq_new:N \l_acep_words_seq
\seq_new:N \l_acep_blank_words_seq
\cs_new_protected:Npn \acep_blank_words:n #1
{
\seq_set_split:Nnn \l_acep_words_seq {~} {#1}
\seq_set_map:NNn \l_acep_blank_words_seq \l_acep_words_seq
{ \xsim_blank:n {##1} }
\seq_use:Nn \l_acep_blank_words_seq {~}
}
\NewDocumentCommand \blankwords {m}
{ \acep_blank_words:n {#1} }
\ExplSyntaxOff
\begin{document}
more than one blank word
\blankwords{more than one blank word}
\end{document}