我正在尝试获取以下形式的考试布局:
1. Blahblahblahblahblahblahblahblah [ ]
blahblahblahblahblahblahblahblahbla
hblahblahblahblahblahblahblahblah.
其中 [ ] 应该是一个相当大的(1 厘米 x 1 厘米)正方形,与每个问题的第一行对齐。我可以使用exsheets
和changepage
来生成具有适当右边距的问题列表,但我不知道是否可以使用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}
\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
解决方案。