2009-09-16 676 views
10

当我在LaTeX中撰写实验报告时,我最近不得不在表格上签名字段。如何在LaTeX中制作签名字段

    Trondheim 4.september 2009 


______________________   ___________________________ 
    Ivar Nesje      Team mate's name 

的问题是,我无法找到一个简单的方法来做到这一点让很多在网上搜索后,我想出了这个简单的解决方案

\newcommand{\doubleSignature}[3]{ 
\begin{minipage}[c]{\textwidth} 
\vspace{2cm} 

\makebox[12cm][c]{ 
#1, \today 
} 
\vspace{3cm} 

\makebox[12cm][c]{ 
\hfill \makebox[5cm][c] {\hrulefill} \hfill \makebox[5cm][c] {\hrulefill} \hfill 
} 
\makebox[12cm][c]{ 
\hfill #2 \hfill #3 \hfill 
} 
\vspace{1cm} 
\end{minipage} 
} 

这让我的类型;

\doubleSignature{Trondheim}{Ivar Nesje}{Team mate's name} 

实现想要的结果。如果你们有另一种方式来做这件事,而不是使用信件文件课程,我会很高兴听到你的建议。

回答

13

我想我会从\rule[<raise>]{<width>}{<thickness>}工作。因为参考点是左下角,您可能甚至不需要可选的引发参数。例如:

\newcommand{\doublesignature}[3][Ivar Nesje]{% 
    \parbox{\textwidth}{ 
    \centering #3 \today\\ 
    \vspace{2cm} 

    \parbox{7cm}{ 
     \centering 
     \rule{6cm}{1pt}\\ 
     #1 
    } 
    \hfill 
    \parbox{7cm}{ 
     \centering 
     \rule{6cm}{1pt}\\ 
     #2 
    } 
    } 
} 

我已经重新排列了您的参数以使您的名称成为可选项。

2

假设有没有其他格式的限制,我可能会使用一个tabular环境,而不是盒子,我会用\rule{length}{width},而不是\hrulefill

\newcommand{\doubleSignature}[3]{ 
\vspace{2cm} 

\begin{center} 
    #1, \today 
\end{center} 
\vspace{3cm} 

\noindent 
\begin{tabular}{lcl} 
    \rule{5cm}{1pt} & \hspace{2cm} & \rule{5cm}{1pt} \\ 
    #2 & & #3 
\end{tabular} 
\vspace{1cm} 
}