这个问题在这里有延续如何减少 alterqcm 包中的 True/False MCQ 中答案之间的间距?
该alterqcm
软件包不再由 Alain Matthes 维护。另外两名开发人员维护它。15 天前我通过电子邮件写信给他们报告了此处报告的错误:xkeyval 和 alterqcm 包之间是否存在冲突?
我还没有收到回复。
我正在尝试减小 QCM 线之间的间距,如此解决方案由@Werner 编写,但它不起作用。
此外,通过使用 David Carlisle 的代码聊天,我得到的是一个 X,而不是正方形。
截图完整代码:
\documentclass[12pt]{article}
%\usepackage[utf8]{inputenc}
%\usepackage[upright]{fourier}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\usepackage[english]{alterqcm}
\def\square{X} % <---------- David Carlisle comment
\def\nogreekalph{??} % <---- David Carlisle comment
\parindent0pt
\begin{document}
% Original display
\begin{alterqcm}[lq=8cm]
\AQquestion{Question}{%
{Proposition 1},
{Proposition 2},
{Proposition 3}}
\end{alterqcm}
\bigskip
% Smashed display !!!!!! Dont work now
{\begin{alterqcm}[lq=8cm]
\AQquestion{Question}{%
{\smash{Proposition 1}},
{\smash{Proposition 2}},
{\smash{Proposition 3}}}
\end{alterqcm}}
\bigskip
% Global smashed display !!!! Dont work now
\makeatletter
\patchcmd{\aq@prop}{\vbox{#1}}{\vbox{\smash{#1}}}{}{}% patch \aq@prop
\makeatother
\begin{alterqcm}[lq=8cm]
\AQquestion{Question}{%
{Proposition 1},
{Proposition 2},
{Proposition 3}}
\end{alterqcm}
\end{document}
有解决办法吗?
答案1
你可以将 \square 命令重新定义为你想要的任何内容。David 的 X 只是一个占位符。
额外的间距是硬编码的,因此要更改它,您必须修补内部命令:
\documentclass[12pt]{article}
\usepackage{etoolbox,tikzducks}% http://ctan.org/pkg/etoolbox
\usepackage[english]{alterqcm}
\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}
\begin{alterqcm}[lq=8cm]
\AQquestion{Question}{%
{Proposition 1},
{Proposition 2},
{Proposition 3}}
\end{alterqcm}
\bigskip
\renewcommand\aqheightadvance{0pt}
\renewcommand\aqdepthadvance{0pt}
\begin{alterqcm}[lq=8cm]
\AQquestion{Question}{%
{Proposition 1},
{Proposition 2},
{Proposition 3}}
\end{alterqcm}
\end{document}