这是我目前使用下面给出的代码所得到的结果。
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{array}
\makeatletter
\providecommand{\tabularnewline}{\\}
\usepackage{hyperref}
\makeatother
\usepackage{babel}
\begin{document}
\begin{Form}[action=http://your-web-server.com/path/receiveform.cgi]
\begin{tabular}{ll>{\centering}p{0.6cm}ll}
Name: & \TextField[height=0.01cm, width=5cm] & & Name: & Need TextField here \tabularnewline
Client's Name: & \TextField[height=0.01cm, width=5cm] & & Advisor Name: & \rule{5cm}{1pt}\tabularnewline
\end{tabular}
\vspace*{0.3cm}
Have you ? \hfill{} \CheckBox[height=0.01cm, width=0.4cm] \enspace{} Yes
\hfill{} \CheckBox[height=0.01cm, width=0.4cm] \enspace{} No
\Submit{Submit}
\end{Form}
\end{document}
问题
TextField
当两个TextField
s 重叠时,如何控制高度?- 如何改变的颜色
TextField
? - 如何使两个
CheckBox
es 互斥,以便一次只能检查一个?
非常感谢您的帮助。谢谢
答案1
您可以使用 height 选项或通过重新定义 \DefaultHeightofText 来更改文本字段的高度。但是最小字段的高度始终是周围框的高度。在表格单元格(包含 \strut)中,这是单元格的高度。如果要避免这种情况,可以添加一个附加框:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{array}
\usepackage{hyperref}
\usepackage{babel}
\begin{document}
%suppress the label:
\def\LayoutTextField#1#2{% label, field
#2%
}
\begin{Form}
\def\DefaultHeightofText{5pt}
\mbox{\strut\TextField[width=3cm]{namea}} \mbox{\TextField[width=3cm]{namea}}
\begin{tabular}{ll}
Name: & \mbox{\TextField[width=3cm]{namea}} \\%smaller
Name: & \TextField[width=3cm]{namea}
\end{tabular}
\end{Form}
\end{document}
答案2
除了tabular
环境之外,您还可以使用multicol
包将字段拆分为两列,在这种情况下,您可以根据需要修改文本字段的高度
更多详细信息请参见此处回答
\documentclass[english]{article}
\usepackage[margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{array}
\usepackage{babel}
\usepackage{xcolor}
\usepackage{multicol}
\usepackage{hyperref}
\parindent0pt
\renewcommand*{\LayoutTextField}[2]{\makebox[7em][l]{#1: }%
\raisebox{\baselineskip}{\raisebox{-\height}{#2}}}
\begin{document}
\begin{Form}[action=http://your-web-server.com/path/receiveform.cgi]
\begin{multicols}{2}
\TextField[name=name, width=4cm, color=0.18 0.55 0.34, % seagreen
bordercolor=1 0 1, charsize=9pt]{Name} \vskip2ex
\TextField[name=client ,width=4cm]{Client's Name}
\columnbreak
\TextField[name=name2,width=4cm]{Name} \vskip2ex
Advisor Name: \rule{4cm}{1pt}
\end{multicols}
\vspace*{0.3cm}
\noindent
Have you ? \hfill{} \CheckBox[height=0.01cm, width=0.4cm]{Yes}
\hfill{} \CheckBox[height=0.01cm, width=0.4cm]{No}
\noindent
\Submit{Submit}
\end{Form}
\end{document}
答案3
- 一般来说,a 的高度
TextField
由宏控制\DefaultHeightofText
;我无法告诉你为什么它在表格中不起作用。我也遇到过这个问题,但我放弃了。它在普通文本中有效(见下文)。 TextField
您可以使用键更改内部文本的颜色color
。颜色规范必须是 RGB 三元组,范围为 0..1。还有一个bordercolor
键。CheckBox
es 和TextField
s 带有强制label
参数。这label
用于使它们无歧义。如果您想将此参数留空,请使用键name
作为唯一标签。
代码:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{array}
\usepackage{babel}
\usepackage{xcolor}
\usepackage{hyperref}
\begin{document}
\begin{Form}[action=http://your-web-server.com/path/receiveform.cgi]
\noindent \def\DefaultHeightofText{5pt}%
\begin{tabular}{@{}ll>{\centering\arraybackslash}p{0.6cm}ll}
Name: & \TextField[name=name, width=5cm, color=0.18 0.55 0.34, % seagreen
bordercolor=1 0 1, charsize=9pt, height=3pt]{}
& & Name: & Need TextField here \\
Client's Name: & \TextField[name=client, width=5cm]{}
& & Advisor Name: & \rule{5cm}{1pt}
\end{tabular}
\vspace*{0.3cm}
\noindent
Have you ? \hfill{} \CheckBox[height=0.01cm, width=0.4cm]{Yes}
\hfill{} \CheckBox[height=0.01cm, width=0.4cm]{No}
\noindent
\Submit{Submit}
\vspace{3ex}
\def\DefaultHeightofText{5pt}
\TextField{5pt}
\vspace{3ex}
\def\DefaultHeightofText{\baselineskip}
\TextField{baselineskip}
\end{Form}
\end{document}