\TextField[height=5cm]{label}
当放置带有hyperref
标签的高点时(文本字段名称在屏幕截图中)放置在底部。
如何将其移至顶部(蓝色位置)?
我尝试在手册和其他地方查找对齐,但这似乎不是与此相关的关键字。
\documentclass[12pt]{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField[ width=12cm, height=5cm,
multiline=true, name=tField]{TextFieldName}
\end{Form}
\end{document}
答案1
总体布局通过 \LayoutTextField 定义,您可以重新定义它:
\documentclass[12pt]{article}
\usepackage{hyperref}
\makeatletter
\def\LayoutTextField#1#2{% label, field
\def\Hy@temp{#1}%
\ifx\Hy@temp\@empty
#2%
\else
#1 \raisebox{\dimeval{-\height+\ht\strutbox}}{#2}%
\fi
}
\makeatother
\begin{document}
\begin{Form}
\TextField[ width=12cm, height=5cm,
multiline=true, name=tField]{TextFieldName}
\end{Form}
\end{document}
答案2
好的,找到了一个明显的解决方案:
- 被
\TextField{}
视为与任何其他字符一样 - 即它与基线对齐
- 因此避免使用标签,将其作为普通文本放置并提升它解决了这个问题
\documentclass[12pt]{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\rule{1cm}{1pt}
% ~~~ \TextField{cLabel} ~~~~~
\TextField[ width=1cm, height=2cm,
multiline=true, name=t1]{cLabel}
\rule{1cm}{1pt}
% ~~~ text + \TextField{} ~~~~~
Lbl-text: \TextField[width=1cm, height=2cm, name=t2]{}
\rule{1cm}{1pt}
% ~~~ raised text + \TextField{} ~~~~~
\raisebox{2cm}{Raised text:} \TextField[width=1cm, height=2cm, name=t3]{}
\rule{1cm}{1pt}
\end{Form}
\end{document}