如何减少 alterqcm 包中的 True/False MCQ 中答案之间的间距?

如何减少 alterqcm 包中的 True/False MCQ 中答案之间的间距?

这个问题接着这个问题如何减少 alterqcm 包中响应之间的间距?

@UlrikeFischer 给出的减少答案间距的解决方案与包True/False的 MCQ不兼容alterqcm。在这种情况下,问题经常与下一个问题重叠,如您所见(屏幕截图中以黄色突出显示)

这个问题有解决办法吗?

截屏

Simon Dispa 解决方案

当问题文本比 True/False 选项占用更多的垂直空间时,这些设置可以正常工作,但当问题占用的空间较少时,它会溢出到行上(我用黄色突出显示)。在这里,我将底部参数设置为,-0.9em将另一个参数设置为-0.8em

截屏

\documentclass[12pt]{article}
\usepackage{etoolbox,tikzducks}% http://ctan.org/pkg/etoolbox
\usepackage[french]{alterqcm}
\usepackage{siunitx}
\usepackage[right]{eurosym}
\def\square{\tikz[scale=0.2]\duck;} %
\def\nogreekalph{??} % 
\parindent0pt
\makeatletter
\newcommand\aqheightadvance{4pt}
\newcommand\aqdepthadvance{3pt}
\patchcmd \aq@prop {4pt}{\aqheightadvance}{}{\fail}
\patchcmd \aq@prop {3pt}{\aqdepthadvance}{}{\fail}
\makeatother

\begin{document}

\renewcommand\aqheightadvance{0pt}
\renewcommand\aqdepthadvance{0pt}

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

\bigskip
\begin{alterqcm}[lq=.78\textwidth,VF,num=false,symb = \dingsquare]
\renewcommand{\arraystretch}{0.8}
\AQquestion{Dans une recette, il faut 3 \oe ufs pour faire un gâteau pour 4 personnes. Il en faudra 6 pour faire un gâteau pour 8 personnes.}
\AQquestion{La pointure moyenne des chaussures d'un enfant est proportionnelle à son âge.}
\AQquestion{Une paquet de macaronis pesant \SI{250}{g} est vendue \EUR{0,90}. Un paquet de \SI{500}{g} de ces mêmes macaronis est vendu \EUR{1,70}. Le prix des paquets de macaronis est proportionnel à leur masse. }
\end{alterqcm}

\begin{minipage}{.6\textwidth}
\begin{alterqcm}[lq=20mm,num=false,title=false,symb = \dingsquare]
\AQquestion{$11-9\div3$}{%
{je commence par $11-9$},
{dans l'ordre que je veux},
{je commence par $9\div3$}}
\AQquestion{$8\times(3+4)$}{%
{je commence par $8\times3$},
{dans l'ordre que je veux},
{je commence par $3+4$}}
\end{alterqcm}
\end{minipage}
\end{document}

答案1

这是否更接近你的目标?

X

True/False此代码仅对包的 MCQ 的替代方案有效alterqcm

\documentclass[12pt]{article}
\usepackage{etoolbox,tikzducks}% http://ctan.org/pkg/etoolbox
\usepackage[french]{alterqcm}   

\usepackage{siunitx}
\usepackage[right]{eurosym}
\def\square{\tikz[scale=0.2]\duck;} %
\def\nogreekalph{??} % 
\parindent0pt       

\makeatletter
\renewcommand{\aq@questionVF}[2][]{%
    \setkeys[AQ]{local}{#1}
    \stepcounter{AQ@numquestion}% 
    \setcounter{AQ@numprop}{0}% v0.93 
    \ifcase\locall@ng
    \protected@xdef\aq@arga{\textbf{V}}
    \protected@xdef\aq@argb{\textbf{F}}
    \or
    \protected@xdef\aq@arga{\textbf{T}}
    \protected@xdef\aq@argb{\textbf{F}}
    \or
    \protected@xdef\aq@arga{\textbf{R}}
    \protected@xdef\aq@argb{\textbf{F}}
    \or
    \protected@xdef\aq@arga{\textbf{Σ}}
    \protected@xdef\aq@argb{\textbf{Λ}}
    \fi
    \setcounter{aq@numb}{2}% 
    &\\[-0.3em]                              %<<<<<<<<<< adjust upper blank space
    \ifAQ@global@num
    \parbox{\cmdAQ@global@lq}{\aq@style@numquest{\cmdAQ@global@numstyle{AQ@numquestion}.}\hspace{3pt}#2}  & \hspace*{2em}\multirow[t]{1}{\z@}{\parbox{\z@}{\aq@prop{\aq@arga}{1}\aq@prop{\aq@argb}{2}}}\\[-0.2em]   %<<<<<<<<<< adjust lower blank space
    \else
    \parbox{\cmdAQ@global@lq}{#2}  & \hspace*{2em}\multirow[t]{1}{\z@}{\parbox{\z@}{\aq@prop{\aq@arga}{1}\aq@prop{\aq@argb}{2}}}\\[-0.2em]   %<<<<<<<<<< adjust lower blank space
    \fi
    \ifAQ@global@sep \cline{2-2}\fi 
    &\\
    \hline}%
\makeatother    

\begin{document}        
    
    \begin{alterqcm}[lq=8cm]
        \AQquestion{Question}{%
            {Proposition 1},
            {Proposition 2},
            {Proposition 3}}
    \end{alterqcm}
    
    \bigskip
    
    \begin{alterqcm}[lq=.78\textwidth,VF,num=false,symb = \dingsquare]      
        \AQquestion{Dans une recette, il faut 3 \oe ufs pour faire un gâteau pour 4 personnes. Il en faudra 6 pour faire un gâteau pour 8 personnes.}
        \AQquestion{La pointure moyenne des chaussures d'un enfant.}
        \AQquestion{Une paquet de macaronis pesant \SI{250}{g} est vendue \EUR{0,90}. Un paquet de \SI{500}{g} de ces mêmes macaronis est vendu \EUR{1,70}. Le prix des paquets de macaronis est proportionnel à leur masse.}
    \end{alterqcm}

    \bigskip
    
    \begin{alterqcm}[lq=.78\textwidth,VF,num=true,symb = \dingsquare]      
    \AQquestion{Dans une recette, il faut 3 \oe ufs pour faire un gâteau pour 4 personnes. Il en faudra 6 pour faire un gâteau pour 8 personnes.}
    \AQquestion{La pointure moyenne des chaussures d'un enfant.}
    \AQquestion{Une paquet de macaronis pesant \SI{250}{g} est vendue \EUR{0,90}. Un paquet de \SI{500}{g} de ces mêmes macaronis est vendu \EUR{1,70}. Le prix des paquets de macaronis est proportionnel à leur masse.}
\end{alterqcm}
    
\end{document}

代码中有两行标记,用于调整/减少文本上方和下方的空格。最小垂直空间由高度决定频率/频率组装。可以通过

&\\[-0.8em] %<<<<<<<<<< adjust upper blank space

... aq@prop{\aq@argb}{2}}}\\[-0.6em] %<<<<<<<<<< adjust lower blank space(两处)

米

相关内容