1: \documentclass[a4paper]{article}
2:
3: \usepackage{ngerman}
4:
5: \usepackage[latin1]{inputenc}
6: \usepackage[T1]{fontenc}
7: \usepackage{ae}
8: %\usepackage{times}
9: %\usepackage{courier}
10:
11: % create in-text links in black (with PDF)
12: \usepackage[colorlinks=true,linkcolor=black]{hyperref}
13: % Format URLs nicely (without PDF)
14: %\usepackage{url}
15: % Grafik
16: \usepackage{graphicx}
17: % Verzeichnis mit Abbildungen
18: \graphicspath{{images/}}
19:
20: \title{Ablage von Massendaten im Archiv- und Backupsystem}
21:
22: \author{Dirk Wintergrün, Robert Casties}
23:
24: \date{V0.10.1 of \today}
25:
26: \begin{document}
27:
28: \maketitle
29:
30: \begin{abstract}
31: In diesem Dokument wird die Ablage von Massendaten auf dem
32: zentralen Archiv- und Ablagesystem des MPIWG beschrieben
33: \end{abstract}
34:
35: \tableofcontents
36:
37:
38: \section{Datentypen für die dieses Dokument gilt}
39: \label{sec:datentypen-fur-die}
40:
41:
42: Die in diesem Dokument definierten Regeln gelten
43: für\footnote{Empfehlungen zu Standards für Datenformate fehlen noch.}
44:
45: \begin{description}
46: \item[Archivdaten] die innerhalb der Digitalisierungsprojekte des
47: Instituts anfallen und als Rohdaten oder Produktionsdaten in
48: möglichst hoher Qualität ohne ständigen Zugriff langfristig
49: gesichert werden sollen (Pfad: \url{archive/data})
50:
51: \item[Langfristige Präsentationsdaten] die über das Internet verfügbar
52: gemacht werden sollen und deren URL bzw. URI langfristig stabil
53: gehalten werden sollen (Pfad: \url{online/permanent})
54:
55:
56: \item[Kurzfristige Präsentationsdaten] zu experimentellen Zwecken, die
57: kurzfristig und nur für begrenzte Zeit online verfügbar sein sollen
58: (Pfad: \url{online/experimental})
59:
60: \item[Mirror-Daten] größeren Umfangs, die am Institut im Rahmen von
61: Kooperationsprojekten gehalten werden und auf die ständiger Zugriff
62: z.B. zum Zweck der Synchronisation notwendig ist.(Pfad:
63: \url{mirrors})
64: \end{description}
65:
66:
67: \section{Zugang zum Server}
68: \label{sec:zugang-zum-server}
69:
70: Die Ablage aller genannter Dokumente erfolgt auf dem Fileserver
71: \texttt{foxridge}, der physisch am FHI steht.
72:
73: \begin{itemize}
74: \item Zugang per FTP, SCP, SFTP über:
75: \url{foxridge.mpiwg-berlin.mpg.de} \\
76: Zugang zu den Daten in den Verzeichnissen
77: \url{/mpiwg/archive/data}, \url{/mpiwg/online/permanent},
78: \url{/mpiwg/online/experimental} und \url{/mpiwg/mirrors}
79:
80: \item Zugang per Appletalk (AFP) über: Auswahl des Servers
81: \texttt{foxridge} in der Zone \texttt{Zentrale Fileserver} \\
82: Zugang zu den Daten über die Freigaben \url{archive\_data},
83: \url{online\_permanent}, \url{online\_experimental} und
84: \url{mirrors}
85: \end{itemize}
86:
87:
88: \section{Benutzerkennung}
89: \label{sec:benutzerkennung}
90:
91: Benutzerkennungen und Passworte für die Ablage der Massendaten werden
92: projektspezifisch vergeben.\footnote{Eine Regelung für die Vergabe der
93: Zugriffsrechte fehlt noch.}
94:
95:
96: \section{Erlaubte Zeichen in Datei- und Ordnernamen}
97: \label{sec:erla-zeich-datei}
98:
99: Erlaubte Zeichen in Datei- und Ordnernamen sind Kleinbuchstaben (a-z),
100: Großbuchstaben (A-Z), Ziffern (0-9), Bindestrich ("`-"'), Unterstrich
101: ("`\_"') und Punkt ("`."'). Andere Zeichen und Leerzeichen sind nicht
102: zulässig. Es wird empfohlen für Datei- und Ordnernamen ausschliesslich
103: Kleinschreibung zu verwenden.
104:
105: Für die Umsezung von Dateinamen, die anderen Zeichen enthalten wird
106: empfohlen alle Leerzeichen durch Bindestriche ("`-"') und andere
107: nichtzulässige Zeichen durch Unterstriche ("`\_"') zu ersetzen.
108:
109:
110: \section{Ablage von Archivdaten}
111: \label{sec:ablage-von-arch}
112:
113: Archivdaten werden nur temporär auf der Festplatte des Servers
114: gehalten. Nach der Archivierung auf Magnetbänder werden sie von der
115: Festplatte gelöscht. Die Metadaten bleiben auch nach dem Löschen der
116: Daten auf der Festplatte. Für Archivdaten ist auf Foxridge der Pfad
117:
118: \url{/mpiwg/archive/data} bzw. \url{archive_data}
119:
120: \noindent vorgesehen.
121:
122: Die Ablage von Archivdaten erfolgt abhängig davon ob es sich um
123: \emph{Rohdaten} oder \emph{Produktionsdaten} handelt.
124:
125:
126: \subsection{Ablage von Rohdaten im Archiv}
127: \label{sec:ablage-von-rohdaten}
128:
129: Als Rohdaten gelten alle Daten, die aus externen Quellen eingekauft
130: wurden oder am Institut erzeugt werden und am Anfang eines workflows stehen.
131:
132: Rohdaten können entweder über ein Web-Frontend oder direkt im
133: Filesystem des Servers abgelegt werden. Bei der Ablage über das
134: Web-Frontend wird ein Metadaten-File automatisch erzeugt. Bei der
135: Ablage "`von Hand"' auf dem Server kann ein Metadaten-File
136: nachträglich mit Hilfe eines Web-Frontends erzeugt werden.
137:
138: Die wichtigste Information über die Rohdaten ist ihre Quelle, die in
139: einem \texttt{acquisition} Metadaten-Element beschrieben wird.
140: Außerdem müssen, je nach Medientyp verschiedene technische Angaben
141: über die abgelegten Daten erfolgen.
142:
143: Weitere inhaltliche Metadaten, wie eine bibliographische Bestimmung
144: erhalten zunächst nur den Metadaten-Status "`vorläufig"'
145: (\texttt{wf-status} \texttt{preliminary}).
146:
147:
148: \subsubsection{Erste Ebene: Provider}
149: \label{sec:ebene-provider}
150:
151: Die Rohdaten werden im Filesystem des Servers in Ordnern entsprechend
152: ihrer Quelle, ihres \emph{Providers} abgelegt. Bei externen
153: Lieferungen ist der Lieferant direkt als Provider angesehen
154: werden. Das gleiche gilt z.B. für Arbeiten der Digitalisierungsgruppe der
155: Bibliothek. Bei Arbeiten, die im Rahmen von Projekten von einzelnen
156: Mitarbeitern im Haus erstellt werden, liegt es in der Verantwortung
157: der Projekte einen Provider-Namen zu benennen.
158:
159: Zur Vereinheitlichung der Provider-Bezeichnungen wird ein zentrales
160: Verzeichnis mit Provider-Namen und IDs erstellt.
161:
162:
163: \subsubsection{Zweite Ebene: Dokumente}
164: \label{sec:ebene-dokumente}
165:
166: Unterhalb der Provider-Ebene werden Dokumente nach ihrer ID abgelegt.
167: Zu diesem Zweck erhalten alle Dokumente eine \texttt{archive-id}, eine
168: eindeutige achtstellige Zeichenfolge, vom Archiv"=ID"=Server
169:
170: \url{http://content.mpiwg-berlin.mpg.de/archive/ids}.
171:
172: \noindent Wenn die Daten direkt im Filesystem abgelegt werden muss vor der
173: Ablage im Webfrontend des ID-Servers eine Archiv-ID für das Dokument
174: reserviert werden.
175:
176: \begin{figure}[htbp]
177: \centering
178: \includegraphics[width=0.6\textwidth]{archive-dirs}
179: \caption{Verzeichnisstruktur für den Rohdaten-Archivbereich}
180: \label{fig:dir-arch-raw}
181: \end{figure}
182:
183: Die Rohdaten werden in einzelne Verzeichnisse gelegt, die jeweils
184: einzelnen Dokumenten entsprechen. Als Verzeichnisname wird die
185: \texttt{archive-id} verwendet. Je nach Art der Daten sollten
186: Unterordner nach den Empfehlungen in
187: Abschnitt~\ref{sec:dritte-eben-unter} angelegt werden. Für die
188: Dateinamen gelten ebenfalls die in
189: Abschnitt~\ref{sec:vierte-eben-date} angegebenen Regeln.
190:
191: Einen schematischen Überblick über die Verzeichnisstruktur zeigt
192: Abbildung~\ref{fig:dir-arch-raw}.
193:
194:
195:
196: \subsection{Ablage von Produktdaten im Archiv}
197: \label{sec:ablage-von-produkt}
198:
199: \subsubsection{Erste Ebene: Projekte}
200: \label{sec:erste-eben-proj}
201:
202: Für jedes Projekt, das als Datenproduzent Archivdaten ablegen will,
203: wird ein Ordner mit dem Namen des Projektes angelegt:
204:
205: \url{archive/data/PROJEKTNAME}
206:
207: \noindent Bsp: das Humboldtprojekt
208:
209: \url{archive/data/humboldt}
210:
211: \noindent Innerhalb des eigenen Projektordners kann das Projekt, wenn nötig,
212: weitere Unterordner zur Untergliederung der Dokumente anlegen.
213:
214:
215: \subsubsection{Zweite Ebene: Dokumente}
216: \label{sec:zweite-eben-dokum}
217:
218: Für jedes abzulegende Dokument wird unterhalb des Projektordners ein
219: weiterer Ordner angelegt. Die Benennung dieser Ordner ist Teil des
220: Workflows des jeweiligen Projekts. Möglich die Verwendung
221: der \texttt{archive-id} als Ordnername analog zur Ablage der Rohdaten
222: (siehe Abschnitt~\ref{sec:ebene-dokumente}) aber auch andere Schemas.
223:
224: Jedes zu archivierende Dokument muss eine \texttt{archive-id}
225: haben. Bevor ein neuer Ordner für ein neues Dokument angelegt wird,
226: sollte vom Archive-ID-Server eine neue \texttt{archive-id} reserviert
227: werden.
228:
229:
230: \subsubsection{Dritte Ebene: Unterordner}
231: \label{sec:dritte-eben-unter}
232:
233: Innerhalb des Dokumentenordners werden weitere Unterordner für den
234: jeweiligen Datentyp angelegt:
235:
236: \url{TYPE}
237:
238: \noindent oder
239:
240: \url{TYPE-sernr}
241:
242: \begin{description}
243: \item[TYPE] sollte den Inhalt beschreiben z.B \url{img} oder
244: \url{pageimg} für Scans einzelner Seiten oder \url{ocr} für
245: OCR-Texte oder \url{meta} für einzelne Metadaten-Dateien zu
246: Dateien in den anderen Ordnern.
247:
248: \item[sernr] eine Seriennummer falls mehrere
249: Imagesätze zu einem Dokument gehören
250: \end{description}
251:
252: \noindent Außerdem muss in jedem Dokumentenordner eine Datei
253:
254: \url{index.meta}
255:
256: \noindent liegen, die Metadaten zum Ordner selbst enthält. Das Format dieser
257: Metadaten"=Datei ist im Dokument "`A simple metadata format for
258: resource
259: bundles"'\footnote{\url{http://pythia.mpiwg-berlin.mpg.de/projects/storagesystem/metadaten.html}}
260: beschrieben.
261:
262:
263: \subsubsection{Vierte Ebene: Dateien in den Ordnern}
264: \label{sec:vierte-eben-date}
265:
266: Für Dateinamen gilt als Mindestanforderung, dass der Dateiname nur aus
267: zulässigen Zeichen besteht und die Dateiendung den Dateityp anzeigt.
268: Die alphabetische Ordnung der Namen muss der Reihenfolge der Daten
269: entsprechen. Nummerierte Dateien sollten daher Namen mit führenden
270: Nullen erhalten, z.B. \url{00001.jpg}. Empfohlen wird folgende
271: Benennung:
272:
273: \url{imagenummer.SUFFIX}
274:
275: \noindent Imagenummer ist eine fünfstellige Zahl. Das Suffix muss den
276: Dateityp angeben. Eine (nicht erschöpfende) Liste von Dateitypen zeigt
277: Tabelle~\ref{tab:benennung-dateien}.
278:
279: \begin{table}[htbp]
280: \centering
281: \begin{tabular}{ll}
282:
283: suffix & Dateityp\\ \hline
284:
285: \texttt{jpg}, \texttt{jpeg} & JPEG-Bilddateien\\
286:
287: \texttt{tif}, \texttt{tiff} & TIFF-Bilddateien \\
288:
289: \texttt{png} & PNG-Bilddateien
290: \end{tabular}
291: \caption{Dateiendungen}
292: \label{tab:benennung-dateien}
293: \end{table}
294:
295:
296: \section{Ablage der Onlinedaten}
297: \label{sec:ablage-der-onlin}
298:
299: Für Daten die für die direkte Präsentation im Netz vorgesehen sind,
300: werden auf foxridge zwei Pfade angeboten:
301:
302: \url{online/experimental}
303:
304: \noindent und
305:
306: \url{online/permanent}
307:
308: \noindent Für Dokumente, die nur temporär präsentiert werden sollen,
309: ist \url{online/experimental} vorgesehen. Pfade innerhalb dieses
310: Bereiches können verändert und gelöscht werden.
311:
312: Für Dokumente, die auf längere Zeit im Netz bleiben sollen, ist
313: \url{online/permanent} vorgesehen. Pfade in diesem Bereich dürfen
314: nicht geändert oder gelöscht werden, Dokumente dürfen nicht verschoben
315: oder umbenannt werden.
316:
317: Die interne Struktur der Projekt- und Dokumentordner in
318: \url{online/permanent} entspricht der in
319: Abschnitt~\ref{sec:ablage-von-arch} dargestellten Struktur von
320: \url{archive/data}.
321:
322:
323:
324: \section{Workflow: Scannen durch die Digitalisierungsgruppe}
325: \label{sec:workflow-fur-die}
326:
327:
328: Größere Mengen von Büchern und Manuskripten werden von der
329: Digitalisierungsgruppe der Bibliothek in hoher Qualität gescannt.
330: Diese Digitalisierungen erfolgen im Auftrag von Projektem, einzelnen
331: Forschern oder auf eigene Initiative der Bibliothek. Die Digitalisate
332: werden zunächst in drei verschiedenen Formen erzeugt.
333:
334: \subsection{Typen von Bilddaten}
335: \label{sec:daten-typen}
336:
337: \begin{itemize}
338: \item Als \emph{Roh-Image} in hoher Auflösung direkt aus dem Scanner,
339: ohne weitere Nachbearbeitung\footnote{Die Digitalisierungsgruppe
340: dokumentieren dazu welche Arbeits- und Bearbeitungsschritte bei
341: welchem Gerät als integraler Teil des Scanvorgangs betrachtet
342: werden.}. Diese Dateien sind nicht für die weitere Nutzung durch
343: Andere gedacht und sollen nur archiviert werden.
344:
345: \item Als \emph{User-Image} in hoher Auflösung mit Nachbearbeitung wie
346: Farbkorrektur und Schärfung. Diese Dateien sind für die weitere
347: Nutzung durch die Projekte gedacht und sollen ebenfalls archiviert
348: werden.
349:
350: \item Als \emph{Online-Image} in reduzierter Auflösung für die
351: Online-Präsentation. Diese Dateien können ebenfalls durch andere
352: Projekte genutzt werden und müssen online zur Verfügung stehen.
353: \end{itemize}
354:
355: Die Scan-Arbeiten und die Erzeugung der Roh- und User-Images werden
356: von der Digitalisierungsgruppe selbständig durchgeführt.
357:
358:
359: \subsection{Ablage und Übergabe der Rohdaten}
360: \label{sec:ablage-und-ubergabe}
361:
362: \begin{enumerate}
363: \item Die Digigruppe erstellt Roh- und User-Images auf lokalen Platten
364: oder Bereichen für Bewegungsdaten.
365:
366: \item Die Digigruppe kopiert Roh-Images und User-Images in einen
367: Dokumenten-Ordner mit den notwendigen Metadaten und einer neuen
368: Archiv-ID nach den Regeln in Abschnitt~\ref{sec:ebene-dokumente} im
369: Bereich \url{archive/data/library}. Roh-Images werden in einem
370: Unterordner \url{raw} abgelegt und User-Images in \url{pageimg}.
371:
372: \item Die Digigruppe benachrichtigt den Auftraggeber (wenn im Auftrag)
373: über den Ablageort der Daten.\footnote{Idealerweise würden die Roh-Images
374: bereits archiviert und von der Platte gelöscht während die User-Daten erhalten
375: bleiben.}
376:
377: \item Der Auftraggeber verwendet die User-Images. Veränderte Formen
378: der Images erstellt und archiviert der Auftraggeber in seiner
379: eigenen Projekt"=Hierarchie.
380:
381: \item Der Auftraggeber veranlasst die vollständige Migration (Löschung
382: von der Festplatte) der von der Digigruppe erstellten Daten sobald
383: sie nicht mehr direkt verwendet werden.
384: \end{enumerate}
385:
386:
387:
388: \subsection{Ablage der Online-Images}
389: \label{sec:ablage-der-online}
390:
391: Die Erstellung und Ablage der Online"=Images erfolgt je nach Absprache
392: mit dem Projekt
393:
394: \begin{itemize}
395: \item als fertige Images in der Online"=Hierarchie der Bibliothek, wenn
396: es ein Auftrag durch ein Projekt ohne eigene Online-Präsenz ist
397:
398: \item als fertige Images im Archivbereich bei den User-Images in einem
399: Ordner \url{jpg} (o.ä.) zur Nutzung durch das Projekt in seinem
400: Online-Bereich
401:
402: \item für Projekte, die selbst weiter verarbeitete Online-Images zur
403: Verfügung stellen werden keine Online-Images erzeugt.
404: \end{itemize}
405:
406:
407:
408: \section{Erfassung der Metadaten für Archivdaten}
409: \label{sec:use-case-workflow}
410:
411:
412: \subsection{Abfrage der Metadaten}
413: \label{sec:abfr-der-metad}
414:
415: Den Entscheidungsbaum der Metadaten-Abfrage zeigt
416: Abbildung~\ref{fig:arch-meta-abfrage}.
417:
418: \begin{figure}[htbp]
419: \centering
420: \includegraphics[width=\textwidth]{meta-decision}
421: \caption{Entscheidungsbaum der Metadaten-Abfrage für Archivdaten}
422: \label{fig:arch-meta-abfrage}
423: \end{figure}
424:
425:
426: \subsubsection{Dokumentenstatus: Rohdaten}
427: \label{sec:dokum-rohd}
428:
429: Als Rohdaten gelten alle Daten, die aus externen Quellen eingekauft
430: wurden oder am Institut erzeugt werden und am Anfang eines möglichen
431: workflows stehen.
432:
433: Zu Rohdaten müssen weitere Informationen für einen
434: \texttt{acquisition} Block in den Metadaten eingegeben werden:
435:
436: \begin{description}
437: \item[acquisition] the acquisition source of this resource -- required
438: \begin{description}
439: \item[provider] where this resource came from --required
440: \begin{description}
441: \item[name] free-text name of the provider (institution or
442: individual)
443:
444: \item[address] address of the provider
445:
446: \item[contact] contact person at the provider (i.e. name and email)
447:
448: \item[url] URL related to the provider
449: \end{description}
450:
451: \item[date] date of acquisition -- required
452:
453: \item[description] free-text description of the acquisition source or
454: additional information
455:
456: \item[provider-id] id of the provider (internally used) -- deduced
457: \end{description}
458: \end{description}
459:
460:
461: \subsubsection{Dokumentenstatus: Verarbeitete Daten}
462: \label{sec:dokum-verarb-daten}
463:
464: Wenn die verarbeiteten Daten aus bereits abgelegten Rohdaten erzeugt
465: wurden, dann sollte ein Hinweis auf das Rohdaten-Verzeichnis im Tag
466: \texttt{derived-from} angebracht werden.
467:
468: \begin{description}
469: \item[derived-from] Container for the description of the original
470: resource if this resource is a modified version of another resource
471: -- required for processed data.
472:
473: \begin{description}
474: \item[archive-id] The ID of the original resource
475: -- required.
476:
477: \item[archive-path] The full path to the original resource
478: -- deduced.
479:
480: \item[description] An informal textual description of the relation
481: of this resource to the original resource -- optional.
482: \end{description}
483: \end{description}
484:
485:
486: \subsubsection{Medientyp: Video}
487: \label{sec:medientyp-video}
488:
489: Filme haben den Medientyp \texttt{video}. Sie können zusätzlich mit
490: Metadaten in einem \texttt{film-acquisition} Metadaten-ELement
491: beschrieben werden.
492:
493: \begin{description}
494: \item[film-acquisition] description of a (documentary) film --
495: required for documentary film
496: \begin{description}
497: \item[recording] specification of the recording process
498: \begin{description}
499: \item[author] the person or persons doing the recording
500:
501: \item[date] the date or time span when the film was recorded
502:
503: \item[location] the place where the film was recorded
504:
505: \item[device] recording device used (e.g. ``Sony CP-DV8 Camcorder'')
506:
507: \item[format] format of the recorded film -- required (e.g. ``DV 720x524 25fps
508: interlaced'')
509: \end{description}
510:
511: \item[description] free-form description of the recording and the
512: content of the film
513: \end{description}
514: \end{description}
515:
516:
517: \subsubsection{Medientyp: Audio}
518: \label{sec:medientyp-audio}
519:
520: Für den Medientyp \texttt{audio} exisitieren noch keine
521: Metadaten-Vorschläge.
522:
523:
524:
525: \subsubsection{Medientyp: Image}
526: \label{sec:medientyp-image}
527:
528: Der Medientyp \texttt{image} ist für Einzelbilder und Gruppen von
529: Bildern gedacht, die kein Buch o.ä. darstellen.
530:
531: Für die Beschreibung der Erfassung und das Format der digitalisierten
532: Bilder gibt es die Metadaten-Elemente \texttt{image-acquisition} und
533: \texttt{img}.
534:
535: \begin{description}
536: \item[image-acquisition] description of the image production process
537: -- required
538: \begin{description}
539: \item[device] acquisition device (e.g. ``flatbed scanner'')
540:
541: \item[image-type] type and color-depth of the image -- required (e.g. ``RGB 24
542: bit'')
543:
544: \item[production-comment] additional textual information about the
545: production process
546: \end{description}
547: \end{description}
548:
549: \begin{description}
550: \item[img] digital image information.
551:
552: \begin{description}
553: \item[original-size-x] The width of the original
554: image -- required. \\
555: The unit of measure can be contained as parameter \texttt{unit},
556: the default is meter ``m''. The width to be considered is the
557: total width of the scanned area.
558:
559: \item[original-size-y] The height of the original image -- required.
560:
561: \item[original-pixel-x] The width of the hi-res scan in pixels -- deduced.
562:
563: \item[original-pixel-y] The height of the hi-res scan in pixels -- deduced.
564: \end{description}
565: \end{description}
566:
567: Für die Inhaltliche Erfassung von Bildern gibt es bisher keinen
568: Metadaten-Vorschlag.
569:
570:
571: \subsubsection{Medientyp: Text}
572: \label{sec:medientyp-text}
573:
574: Für Volltexte, d.h. maschinenlesbaren Text in verschiedenen Formaten
575: ist der Medientyp \texttt{text} gedacht.
576:
577: Die inhaltliche Erfassung erfolgt über das Metadaten-Element
578: \texttt{bib} mit verschiedenen Untertypen, das sich an der
579: Projektbibliographie des MPIWG orientiert.
580:
581:
582:
583: \subsubsection{Medientyp: Scanned Text}
584: \label{sec:medi-scann-text}
585:
586: Zum Medientyp \texttt{scanned-text} gehören alle gescannten Bilder von
587: Texten, die als Text behandelt werden.
588:
589: Die Medienerfassung orientiert sich am Medientyp \texttt{image} mit
590: den Elementen \texttt{image-acquisition} und \texttt{img}.
591:
592: Die inhaltliche Erfassung orientiert sich am Medientyp \texttt{text}
593: mit dem \texttt{bib} Element.
594:
595:
596: \subsubsection{Medientyp: other}
597: \label{sec:medientyp-other}
598:
599: Die Vergabe und Behandlung von Medientypen sollte flexibel und
600: erweiterbar sein.
601:
602:
603: \end{document}
604:
605:
606:
607: %%% Local Variables:
608: %%% mode: latex
609: %%% TeX-master: t
610: %%% End:
611:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>