长度问题

长度问题

我正在尝试在表单中的标签和表单控件之间插入一些空格hyperref。以下示例有效:

\documentclass{scrartcl}

\usepackage{calc}
\usepackage{hyperref}

\newcommand\insertlabel[1]{%
    % \newlength\twidth
    % \setlength\twidth{10em-\widthof{#1}}}
    #1:\hspace{4em}
}

\begin{document}
    \begin{Form}
        \TextField{\raisebox{.9ex}{\insertlabel{Name}}}
    \end{Form}
\end{document

但下面的操作不起作用:

\documentclass{scrartcl}

\usepackage{calc}
\usepackage{hyperref}


\newcommand\insertlabel[1]{%
    \newlength\twidth
    \setlength\twidth{10em}
    #1:\hspace{\twidth-\widthof{#1}}
}

\begin{document}
    \setlength\parindent{0pt}
    \begin{Form}
        \TextField{\raisebox{.9ex}{\insertlabel{Name}}} \\
    \end{Form}    
\end{document}

有人能告诉我问题出在哪里吗?

答案1

只需从新命令中删除新长度并将其放置在其上方即可。

\documentclass{scrartcl}

\usepackage{calc}
\usepackage{hyperref}
\newlength{\twidth}
\newcommand\insertlabel[1]{%
    \setlength\twidth{10em-\widthof{#1}}
    #1:\hspace{\twidth}
}

\begin{document}
\setlength\parindent{0pt}
    \begin{Form}
        \TextField{\raisebox{.9ex}{\insertlabel{Name}}} 
    \end{Form}
\end{document}

\newlength命令必须在序言中给出...并且您的命令从文档内部调用它。

此外,hspace 需要长度作为参数,而不是长度的计算。此处使用前先计算。

最后我删除了\\造成不必要的未满水平盒子的

相关内容