可以使用 exsheets 在每个问题之后生成标记布局吗?

可以使用 exsheets 在每个问题之后生成标记布局吗?

我正在尝试获取以下形式的考试布局:

1. Blahblahblahblahblahblahblahblah  [ ]
blahblahblahblahblahblahblahblahbla
hblahblahblahblahblahblahblahblah.

其中 [ ] 应该是一个相当大的(1 厘米 x 1 厘米)正方形,与每个问题的第一行对齐。我可以使用exsheetschangepage来生成具有适当右边距的问题列表,但我不知道是否可以使用exsheets来定义一个新的问题环境来相应地放置这样的框(我认为这应该是可能的,考虑到包的灵活性)或者也许使用另一个包来实现这一点。

更新。我设法实现了我对minipage环境的预期。还有更好的选择吗?但是,我仍然无法正确对齐第一个句子。

\documentclass[a4paper,11  pt]{article}
\usepackage[top=2cm, bottom=3cm, left=4cm, right=4cm]{geometry}

\usepackage[utf8x]{inputenc}
\usepackage[spanish]{babel}
\usepackage{varwidth}

\usepackage{lipsum}

\usepackage{fourier}
\usepackage{tgpagella}
\usepackage[T1]{fontenc}

\usepackage{exsheets} 
\SetupExSheets{headings=runin-nr}
\usepackage{setspace}
\onehalfspacing 
\usepackage{etoolbox}
\usepackage{titling}

\setlength{\parindent}{0pt}
\newcommand{\subtitle}[1]{%
    \posttitle{%
        \par\end{center}
        \begin{center}\large#1\end{center}
        \vskip0.5em}%
            }

\title{Title goes here}
\subtitle{Subtitle goes here}
\date{\vspace{-15ex}}

\begin{document}

\maketitle

\hrulefill
\vspace{0.5 em}

    \textsc{Your name}: \dotfill \textsc{Your major:} \dotfill

    \textsc{Your ID}: \dotfill \textsc{Your page tally}: \dotfill

\hrulefill

\vspace{1cm}

\begin{minipage}[t]{.85\textwidth}
    \begin{question} \lipsum[1]
        \end{question}
    \end{minipage}%
\begin{minipage}{.15\textwidth}
    \flushright
        \framebox(20,20){} 
\end{minipage}

\begin{minipage}[t]{.85\textwidth}
    \begin{question} \lipsum[2]
        \end{question}
    \end{minipage}%
\begin{minipage}{.15\textwidth}
    \flushright
        \framebox(20,20){} 
\end{minipage}

    \end{document}

在此处输入图片描述

答案1

不需要将question环境放入 s 中minipage或定义新环境...这是exsheets方法:

\documentclass[a4paper,11pt]{article}
\usepackage[top=2cm, bottom=3cm, left=4cm, right=4cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{tgpagella}
\usepackage[utf8]{inputenc}

\usepackage{exsheets}

\DeclareExSheetsHeadingContainer{square}{\framebox(20,20){}}

\DeclareInstance{exsheets-heading}{custom}{default}{
  runin = true ,
  number-post-code = \space ,
  attach = { main[l,t]square[r,t](\textwidth,0pt) } ,
  join   = { main[r,vc]number[l,vc](0pt,0pt) }
}

\usepackage{scrextend}% provides the addmargin environment
\SetupExSheets{
  headings = custom ,
  question/pre-hook = \addmargin[0pt]{.15\textwidth} ,
  question/post-hook = \endaddmargin
}

\usepackage{lipsum}

\begin{document}

\noindent\hrulefill

\begin{question}
  \lipsum[1]
\end{question}

\begin{question}
  \lipsum[2]
\end{question}

\end{document}

在此处输入图片描述


使用xsimGitHub)——结果看起来一样:

\documentclass[a4paper,11pt]{article}
\usepackage[top=2cm, bottom=3cm, left=4cm, right=4cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{tgpagella}
\usepackage[utf8]{inputenc}

\usepackage{xsim,needspace,adjustbox,scrextend}

\xsimsetup{
  exercise/the-counter = \arabic{exercise}. ,
  exercise/template    = square
}

\DeclareExerciseEnvironmentTemplate{square}
  {%
    \Needspace*{2\baselineskip}%
    \addmargin[0pt]{.15\textwidth}%
    \par\noindent
    \adjustbox{
      fbox = 1pt 0pt,
      lap = {\textwidth},
      valign = t,
      set vsize = {0pt}{0pt}
    }{\rule{0pt}{20pt}\hspace{20pt}}%
    \textbf{\GetExerciseProperty{counter}} %
  }
  {\endaddmargin\vspace{\baselineskip}}

\usepackage{lipsum}

\begin{document}

\noindent\hrulefill

\begin{exercise}
  \lipsum[1]
\end{exercise}

\begin{exercise}
  \lipsum[2]
\end{exercise}

\end{document}

顺便提一句:flushright是一个环境\begin{flushright}...\end{flushright}) 和不是用作命令(\flushright)。相应的命令称为\raggedleft

答案2

为了正确对齐,您可以使用minipage选项。

为了方便起见,我创建了一个新的环境(但是嵌套环境超出了我的知识水平,因此你必须使用question我的环境)。

\documentclass[a4paper,11  pt]{article}
\usepackage[top=2cm, bottom=3cm, left=4cm, right=4cm]{geometry}
\usepackage[utf8x]{inputenc}
\usepackage[spanish]{babel}
\usepackage{varwidth}

\usepackage{lipsum}

\usepackage{fourier}
\usepackage{tgpagella}
\usepackage[T1]{fontenc}

\usepackage{exsheets} 
\SetupExSheets{headings=runin-nr}
\usepackage{setspace}
\onehalfspacing 
\usepackage{etoolbox}
\usepackage{titling}

\setlength{\parindent}{0pt}
\newcommand{\subtitle}[1]{%
    \posttitle{%
        \par\end{center}
    \begin{center}\large#1\end{center}
    \vskip0.5em}%
}

\title{Title goes here}
\subtitle{Subtitle goes here}
\date{\vspace{-15ex}}
\newenvironment{myquest}{%
\begin{minipage}[t][\height][t]{.85\textwidth}
}{%
\end{minipage}%
\begin{minipage}[t][26pt][b]{.15\textwidth}
    \raggedleft
    \framebox(20,20){} 
\end{minipage}
\vspace{\baselineskip}
}

\begin{document}

\maketitle

\hrulefill
\vspace{0.5 em}

\textsc{Your name}: \dotfill \textsc{Your major:} \dotfill

\textsc{Your ID}: \dotfill \textsc{Your page tally}: \dotfill

\hrulefill
\vspace{1cm}
\begin{myquest}
    \begin{question} 
        \lipsum[1]
    \end{question}
\end{myquest}

\begin{myquest}
    \begin{question} 
        \lipsum[2]
    \end{question}
\end{myquest}

\end{document}

在此处输入图片描述

使用选项可能会有更好的解决方案exsheets,但我不知道那个包,也许我会在阅读它的文档后编辑我的答案(如果没有人在我之前回答的话)。

编辑:请参阅 clemens 的回答以寻求exsheets解决方案。

相关内容