Erstellen einer Doktorarbeit

[Masterfile] [Makefile] [Grafiken] [css]

Texte, die in LaTeX geschrieben sind, lassen sich (fast) problemlos in pdf oder html konvertieren oder in Form eines Buches bringen. Was dabei zu beachten ist, versuche ich hier mal zusammenzustellen:

Die Hauptdatei "Dissertation.tex"

 
%%% check whether we are running pdflatex 
newififpdf 
ifxpdfoutputundefined
   pdffalse           % we are not running pdflatex
else
   pdfoutput=1        % we are running pdflatex  
   pdfcompresslevel=9 % compression level for text and image 
   pdftrue
fi
 
%%% choose global options depending on whether
%%% we are running under pdflatex 
ifpdf
   documentclass[a4paper,12pt]{book}
   usepackage[T1]{fontenc}
   usepackage{times}
   usepackage[latin1]{inputenc}
   usepackage{caption}
   usepackage[english,german]{babel}
   usepackage[dvips]{graphicx,epsfig,rotating}
   usepackage{amsmath}
   usepackage{amssymb}
   usepackage{longtable}
   usepackage{lscape}
   usepackage{here}
   % Die folgenden 2 Zeilen muessen fuer latex2html auskommentiert werden 8-( 
   usepackage[pdftex]{color}
   usepackage[pdftex,colorlinks=true, pdfstartview=FitV, linkcolor=Agreen,  citecolor=Ablue, urlcolor=Agreen, filecolor=Ablue, bookmarks=true]{hyperref}
   %fuer Titelblatt:
   %setlength{textheight}{220mm}
   %setlength{oddsidemargin}{15mm}  %gemurkse, damit Seiten gut aussehen 
   setlength{oddsidemargin}{20mm}  %gemurkse, damit Seiten gut aussehen 
   setlength{evensidemargin}{0mm}  %gemurkse, damit Seiten gut aussehen 
else
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   documentclass[a5paper,10pt]{book}
   special{papersize=148mm,210mm}
   usepackage[latin1]{inputenc}
   usepackage{caption}
   usepackage[english,german]{babel}
   usepackage[dvips]{graphicx,epsfig}
   usepackage{rotating}
   usepackage{amsmath}
   usepackage{amssymb}
   usepackage{longtable}
   usepackage{lscape}
   usepackage{here}
   usepackage{color}
   usepackage{html}
   renewcommand{captionfont}{small}
   renewcommand{captionlabelfont}{bfseries}
   setlength{textheight}{170mm}
   setlength{textwidth}{110mm}
   setlength{topmargin}{-15mm}
   setlength{oddsidemargin}{-2mm}   %gemurkse, damit seiten gut aussehen 
   setlength{evensidemargin}{-10mm} %gemurkse, damit seiten gut aussehen 
fi
 
%Seitenstil 
pagestyle{headings}
%Farbe 
definecolor{Agreen}{rgb}{0.0,0.53,0.0}
definecolor{Ared}{rgb}{0.8,0.0,0.0}
definecolor{Ablue}{rgb}{0.0,0.0,0.8}
% Absatzeinr"uckung 
setlength{parindent}{0pt}
 
%===============================================% 
begin{document}
%===============================================%
%                Titelseite                     % 
pagenumbering{roman}
begin{titlepage}
begin{center}
  bf {Large Dynamische Korrelationen und nichtnormale Verst"arkung in turbulenten Scherstr"omungen}
  vfillvfill
  includegraphics[width=0.25textwidth, height=0.25textwidth]{Titelbild}
end{center}
vfill
begin{center}
  Zur Erlangung des Doktorgrades
  der Naturwissenschaften
  (Dr. rer. nat.)
  vfill
  dem Fachbereich Physik
  der Philipps-Universit"at Marburg
  vorgelegt
  vfill
  von
  {bf {large Arne Jachens}}
  aus der
  Freien Hansestadt Bremen
  vfillvfillvfill
  Marburg/Lahn 2004
  end{center}
  end{titlepage}
 
newpage
pagestyle{empty}
vspace*{fill}
{small
Vom Fachbereich Physik der Philipps-Universit"at Marburg
als Dissertation angenommen am: 16.07.2004
Erstgutachter: Prof. Bruno Eckhardt
Zweitgutachter: Prof. Holger Neumann
Tag der m"undlichen Pr"ufung: 22.07.2004
}
 
pagestyle{headings}
setcounter{page}{0}
tableofcontents  
listoffigures
listoftables 
 
newpage
% Damit die Seitenausrichtungen passen, muss bis hierher
% eine gerade Anzahl Seiten sein, so dass Kapitel 1 dann 
% mit Seitenzahl 1 auf einer rechten Seite ist.  
thispagestyle{empty}
pagenumbering{arabic}
setcounter{page}{0}
 
%=========================================% 
chapter{Titel, Kapitel1}label{Kap1}
input{Kap1Sec1.tex}
input{Kap1Sec2.tex}
 
%=========================================% 
chapter{Titel, Kapitel2}label{Kap2}
input{Kap2Sec1.tex}
input{Kap2Sec2.tex}
 
%=========================================% 
bibliographystyle{unsrt}
bibliography{Literatur.bib}
 
pagestyle{empty}
%=========================================% 
cleardoublepage
rule{0mm}{100mm}
newpage
input{Danksagung.tex}
%=========================================% 
 
newpage
begin{center}
{Large {bf Wissenschaftlicher Werdegang}}
end{center}
% Da das pdflatex fuer die A4-Variante verwendet wird und
latex fuer A5, kann hier leicht die Breite angepasst werden: 
ifpdf
  begin{longtable}{rp{100mm}} % A4 
else
  begin{longtable}{rp{70mm}}  % A5 
fi
10/1994 -- 09/1996 & Studium der Physik an der Universit"at Bremen[10pt]
27.08.1996         & Vordiplom[10pt]
10/1996 -- 02/2000 & Studium der Physik an der Philipps-Universit"at Marburg[10pt]
14.02.2000         & Diplom newline {em glqq Numerische Verfahren zur Simulation der Rohrstr"omung in drei Dimensionengrqq }[10pt]
seit 08/2000       & Anstellung als wissenschaftlicher Mitarbeiter in der Arbeitsgruppe Komplexe Systeme am Fachbereich Physik der Philipps-Universit"at Marburg[10pt]
22.07.2004         & Promotion
end{longtable}
 
%=========================================% 
end{document} 

Durch das Aufspalten des Gesamtwerks in kleine Unterabschnitte bleiben die einzelnen Datein übersichtlich und beim Einbinden per input{Kap1Sec1.tex} lassen sich während der Erstellung einzelne Abschnitte, an denen gerade nicht gearbeitet wird, leicht auskommentieren und das LaTeXen geht schneller.

Makefile

Um aus der LaTeX-Datei die verschiedenen Endprudukte zu erzeugen, bietet es sich an, sich ein Makefile zu erstellen.
Der Aufruf erfolgt dann z.B. mit make pdf text=Dissertation.

  • tex
    startet ganz normal LaTeX. Der 2. Aufruf dient, um die Referenzen setzen zu können, die beim 1. Durchlauf in Dissertation.aux geschrieben wurden; Inhalts- Abbildungs- und Tabellenverzeichnis werden automatisch generiert. Danach wird BibTex gestartet, um die Bibliografie in Dissertation.bbl zu schreiben und mit dem 3. Aufruf von LaTeX, werden dann auch die Zitatreferenzen in den Text eingebaut.
  • pdf
    macht das gleiche wie tex, nur dass hier pdfLaTeX verwendet wird. Dies liefert direkt eine Ausgabe in pdf, in der alle Referenzen farbig hervorgehobene, funktionsfähige Links sind.
  • buch
    gibt die Arbeit als Buch im A5-Format aus. Mit den pstools werden die Seiten so umsortiert, dass man Dissertation.ps direkt auf einen doppelseitigen Drucker schicken kann und dann durch Schneiden des Papierstapels in der Mitte und Aufeinanderlegen der beiden Hälften die Broschüre so sortiert hat, dass sie direkt zum Binden gegeben werden kann.
  • buch_pdf
    Manche Mensche bevorzugen pdf statt ps, allerdings geht eine Drehung der Seiten beim Wandeln mit ps2pdf verlohren, so dass Vorder- und Rückseiten nicht zueinander passen! Daher müssen bei diesem pdf erst die Vorderseiten gedruckt werden, die Blätter per Hand umgeschichtet werden, um dann die Rückseiten zu drucken. Manchmal ist es hilfreich, Vorder- und Rückseiten in getrennten Datein zu haben.
  • clean
    Beim Umschalten zwischen pdf und ps hängt sich LaTeX manchmal auf. In dem Fall kann es helfen, einfach alle generierten Dateien zu löschen.
  • html
    erzeugt schließlich html-Seiten aus dem Text. Dies hat den Vorteil, dass sich das Dokument besser navigieren lässt und einzelne Abschnitte direkt referenziert werden können. Nachteil dabei ist, dass alle Formeln als kleine Grafiken eingebunden werden.
    Das erzeugte html muss noch an die individuellen Bedürfnisse angepasst werden, dies geschieht hier mit den perl-Aufrufen und in Dissertation.css (s.u.).
 
tex	:
	 latex $(text)
	 latex $(text)
	 bibtex $(text) 
	 latex $(text)
 
html	:
	 rm $(text)/*.html
	 latex2html $(text)
	 perl -pi -e "s/HEIGHT="24"/HEIGHT="17"/g" $(text)/*.html
	 perl -pi -e "s/WIDTH="63"/WIDTH="17"/g" $(text)/*.html
	 perl -pi -e "s/WIDTH="26"/WIDTH="17"/g" $(text)/*.html
	 perl -pi -e "s/WIDTH="37"/WIDTH="17"/g" $(text)/*.html
	 perl -pi -e "s/Unterabschnitte/ /g" $(text)/*.html
	 cp $(text).css $(text)/$(text).css
	 perl -pi -e "s/ $(text).ps
	 gv $(text).ps
 
buch_pdf	: # trennt Vorder- u. Rueckseiten
	 latex $(text)
	 dvips -f $(text).dvi | psbook | psnup -pa4 -Pa5 -2 | 
	 pstops -pa4 "2:0U(21cm,29.70cm)" > $(text)1.ps
	 ps2pdf $(text)1.ps
	 dvips -f $(text).dvi | psbook | psnup -pa4 -Pa5 -2 | 
	 pstops -pa4 "2:1U(21cm,29.70cm)" > $(text)2.ps
	 ps2pdf $(text)2.ps
 
ps	: # A5 oder A4 ?
	 latex $(text)
	 dvips $(text)
	 gv $(text).ps
 
crop:
	ls MDL/*.pdf > MDL/index
	./cropPDF.pl MDL/index
 
clean	:
	 rm -f *.aux 
	 rm -f *.log
	 rm -f *.out 
	 rm -f *.toc
	 rm -f *.tpt 
	 rm -f *~
	 rm -f *.dvi 
	 rm -f *.bbl
	 rm -f *.blg 
	 rm -f *.ps
 
convert	:
	 perl -pi -e "s/0.0000 0.0000 m//g" $(file).eps
	 perl -pi -e "s/0.0000 1.0000 l//g" $(file).eps
	 perl -pi -e "s/1.2941 1.0000 l//g" $(file).eps
	 perl -pi -e "s/1.2941 0.0000 l//g" $(file).eps
	 epstopdf $(file).eps

Einbinden von Grafiken

Beim Einbinden von Grafiken ergibt sich das Problem, dass LaTeX nur mit eps umgehen kann, während pdfLaTeX alles (pdf, png, jpg, ...) nur kein eps mag. Liegen aber beide Varianten im Grafikverzeichnis, bindet man die Abbildungen per includegraphics ein und lässt die Dateiendungen weg, suchen sich LaTeX bzw pdfLaTeX das jeweils passende Format.

 
begin{figure}[H]
 begin{center}
  includegraphics[width=0.8textwidth]{Bilder/Abbildung1}
  caption[kurzer Titel]{Ausführlicher Titel}label{Abb1}
  end{center}
end{figure}

Die Bildbreite in Relation zur Textbreite anzugeben bietet den Vorteil, dass die Grafiken beim Wechsel von A4 zu A5 automatisch angepasst werden.
Der Positionierungsparameter weist LaTeX an, wie weit die Grafik im Text verschoben werden kann, um eine optimale Seitenaufteilung zu erzielen. Das Packet "here" zwingt LaTeX mit dem Parameter H das Bild genau an dieser Stelle einzubauen.
Der kurze Titel ist für das Abbildungsverzeichnis, während die lange Bildbeschreibung unter dem Bild positioniert wird.

Beim Erstellen von Diagrammen mit xmgrace sind die eps-Grafiken mit einem Recheck hinterlegt, das größer als die BoundingBox ist und Textzeilen verdecken kann. Diesen Kasten wird man mit make convert file=Bilder/Abbildung2 los und erhält gleichzeitig die pdf-Version des Bildes.

css-stylefile "Dissertation.css"

css-Styledateien sind eine effiziente Methode, zentral ein einheitliches Layout für Internetseiten festzulegen.

 
body            { background-color:white; margin-top:10px; }
h1,h2,p,ol,ul,li,tt,td,a,strong,em,br { font-family:Arial,Helvetica,sans-serif; }
p,ol,ul,li,td,a,strong,em,br { color:black; font-size:medium; }
h1,h2 { color:white; background-color:#008800; font-weight:bold; width:500px; padding:1px; padding-left:40px; }
h1              { font-size:large; }
h2              { font-size:small; margin-top:0px; margin-bottom:0px; }
tt              { color:#008800; }
pre             { font-size:small; }
table.frame     { width:600px; border-collapse:collapse; }
td.inhalt       { vertical-align:top; padding:4px; }
td.menu         { width:15%; vertical-align:top; border-right-width:3px; border-right-color:#008800; border-right-style:solid; padding:4px; }
td.kopflinks    { border-bottom-width:3px; border-bottom-color:#008800; border-bottom-style:solid; text-align:center; border-right-width:3px; border-right-color:#008800; border-right-style:solid; }
td.kopfrechts   { border-bottom-width:3px; border-bottom-color:#008800; border-bottom-style:solid; text-align:center; }
p               { width:500px; }
ul              { width:450px; }
ul.submenu      { list-style-image:url(./arrow.gif); width:100px; text-indent:0px; padding-left:15px; margin:0px; }
 
a:link          { font-weight:bold; color:#008800; text-decoration:none; }
a:visited       { font-weight:bold; color:#008800; text-decoration:none; }
a:active        { font-weight:bold; color:#008800; text-decoration:underline; background-color:#dddddd; }
a:hover         { font-weight:bold; color:#008800; text-decoration:underline; background-color:#dddddd; }
 
a.gross:link    { font-size:large; }
a.gross:visited { font-size:large; }
a.gross:active  { font-size:large; }
a.gross:hover   { font-size:large; }
 
a.klein:link    { font-size:small; font-weight:normal; }
a.klein:visited { font-size:small; font-weight:normal; }
a.klein:active  { font-size:small; font-weight:normal; }
a.klein:hover   { font-size:small; font-weight:normal; }
 
Login
Valid HTML 4.01!