%!TEXencoding=utf8%!TEXprogram=xelatex%====================================================================================================%%ThissourcefilewasUTF-8encoded,canberunproperlyintexlive2014,xeLaTeXenvironment.%====================================================================================================%%说明与改进:%0.所用字体为Adobe宋体,黑体,楷体,仿宋体,本人texlive2014,xeLaTeX编译无误%1.计分总表和大题数目相关,另页脚的试卷总页数,需经两次编译才能得到正确结果%2.使用\ws{*}{*},录入大题题型,类型说明,自动给出大题序号%3.使用\wq,录入小题序号%4.使用\ch{*}{*}{*}{*},录入选择题四个选项,根据选项的最大宽度自动选择最合适排版形式,并添加A、B、C、D、标志%特别情况下,可用\fourch{*}{*}{*}{*},\twoch{*}{*}{*}{*},\onech{*}{*}{*}{*}手动调整%5.在1,5,9,...,即4的倍数加1的页面留左装订线;在4,8,12,...,即4的倍数的页面留右装订线%6.如有好的实现方法与建议,欢迎发邮件到zalois@126.com,共同做的更好!%====================================================================================================%\documentclass[11pt,twoside]{article}%====================================================================================================%\usepackage{xeCJK}%使用xeCJK中文处理宏包\usepackage{CJKnumb}%中文小写数字\usepackage{amsmath,amssymb}%ams数学符号\usepackage{calc}%使用四则运算宏包\usepackage{intcalc}%使用mod,感谢qingkuan大神指导\usepackage{ifthen}%使用条件判断宏包\usepackage{zref-user}\usepackage{zref-lastpage}%使用zref宏包,引用数字标签值和LastPage标签,感谢qingkuan大神指导%\usepackage{refcount}%使用refcount宏包,引用数字标签值,已改用zref宏包实现,感谢qingkuan大神指导\usepackage{makecell}\usepackage{interfaces-makecell}%使用interfaces-makecell宏包,制作列数可变表格,感谢qingkuan大神指导\usepackage{dashrule}%使用虚线宏包\usepackage{parskip}%段落无缩进宏包%\usepackage{graphicx}%使用图形包%====================================================================================================%%%%====================================================================================================%\setCJKmainfont{AdobeSongStdL}%中文默认字体:adobe宋体\newcommand{\heiti}{\CJKfontspec{AdobeHeitiStdR}}%adobe黑体\newcommand{\fs}{\CJKfontspec{AdobeFangsongStdR}}%adobe仿宋\newcommand{\kai}{\CJKfontspec{AdobeKaitiStdR}}%adobe楷体%小16开纸,两面合起来就是8开试卷\usepackage[paperwidth=195mm,paperheight=270mm,left=23mm,right=17mm,top=20mm,bottom=20mm,includefoot]{geometry}%====================================================================================================%%%%====================================================================================================%\usepackage{fancyhdr}%使用页眉页脚宏包\pagestyle{fancy}%%用到的长度变量\newlength{\wot}%所有表格每列宽度\newlength{\wol}%所有横线的宽度\newlength{\gmw}%guttermarginwidth装订线页眉外侧超宽位置\newlength{\dl}%dashlength横线长%%长度变量的初始值\settowidth{\wot}{复核人}%所有表格每列宽度初始值为复核人三字的宽度\setlength{\wol}{0.3pt}%所有横线宽度初始值为0.3pt\setlength{\gmw}{6em}%装订线页眉外侧超宽5em\setlength{\dl}{10em}%横线长10em%%%页眉设置开始\renewcommand{\headrulewidth}{0pt}%无页眉线%装订线开始%在所有页绘出装订线,奇数页在左,偶数页在右,长为\textheight,虚线形式%使用小页环境,环境宽度为1.1\textheight,感谢qingkuan大神指导\fancyheadoffset[OL,ER]{\gmw}\fancyhead[OL]{%\ifnum\intcalcMod{\value{page}}{4}=1%intcalc宏包用法,感谢qingkuan大神指导\rotatebox{90}%4的倍数加1页打印系,年级/班级,姓名,学号和过线提示{\begin{minipage}{1.1\textheight}%\begin{center}系:\rule[-.2ex]{\dl}{\wol}班级:\rule[-.2ex]{\dl}{\wol}姓名:\rule[-.2ex]{\dl}{\wol}学号:\rule[-.2ex]{\dl}{\wol}\\\tiny\hdashrule[-3ex]{\textheight}{\wol}{3pt}\\[\smallskipamount]%\makebox[0.6\textheight][s]{装订线内不要答题}\\[-3\smallskipamount]%感谢Liam0205大神建议,确实好看多了\hdashrule[-3ex]{\textheight}{\wol}{3pt}%\end{center}\end{minipage}}\fi}\fancyhead[ER]{%\ifnum\intcalcMod{\value{page}}{4}=0%intcalc宏包用法,感谢qingkuan大神指导\rotatebox{-90}%4的倍数页打印过线提示{\begin{minipage}{1.1\textheight}%\begin{center}\tiny\hdashrule[-3ex]{\textheight}{\wol}{3pt}\\[\smallskipamount]%\makebox[0.6\textheight][s]{装订线内不要答题}\\[-3\smallskipamount]%感谢Liam0205大神建议,确实好看多了\hdashrule[-3ex]{\textheight}{\wol}{3pt}%\end{center}\end{minipage}}\fi}%装订线结束%页眉设置结束%%%页脚设置开始\renewcommand{\footrulewidth}{\wol}%页脚线宽\wol%总页数标志改用zref宏包实现,感谢qingkuan大神\fancyfoot[C]{\large{\kai《高等数学》试卷\qquad共\zpageref{LastPage}页\quad第\thepage页}}%adobekaiti%页脚设置结束%====================================================================================================%%%%====================================================================================================%%选择题选项开始%参考了盖鹤麟大神选择题选项设置的代码,感谢大神的工作\newcommand{\fourch}[4]{\hspace*{2em}\begin{tabular}{*{4}{@{}p{0.25\textwidth}}}A、#1&B、#2&C、#3&D、#4\end{tabular}}\newcommand{\twoch}[4]{\hspace*{2em}\begin{tabular}{*{2}{@{}p{0.5\textwidth}}}A、#1&B、#2\\\end{tabular}\hspace*{2em}\begin{tabular}{*{2}{@{}p{0.5\textwidth}}}C、#3&D、#4\end{tabular}}\newcommand{\onech}[4]{\hspace*{2em}A、#1\\\hspace*{2em}B、#2\\\hspace*{2em}C、#3\\\hspace*{2em}D、#4}%%定义命令\ch{*}{*}{*}{*},只需输入四个选项内容,根据选项的最大宽度自动选择最合适排版形式%特别情况下,可用\fourch,\twoch,\onech手动调整\newlength{\cha}%选项1长度\newlength{\chb}%选项2长度\newlength{\chc}%选项3长度\newlength{\chd}%选项4长度\newlength{\maxw}%选项最大宽度\newcommand{\ch}[4]%命令函数,根据选项的最大宽度自动选择最合适排版形式{%\settowidth{\cha}{#1}\settowidth{\chb}{#2}\settowidth{\chc}{#3}\settowidth{\chd}{#4}\setlength{\maxw}{\cha}\ifthenelse{\lengthtest{\chb\maxw}}{\setlength{\maxw}{\chb}}{}\ifthenelse{\lengthtest{\chc\maxw}}{\setlength{\maxw}{\chc}}{}\ifthenelse{\lengthtest{\chd\maxw}}{\setlength{\maxw}{\chd}}{}\ifthenelse{\lengthtest{\maxw0.4\te