在 alterqcm 中控制答案之间的垂直间距

在 alterqcm 中控制答案之间的垂直间距

考虑以下最小示例alterqcm包裹:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage{alterqcm}

\parindent0pt
\begin{document}
\begin{alterqcm}[lq=8cm,language=english] 
 \AQquestion{Question}{% 
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}  
\end{alterqcm}

\end{document}  

是否有任何选项使得命题 1、命题 2 和命题 3 之间的间距像在环境中compactenum(使用paralist包)一样更紧凑?

有没有什么办法可以对这个垂直间距进行全局精细控制?

编辑:

我尝试了 Werner 的答案,但是如果我想缩小空间,它似乎只能产生很小的效果:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage{alterqcm}

\setlength{\parindent}{0pt}
\begin{document}

\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}
\end{alterqcm}

\bigskip


% =========== FACTOR approach ===========
{\renewcommand{\arraystretch}{0.1}
\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}
\end{alterqcm}}

\bigskip

% =========== LENGTH approach ===========
{\setlength{\extrarowheight}{-10mm}%
\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}
\end{alterqcm}}

\end{document}

给出:在此处输入图片描述

答案1

#3提供给的每个条目都\AQquestion[#1]{#2}{#3}经过处理并存储在垂直框 ( \vbox) 中。如果您愿意,可以\smash删除内容以删除任何垂直填充。这可以手动完成(基于每个项目),也可以通过提供的补丁全局完成etoolbox

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\usepackage[utf8]{inputenc}% http://ctan.org/pkg/inputenc
\usepackage[upright]{fourier}% http://ctan.org/pkg/fourier
\usepackage{alterqcm}% http://ctan.org/pkg/alterqcm

\setlength{\parindent}{0pt}
\begin{document}

% Original display
\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}
\end{alterqcm}

\bigskip

% Smashed display
{\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {\smash{Proposition 1}},
 {\smash{Proposition 2}},
 {\smash{Proposition 3}}}
\end{alterqcm}}

\bigskip

% Global smashed display
\makeatletter
\patchcmd{\aq@prop}{\vbox{#1}}{\vbox{\smash{#1}}}{}{}% patch \aq@prop
\makeatother
\begin{alterqcm}[lq=8cm,language=english]
 \AQquestion{Question}{%
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}
\end{alterqcm}

\end{document}

但是,如果您的构造高于/低于常规线(如 Altermundus 的答案),则这种全局更改可能会产生不必要的结果。您可以\AQquestion通过分组将更改定位到特定实例:

\begingroup
\makeatletter
\patchcmd{\aq@prop}{\vbox{#1}}{\vbox{\smash{#1}}}{}{}% patch \aq@prop
\makeatother
\begin{alterqcm}
  %...
\end{alterqcm}
\endgroup

或者,您可以使用进行局部更改\smash,但使用不可见的垂直规则根据自己的喜好拉伸每个组件:

在此处输入图片描述

\begin{alterqcm}[lq=8cm,language=english]
  \AQquestion{Question}{%
    {\smash{Proposition 1}},
    {\rule{0pt}{20pt}\smash{Proposition 2}},% Invisible vertical rule with height 20pt
    {\smash{Proposition 3}}}
\end{alterqcm}

由于这个问题的悬赏和赏金规则,我发布了一个新答案,而不是修改我现有的答案。

答案2

Werner 的回答很好。Alterqcm 使用表格,在上一个版本中,我添加了 longtable 选项。事实上,一些问题的出现是因为一个问题或一个命题占用了大量空间。好的方法是使用全局方法,如 FACTOR 方法或 LENGTH 方法,然后您可以使用局部方法。

您可以使用 修改问题的位置pq=...,问题将在案例内部移动。使用 可进行全局修改,\begin{alterqcm}[lq=85mm,pq=2mm]使用 可进行局部修改\AQquestion[pq=6mm]{...}

如果想为一个命题留出更多空间,可以添加类似 的内容\AQms(16,14)。这是一条没有宽度的规则(幻影 ),将命题放在 内minipage以获得正确结果通常非常有用。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage{alterqcm}

\parindent0pt
\begin{document}
\begin{alterqcm}[lq=8cm,language=english,pq=-6mm] 
 \AQquestion{Question}{% 
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}} 
\AQquestion[pq=0mm]{Question}{% 
 {Proposition 1},
 {\AQms(16,14) Proposition 2},
 {Proposition 3}}   
\end{alterqcm}

\end{document} 

在此处输入图片描述

用分数更新。第一个数组是正确的,但如果使用,\arraystretch则需要添加pq=- ...以获得正确的位置。

\documentclass[a4paper,10pt]{article} 
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage{amsmath,alterqcm}     

\begin{document}  

    \begin{alterqcm}[lq=85mm]
    \AQquestion{Pour tout réel $x$, le nombre \[\dfrac{\text{e}^x - 1}{\text{e}^x + 2}\hskip12pt \text{égal à :} \] }
    {{$-\dfrac{1}{2}$},
    {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
    {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}
    }
    \AQquestion{On pose I $= \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{1}{\text{e}^x - 1}\,\text{d}x$ et J $ = \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{\text{e}^x}{\text{e}^x - 1}\,\text{d}x$ \\ alors le nombre  I $-$ J est égal à}
    {{$\ln \dfrac{2}{3}$},
    {$\ln \dfrac{3}{2}$},
    {$\dfrac{3}{2}$}
    }
    \end{alterqcm}  

    {\renewcommand{\arraystretch}{2}
        \begin{alterqcm}[lq=85mm,pq=-4mm]
    \AQquestion{Pour tout réel $x$, le nombre \[\dfrac{\text{e}^x - 1}{\text{e}^x + 2}\hskip12pt \text{égal à :} \] }
    {{$-\dfrac{1}{2}$},
    {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
    {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}
    }
    \AQquestion{On pose I $= \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{1}{\text{e}^x - 1}\,\text{d}x$ et J $ = \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{\text{e}^x}{\text{e}^x - 1}\,\text{d}x$ \\ alors le nombre  I $-$ J est égal à}
    {{$\ln \dfrac{2}{3}$},
    {$\ln \dfrac{3}{2}$},
    {$\dfrac{3}{2}$}
    }
\end{alterqcm} }

\end{document}

在此处输入图片描述

答案3

由于环境的排版alterqcm是在 中完成的tabular,因此您可以执行与通常获得额外行高相同的调整。这是一个最简单的例子:

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage{alterqcm}

\setlength{\parindent}{0pt}
\begin{document}
\begin{alterqcm}[lq=8cm,language=english] 
 \AQquestion{Question}{% 
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}  
\end{alterqcm}

\bigskip

% =========== FACTOR approach ===========
{\renewcommand{\arraystretch}{2}
\begin{alterqcm}[lq=8cm,language=english] 
 \AQquestion{Question}{% 
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}  
\end{alterqcm}}

\bigskip

% =========== LENGTH approach ===========
{\setlength{\extrarowheight}{20pt}%
\begin{alterqcm}[lq=8cm,language=english] 
 \AQquestion{Question}{% 
 {Proposition 1},
 {Proposition 2},
 {Proposition 3}}  
\end{alterqcm}}

\end{document}

虽然我扩大了垂直间距,但是您可以指定分数\arraystretch或负长度\extrarowheight

这控制整个alterqcm环境(标题和正文)的全局变化。

相关内容