PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Document ID's



infutura
09-02-2005, 15:05
Hallo!

Ich möchte (nach dem Vorbild DJB (http://cr.yp.to/bib/documentid.html)) gern eine Document ID zu einem Dokment hinzufügen. Ich benutze meist den amsart Style.
Bei DJB ist die Document ID rechts neben dem Datum eingefügt (unten auf der ersten Seite). So hätte ich das auch gern. Leider weiß ich nicht, wie man vorgehen muss, um an dieser Stelle einen Text einfügen zu können. Hat jemand eine Tipp bzw. kann mir sagen, wo ich anfangen muss?

Viele Dank!
infutura

edico
09-02-2005, 20:36
... habe kurz mal nachgedacht und was zu Papier gebracht,
kannst nun testen und probieren, geht immer noch über studieren,
wenns nicht gefällt, bekommst trotzdem nicht zurück dein Geld ...
%
\documentclass[12pt]{scrartcl}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{url}

\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}

%--- macro TIMESTAMP ---------------------------------------------------------
%
\def\twodigits#1{\ifnum#1<10 0\fi\the#1}
\newcommand{\shorttoday}{\twodigits\month.%
\twodigits\day.\number\year}
\usepackage{uhrzeit}
%
%-----------------------------------------------------------------------------

%--- define ID ---------------------------------------------------------------
%
\def\id{${5742d71d0a7496e5f022a77d6c50f4d3}$} % md5sum
%
%-----------------------------------------------------------------------------

\begin{document}

\begin{titlepage}
\thispagestyle{empty}
\enlargethispage{30cm}

%%%--- LOGO ---
\begin{minipage}[c][\totalheight][c]{\textwidth}
\centering{%
\textbf{%
\textsc{\large{B~~r~z~e~l~ \& ~C~r~a~c~k~s} \\[-3mm]
\newcommand{\hrspu}{\rule{6.4cm}{0.6pt}} % hrspu =df. LogoLinie
\noindent\hrspu \\%[1mm]
{\small{C~o~n~s~u~l~t~a~n~t~s}}}}}
\end{minipage}

%%%--- HEADERS ---
\vspace{8.0cm}
\noindent\hspace*{3.8cm} % Text rechts verschieben
\raisebox{0pt}[0pt][0pt]{%
\begin{minipage}[t]{10.3cm} %14.3cm
\LARGE\textsf{\textsl{%
How to generate Document's ID \\[0.5cm]
Donald Duck}}
\end{minipage}}
\vspace{8.6cm} %

\noindent\hspace*{3.8cm} % Text rechts verschieben
\raisebox{0pt}[0pt][0pt]{%
\begin{minipage}[t]{10.3cm} %14.3cm
\LARGE\textsf{\textsl{%
Entenhausen - FORUM\\
``\LaTeX{}-Document''}}
\end{minipage}}

%%--- FOOTER ---
\vspace{5cm}
\hspace{-1.0cm}
\begin{center}

%--- Declaration TIMESTAMP + ID ----------------------------------------------
\flushright{%
\vspace{3mm}
{\footnotesize{\shorttoday~-~\id}}
}
%-----------------------------------------------------------------------------
\end{center}

\setcounter{page}{0}

\end{titlepage}

\section*{FAQ}

Ich möchte (nach dem Vorbild DJB) gern eine Document ID zu einem Dokment hinzufügen. Ich benutze meist den amsart Style.
Bei DJB ist die Document ID rechts neben dem Datum eingefügt (unten auf der ersten Seite). So hätte ich das auch gern. Leider weiss ich nicht, wie man vorgehen muss, um an dieser Stelle einen Text einfügen zu können. Hat jemand eine Tipp bzw. kann mir sagen, wo ich anfangen muss?

\section*{A}

This document represents how to produce a timestamp with an individualized ID
for any document.\par

\begin{itemize}
\item Produce a random ID

\begin{enumerate}
\item Choose fairly long random IDs, by typing
\begin{quote}
\verb|head /dev/urandom| \textbar \verb|md5sum|
\end{quote}
on Linux, to avoid accidental collisions \par
(see \url{http://cr.yp.to/bib/documentid.html}) or much easier
\item \verb|md5sum foo.tex| where foo.tex is your doc
\end{enumerate}

\item Produce a timestamp as in this tex file
\item Put timestamp-id together to the footer of the titelpage
\end{itemize}

%--- Declaration TIMESTAMP + ID ----------------------------------------------
\vspace{3mm}
\newcommand{\hrspu}{\rule{80mm}{0.6pt}}
\noindent\hrspu \\[1mm]
{\footnotesize{\shorttoday~-~\id}}
%-----------------------------------------------------------------------------

\end{document}
% ___END___

... dein amsart habe ich nicht berücksichtigt, weiss auch gar nicht, ob das einen Unterschied macht. Musste mal auf deine Belange adaptieren.
edico
P.S. 1.Korrektur: \textbar eingefügt

infutura
09-02-2005, 23:15
Hallo edico,

vielen Dank für deine Mühe! So etwas hatte ich nicht erwartet. Die paar Zeilen



%%--- FOOTER ---
\vspace{5cm}
\hspace{-1.0cm}
\begin{center}

%--- Declaration TIMESTAMP + ID ----------------------------------------------
\flushright{%
\vspace{3mm}
{\footnotesize{\shorttoday~-~\id}}
}
%-----------------------------------------------------------------------------


hätten eigentlich gereicht.
Leider harmoniert das nicht sehr schön mit amsart. Ich habe dort in der Regel keine eigene Titelseite. Der eigentlich Text beginnt schon auf der ersten Seite. Wenn man bei amsart ein \date oder \thanks angibt, wird dies sehr schön (ähnlich einer Fußnote) unten auf der ersten Seite plaziert. Und genau dort sollte auch möglichst die Document ID hin. Aber das kann man dann nicht (wie in deinem Beispiel) manuell machen, da man ja noch gar nicht weiß an welcher Stelle nun die erste Seite zu ende ist. Oder man müsste es ständig verschieben, wenn man irgendwo etwas einfügt. Ist diese Problematik verständlich?
Gibt es vielleicht eine einfache möglichkeit, \date zu ändern oder so etwas wie \date einzuführen, was sich so ähnlich verhält (nämlich unten auf der ersten Seite einen bestimmten Text einzufügen)?

Vielen Dank,
infutura

edico
10-02-2005, 07:08
Naja, du hast doch die Bausteine in der Hand.
%
\documentclass[12pt]{amsart}
\usepackage[latin1]{inputenc}
%--- define ID ---------------------------------------------------------------
%
\def\id{5742d71d0a7496e5f022a77d6c50f4d3} % md5sum
%
%-----------------------------------------------------------------------------
\title[docid]{Document-ID\\ amsart class}
\author{Donald Duck}
\thanks{\today~-~\id}
\begin{document}
\maketitle
Hier steht der Text
\end{document}
... oder hab ich wieder was nicht verstanden oder übersehen?
edico

infutura
21-02-2005, 12:31
Hallo!

Das ist möglich, wenn man keine wirklichen \thanks in dem Sinn anlegen möchte. Aber angenommen, ich möchte wirklich jemandem danken, dann muss ich es entweder so

\thanks{Mein Dankt gilt .... \today~-~\id}

oder so

\thanks{\today~-~\id Mein Dank gilt.... }

machen. Beides sieht irgend wie nicht besonders schön aus. Ich weiß es nicht. Ich könnte mir vorstellen, dass (z.B. bei latex2html oder so) unter Umständen auch mal ein "Dank" oder so vor dem Text, der in \thanks definiert wurde, gesetzt wird. Dann sieht man diese Improvisation noch deutlicher. Ich dachte vielmehr daran, so etwas wie \thanks nachzubauen, was z.B. unterhalb von den \thanks dann auf der Seite positioniert wird. Man müsste sich dazu vermutlich anschauen, wie der Text, der in \thanks eingetragen wurde, auf der Seite plaziert wird und so etwas nachbauen. Oder macht man das anders?

edico
21-02-2005, 21:35
... vielleicht schaust du dir den rcs-style einmal an. Dein Beispiel :
%
\documentclass[12pt]{amsart}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{blindtext}
\usepackage{rcs}
\RCSID $Id: foo.tex v.1.5 2005/02/14 00:38:31 duck Exp $
\title[docid]{Document-ID\\ amsart class}
\author{Donald Duck}
\begin{document}
\maketitle
\section{Uno}
\blindtext[2]
\newpage
\section{Duo}
\blindtext[2]
\end{document}
%
... ich hab das nicht weiter geprüft mit der amsart-class...
Bei allen anderen Klassen (von article bis hin zu allen KOMA) kann ich mit fancyhead den RCS auf das Deckblatt in den Footer packen. Bei amsart ist mir das so auf die Schnelle nicht gelungen. Warscheinlich muss man da wieder ins Eingemachte einsteigen und den cls-file manipulieren; das kannst du ja mal als Herausforderung ansehen ;-)
Vielleicht gibt es auch im package rcs noch Optionen; ich hab das nicht im Detail durchgespielt. Auf alle Fälle ist der style ausbaufähig als komplexes Revision Control System.
Vielleicht hilft das weiter.
edico

P.S. Ich habe nochmal eine Lösung ohne rcs auf vorheriger Basis, die thanks und id mit nötigem Abstand in die Fusszeile packt, wobei ID ggf. abgetönt in grau produziert werden kann:
...
%
\documentclass[12pt]{amsart}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{blindtext}
\usepackage{color}
\definecolor{GRAY}{gray}{.6}
%
%--- macro TIMESTAMP ---------------------------------------------------------
%
\def\twodigits#1{\ifnum#1<10 0\fi\the#1}
\newcommand{\shorttoday}{\twodigits\year/%
\twodigits\month/\number\day}
%
%-----------------------------------------------------------------------------
%
%--- define ID ---------------------------------------------------------------
%
\def\id{7c4232269891336cb0d503dd9974d3fa} % md5sum
%
%-----------------------------------------------------------------------------
%
\title[docid]{Document-ID\\ amsart class
\footnote{{\color{gray}{\tiny{%
\$Id:~draft.tex~\shorttoday~\id~spu~Exp~\$
}}}}}
\author{Donald Duck}
\thanks{Created with a little help from my friend\vspace{3mm}}

\begin{document}
\maketitle
\section{Eins}
\blindtext[2]
\newpage
\section{Zwo}
\blindtext[2]
\end{document}
...