如何在“考试”类中将右边距的删除点左对齐,并在每个奇数页页脚中添加“翻页”

如何在“考试”类中将右边距的删除点左对齐,并在每个奇数页页脚中添加“翻页”

我在课堂上做试卷exam。在那里我遇到了以下两个挑战。

  1. 我想将点放在右边缘并左对齐。但这里默认是右对齐。这是一个示例。我使用了包showframe中的选项geometry只是为了展示实际情况。我需要这样做,因为打印页面后,它会危险地靠近页面边缘。

enter image description here

  1. 我需要的第二件事是在每个奇数页的右页脚处显示“翻页”消息(当然还有中间的页码)。但如果它是最后一页,那么该消息就不应该出现。我尝试过,fancyhdr但似乎它不适用于exam类。我正在使用pdflatex编译器。

以上就是我的序言。提前致谢。

\documentclass[a5paper,11pt]{exam}
\usepackage[left=0.25in,right=0.75in,top=0.5in,bottom=0.5in,footskip=.15in,showframe]{geometry}
\usepackage{amsmath, amssymb, amsthm, amsfonts}
\usepackage{mathtools}
\usepackage[inline]{enumitem}
\usepackage{nccmath}
\footer{}{\thepage}{}
\marksnotpoints
\bracketedpoints
\pointsdroppedatright
\renewcommand\partlabel{(\textbf{\alph{partno}})}
\renewcommand{\thesubpart}{(\textit{\roman{subpart}})}
\renewcommand{\subpartlabel}{\thesubpart}
\renewcommand\questionlabel{\textbf{\thequestion.}}

答案1

请问每个帖子的问题和提供可编译的 MWE 而不是代码片段。以下是如何获得左对齐标记的方法。

\documentclass[a5paper,11pt]{exam}
\usepackage[english]{babel}
\usepackage[left=0.25in,right=0.75in,top=0.5in,bottom=0.5in,footskip=.15in,showframe]{geometry}
\marksnotpoints
\bracketedpoints
\pointsdroppedatright

\usepackage{etoolbox}
\makeatletter
\setlength\@rightmargin{0.5in}
\patchcmd\setup@point@toks
  {\llap{\padded@point@block}}
  {\rlap{\padded@point@block}}
  {}{}
\patchcmd\droppoints
  {\llap{\padded@point@block}}
  {\rlap{\padded@point@block}}
  {}{}
\patchcmd\droptotalpoints
  {\llap{\total@block}}
  {\rlap{\total@block}}
  {}{}
\patchcmd\droptotalbonuspoints
  {\llap{\bonustotal@block}}
  {\rlap{\bonustotal@block}}
  {}{}
\makeatother

\usepackage{blindtext}

\begin{document}
\begin{questions}
\question[10]
\blindtext\droppoints
\question[15.5]
\blindtext\droppoints
\end{questions}
\end{document}

left aligned

答案2

这将处理页码。注意:lastpage 需要运行两次才能正常工作。

\documentclass[a5paper,11pt]{exam}
\usepackage[left=0.25in,right=0.75in,top=0.5in,bottom=0.5in,footskip=.15in,showframe]{geometry}
\usepackage{amsmath, amssymb, amsthm, amsfonts}
\usepackage{mathtools}
\usepackage[inline]{enumitem}
\usepackage{nccmath}
\usepackage{lastpage,refcount}
\usepackage{lipsum}% debug only
\footer{}{\thepage}{\ifodd\value{page}\relax
  \if\thepage\getpagerefnumber{LastPage}\relax
  \else Turn Over
  \fi
\fi}
\marksnotpoints
\bracketedpoints
\pointsdroppedatright
\renewcommand\partlabel{(\textbf{\alph{partno}})}
\renewcommand{\thesubpart}{(\textit{\roman{subpart}})}
\renewcommand{\subpartlabel}{\thesubpart}
\renewcommand\questionlabel{\textbf{\thequestion.}}

\begin{document}
\lipsum[1-10]
\end{document}

相关内容