web-dev-qa-db-ja.com

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}

望ましい結果を達成するため。レタードキュメントクラスを使用せずに、これを行う別の方法がある場合は、あなたの提案を聞いて本当にうれしいです。

14
ivarne

私は \rule[<raise>]{<width>}{<thickness>} 。参照点は左下隅であるため、オプションのraising引数も必要ないでしょう。何かのようなもの:

\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
    }
  }
}

名前をオプションにするために、引数を並べ替えました。

18
dmckee

追加のフォーマット制限がないと仮定すると、ボックスの代わりに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}
}
3
las3rjock