Exam.cls - 格式化边距中的点

Exam.cls - 格式化边距中的点

今天,我用 来写我的问题exam.cls。我希望将问题格式化如下:

预期是什么

但不幸的是,无法使用该\qformat命令将点保留在左边距中。因此,我继续按照本主题中指出的方式\renewcommand{\questionlabel}{\textbf{Question \thequestion}}保持可用性:\pointsinmargin格式化 - 如何在使用考试类别的 qformat 时将点放置在左边距?

但这会导致\thepoints与问题标签重叠,如您在这张图片上看到的(顺便说一下,这是前一张的放大图)。此外,问题的要点不会出现。 缩放以查看重叠部分

我的期望是:

  • 左边距的点格式如下:/\thepoints
  • 问题标签:Question \thequestion用阿拉伯数字。
  • 部件号标签:\thepartno)带有字母。
  • 如果可能的话,部分的要点应该相对于问题要点进行缩进。

这是我的 MWE:

\documentclass[addpoints, 12pt, a4paper]{exam}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}

\usepackage[top=1cm, left=2cm, right=2cm, bottom=1cm]{geometry}

%% Structure Exam.cls
\renewcommand{\partlabel}{\thepartno)}
\renewcommand{\questionlabel}{\textbf{Question \thequestion}}

\pointname{}
\pointformat{/\thepoints}
\bonuspointformat{/+\thepoints}

\pointsinmargin

\begin{document}


        \begin{questions}
        \question Définissez ce qu'est la force de pesanteur :
        \begin{parts}
            \part[2] Première question
            \part[2] Première question
        \end{parts}\vspace{2cm}

        \question[1] Définissez ce qu'est la force de pesanteur :\vspace{2.5cm}
    \end{questions}


\end{document}

感谢您的帮助 !

答案1

由于questions环境只是一个列表,我们可以尝试使用列表参数\leftmargin\labelwidth。我们使用类提供的钩子将它们更改为问题和部分exam

\newlength{\mywidth}
\settowidth{\mywidth}{Question 10}
\newlength{\mywidthii}
\settowidth{\mywidthii}{Question 1000}
\renewcommand{\questionshook}{%
\addtolength{\leftmargin}{\mywidth}%
\setlength{\labelwidth}{\mywidthii}%
}

\renewcommand{\partshook}{%
\setlength{\leftmargin}{-0.5\mywidth}%
}

梅威瑟:

\documentclass[addpoints, 12pt, a4paper]{exam}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}

\usepackage[top=1cm, left=2cm, right=2cm, bottom=1cm]{geometry}

%% Structure Exam.cls
\renewcommand{\partlabel}{\thepartno)}
\renewcommand{\questionlabel}{\textbf{Question \thequestion}}
%\renewcommand{\questionlabel}{\thequestion...}

\pointname{}
\pointformat{/\thepoints}
\bonuspointformat{/+\thepoints}

\newlength{\mywidth}
\settowidth{\mywidth}{Question 10}
\newlength{\mywidthii}
\settowidth{\mywidthii}{Question 1000}
\renewcommand{\questionshook}{%
\addtolength{\leftmargin}{\mywidth}%
\setlength{\labelwidth}{\mywidthii}%
}

\renewcommand{\partshook}{%
\setlength{\leftmargin}{-0.5\mywidth}%
}

\pointsinleftmargin

\begin{document}

        \begin{questions}

        \question Définissez ce qu'est la force de pesanteur:
        \begin{parts}
            \part[2] Première question Première question Première question Première question Première question Première question Première question 
            \part[2] Première question
        \end{parts}\vspace{2cm}

        \question[1] Définissez ce qu'est la force de pesanteur :

        \question[1]
        \question[1]
        \question[1]
        \question[1]
        \question[1]
        \question[1]
        \question[1]
        \question[1]
        \question[1]
    \end{questions}


\end{document}

在此处输入图片描述

相关内容