diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-12 21:11:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-12 21:11:04 +0000 |
commit | e18475bc3e78f117572e8529a03c82649b65b339 (patch) | |
tree | 6885e52feef57bd726ca107bb7874a4b1a45c110 /Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty | |
parent | 8940ca1b768b638e0d430f78657b4dc6c8afd8a3 (diff) |
exam-zh (12aug22)
git-svn-id: svn://tug.org/texlive/trunk@64109 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty | 54 |
1 files changed, 36 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty b/Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty index 6e612c19aaa..d1a07de8ad0 100644 --- a/Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty +++ b/Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty @@ -9,7 +9,7 @@ \RequirePackage{expl3} \RequirePackage{xparse} -\ProvidesExplPackage {exam-zh-question} {2022-08-11} {v0.1.16} +\ProvidesExplPackage {exam-zh-question} {2022-08-12} {v0.1.17} {exam-zh question module} @@ -120,7 +120,8 @@ combine-fillin-args .tl_set:N = \l__examzh_question_combine_fillin_args_tl, label-align .choices:nn = { left, center, right } - { \tl_set_eq:NN \l__examzh_question_label_align_tl \l_keys_choice_tl } + { \tl_set_eq:NN \l__examzh_question_label_align_tl \l_keys_choice_tl }, + hang .bool_set:N = \l__examzh_question_hang_bool, } \keys_set:nn { exam-zh / question } @@ -134,7 +135,8 @@ bottom-sep = .25em plus .25em minus .1em , label = \arabic*., combine-fillin = false, - label-align = right + label-align = right, + hang = true } @@ -221,10 +223,10 @@ { % 用 group 是为了防止 combine-fillin 的 type 影响了环境里面的 fillin 的type \group_begin: - \dim_gset:Nn \topsep { 0pt } - \dim_gset:Nn \partopsep { 0pt } - \dim_gset:Nn \itemsep { 0pt } - \dim_gset:Nn \parsep { 0pt } + \dim_gset:Nn \topsep { 0pt } + \dim_gset:Nn \partopsep { 0pt } + \dim_gset:Nn \itemsep { 0pt } + \dim_gset:Nn \parsep { 0pt } % \group_begin: % 上面 \fillin 里面的设置是局部的,这样的问题是 question 的可选参数改 type 的时候不会影响 \l__examzh_fillin_type_str 的值 % 所以要把 \l__examzh_question_combine_fillin_args_tl 里关于 type 的选取出来 @@ -237,8 +239,20 @@ \bool_if:NTF \l__examzh_question_combine_fillin_bool { % 如果 combine 的话就和 question 一样的缩进 - \dim_gset:Nn \leftmargin { 6em } - \dim_gset:Nn \itemindent { 0pt } + \bool_if:NTF \l__examzh_question_hang_bool + { \dim_gset:Nn \itemindent { 0em } } + { \dim_gset:Nn \itemindent { 2em } } + \bool_if:NTF \l__examzh_question_combine_fillin_bool + { + \bool_if:NTF \l__examzh_question_hang_bool + { \dim_gset:Nn \leftmargin { 6em } } + { \dim_gset:Nn \leftmargin { 4em } } + } + { + \bool_if:NTF \l__examzh_question_hang_bool + { \dim_gset:Nn \leftmargin { 2em } } + { \dim_gset:Nn \leftmargin { 0em } } + } } { \dim_gset:Nn \leftmargin { 0pt } @@ -247,16 +261,20 @@ } { % 选择和填空题是悬挂效果 + \bool_if:NTF \l__examzh_question_hang_bool + { \dim_gset:Nn \itemindent { 0em } } + { \dim_gset:Nn \itemindent { 2em } } \bool_if:NTF \l__examzh_question_combine_fillin_bool - % { - % \str_case:VnF \l__examzh_question_label_align_tl - % { - % { left } { \dim_set:Nn \leftmargin { 8em } } - % } + { + \bool_if:NTF \l__examzh_question_hang_bool { \dim_gset:Nn \leftmargin { 6em } } - % } - { \dim_gset:Nn \leftmargin { 2em } } - \dim_set:Nn \itemindent { 0pt } + { \dim_gset:Nn \leftmargin { 4em } } + } + { + \bool_if:NTF \l__examzh_question_hang_bool + { \dim_gset:Nn \leftmargin { 2em } } + { \dim_gset:Nn \leftmargin { 0em } } + } } \dim_gset_eq:NN \listparindent \itemindent \group_end: @@ -1157,7 +1175,7 @@ { \dim_set_eq:NN \l_tmpb_dim \linegoal % 比较 \l__examzh_fillin_F_width_dim 和 linegoal - \dim_compare:nNnTF { \l__examzh_fillin_F_width_dim } > { \linegoal } + \dim_compare:nNnTF { \l__examzh_fillin_F_width_dim } > { \l_tmpb_dim } { % 超过 linegoal 就排一段 linegoal,然后 \l__examzh_fillin_F_width_dim 减去 linegoal 长度 % \dim_set:NV \l_tmpa_dim \linegoal |