Как создать поле подписи в LaTeX
Когда я пишу свои лабораторные отчеты в LaTeX, мне недавно пришлось создать поле подписи в форме.
Trondheim 4.september 2009
______________________ ___________________________
Ivar Nesje Team mate 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 name}
Чтобы достичь желаемого результата. Если у кого-то из вас есть другой способ сделать это, не используя класс документа letter, я был бы очень рад услышать ваши предложения.
Ответы
Ответ 1
Я думаю, что работаю из \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}
}