多行环境中超文本的设置

多行环境中超文本的设置

我看到后写了这个问题这个因为我不知道你可以在 TeX 中制作这样的形式。

在玩这个示例中的代码时,我遇到了两个问题,我无法找到如何随着环境而改变的问题\TextField[parameters]{label}

如何设置多行环境中的行数以及如何将标签移动到多行框的顶部而不是底部。

根据手动的多行环境的选项只是一个布尔参数

multiline boolean false 文本框是否为多行

标签出现在底部而不是顶部。

答案1

  1. 要指定多行文本字段的高度,请使用可选参数height,例如

    \TextField[multiline=true,height=6\baselineskip,...]{Comments}\
    
  2. 对于垂直对齐,您可以使用\height给出框高度的,以及\raisebox,例如

    \renewcommand*{\LayoutTextField}[2]{\makebox[6em][l]{#1: }%
      \raisebox{\baselineskip}{\raisebox{-\height}{#2}}}
    
  3. 您甚至可以调整多行文本字段的默认高度,例如

    \renewcommand*{\DefaultHeightofTextMultiline}{6\baselineskip} 
    

这是一个完整的示例,重新使用链接问题的代码:

\documentclass{article}
\usepackage{hyperref}
\renewcommand*{\DefaultHeightofTextMultiline}{6\baselineskip} 
\renewcommand*{\LayoutTextField}[2]{\makebox[6em][l]{#1: }%
  \raisebox{\baselineskip}{\raisebox{-\height}{#2}}}
%\renewcommand*{\LayoutTextField}[2]{% or this or similar ...
  %\raisebox{-\height}{\makebox[6em][l]{#1: }}\raisebox{-\height}{#2}}
\def\LayoutChoiceField#1#2{\makebox[6em][l]{#1: }#2}
\newdimen\longline
\longline=\textwidth\advance\longline-6em
\begin{document}
\begin{Form}
\TextField[name=Name,width=\longline,borderwidth=0,bordersep=4pt,
  backgroundcolor={.85 .85 .85}]{Name}\vskip1ex

\TextField[name=Affiliation,width=\longline,borderwidth=0,
  backgroundcolor={.85 .85 .85},]{Affiliation}\vskip1ex

\ChoiceMenu[borderwidth=0,radio=true,
  backgroundcolor={.85 .85 .85}]{Are you a}{Student, Academic}\\

\TextField[name=Comment,multiline=true,height=6\baselineskip,
  width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}]{Comments}\\
\end{Form}
\end{document}

在此处输入图片描述

相关内容