summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-12 21:11:04 +0000
committerKarl Berry <karl@freefriends.org>2022-08-12 21:11:04 +0000
commite18475bc3e78f117572e8529a03c82649b65b339 (patch)
tree6885e52feef57bd726ca107bb7874a4b1a45c110 /Master/texmf-dist/tex/latex/exam-zh/exam-zh-question.sty
parent8940ca1b768b638e0d430f78657b4dc6c8afd8a3 (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.sty54
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