免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖
仅靠行来区分题目和选项,我不知道怎么弄,不过我想即使弄出来了也未必好用,因为这样的话题干就得一行写完,中间不能回车,这就不是很方便了。
所以我想还是在具体内容里插入一些标记来区分比较好做,下面我弄一个简单的例子。

主文件代码如下:
  1. \documentclass{ctexart}
  2. \usepackage{enumitem}
  3. \input{xztkpb.tex}%选择填空排版设计

  4. \newcount\tmcount
  5. \newcommand\TMBT{%
  6. \ifnum\tmcount=1\relax
  7. \noindent 一、选择题。\begin{enumerate}
  8. \else\ifnum\tmcount=4\relax
  9. \end{enumerate}二、填空题。\begin{enumerate}[resume]
  10. \else\ifnum\tmcount=7\relax
  11. \end{enumerate}三、解答题。\begin{enumerate}[resume]
  12. \fi\fi\fi
  13. }
  14. \makeatletter
  15. \newcommand\ENDTM{\@ifstar{\end{enumerate}}{\TM}}
  16. \makeatletter
  17. \long\def\TM#1==={\global\advance\tmcount by1\relax
  18. \TMBT\item#1\ENDTM}
  19. \long\def\xz#1;#2;#3;#4;{\fkh\xx{#1}{#2}{#3}{#4}}

  20. \begin{document}
  21. \input{test.tex}
  22. \end{document}
复制代码
代码中读入了两个文件:
(1)xztkpb.tex 是我以前弄的选择填空排版设计,代码较长就贴附件好了: xztkpb.tex (1.64 KB)
(2)test.tex 就是题目内容,其格式如下:
  1. \TM
  2. 选择一
  3. \xz 选项1;选项2;选项3;选项4;
  4. ===
  5. 选择二
  6. \xz 选项1;选项2;选项3;选项4;
  7. ===
  8. 选择三
  9. \xz 选项1;选项2;选项3;选项4;
  10. ===
  11. 填\tk 空一。
  12. ===
  13. 填\tk 空二。
  14. ===
  15. 填\tk 空三。
  16. ===
  17. 解答一
  18. ===
  19. 解答二
  20. ===
  21. 解答三
  22. ===*
复制代码
另外,这里我把前两部分设成了三题,你可以修改主文件的第9、11行的那两个数字来设置题数。
注意最后一题的 === 后面有个 * ,代表结束,这是必须要有的。

效果:
QQ截图20180909173708.png
2018-9-9 17:37
$\href{https://kuingggg.github.io/}{\text{About Me}}$

TOP

忘了说,由于选项用分号分隔,万一选项的内容恰好含有分号,则需要用 {  } 括起来。
比如 \xz {选;项1};选项2;选项3;选项4; 酱紫。
同理,如果题干或选项含有 === 也得用 {  } 括起来,当然这个不太可能出现,这也是我选它作为分隔的原因。

TOP

返回列表 回复 发帖