表单复选框,答案写在里面而不是左边

表单复选框,答案写在里面而不是左边

我的文档是一系列问题,目前,每个问题都以以下形式结尾:

\dotfill \makebox{2.5cm}{\fbox{\parbox[b][2mm]{2mm}{YES}}\hspace{2mm}
\fbox{\parbox[b][2mm]{2mm}{NO}}\hspace{2mm}
\fbox{\parbox[b][2mm]{2mm}{??}}\hspace{2mm}
\fbox{\parbox[b][2mm]{2mm}{\CoffeeCup}}}

即 4 个连续的可勾选框精确地适合 2.5 厘米的水平空间,并且每个框内都写有相应的答案。我想让文档具有交互性,但有一件事我无法改变,那就是适合 4 个框的空间大小。它必须正好是 2.5 厘米(我还必须注意高度)。

在表单环境中,复选框显然只能将其答案写在左侧。 不能写在里面。 我发现的最佳解决方案(因为我可以控制宽度)是使用带组合的 ChoiceMenu,但效果并不好。 但我想要可勾选的框。

有人有其他想法吗?

答案1

\LayoutCheckField{label}{field}您可以使用默认为#1和的宏来控制复选框及其标签的外观#2(尝试texdoc hyperref查看第 22 页)。您可以根据需要更改此宏。如果将标签移动到复选框内,则必须确保未设置背景颜色。代码:

\documentclass{article}
\usepackage{hyperref}

\begin{document}

\begin{Form}

\def\LayoutCheckField#1#2{%
  \parbox[c][5mm]{5mm}{\centering\footnotesize\strut #1\\#2}%
}

\def\DefaultHeightofCheckBox{3mm}
\def\DefaultWidthofCheckBox{3mm}

\noindent\dotfill 
\CheckBox{yes}
\CheckBox{no}
\CheckBox{??}
\CheckBox{Cup}

\vspace{3ex}

\def\LayoutCheckField#1#2{%
  \makebox[0pt][l]{%
    \makebox[5mm][c]{\footnotesize\strut #1}%
  }%
  #2%
}

\def\DefaultHeightofCheckBox{5mm}
\def\DefaultWidthofCheckBox{5mm}

\noindent\dotfill 
\CheckBox[backgroundcolor=]{yes}
\CheckBox[backgroundcolor=]{no}
\CheckBox[backgroundcolor=]{??}
\CheckBox[backgroundcolor=]{Cup}
\end{Form}
\end{document}

在此处输入图片描述

相关内容