Sachverstand2 @ Geocities.com
18. Oktober 2005
Den ersten Vorteil erschlagen wir, indem wir pdf-Dateien erzeugen.
Ums Nachdenken bei den Bildern kommt man nicht so einfach herum, da muß man das entsprechende Kapitel dieses Tutorials lesen.
LaTeX benutzt ein professionelles Paradigma:
Wenn das float noch auf diese Seite paßt, dann kommt es dorthin,
sonst kommt es eben auf die nächste Seite.
Arbeitsblätter unter LaTeX zu erstellen ist dagegen eine Strafe. Es gibt allerdings Mittel und Wege, sie (selbst unter windos) zu erstellen und anschließend unter Benutzung von Open-Source-Software nahtlos ins pdf-Dokument einzubinden.
X einrichten: 800x600x256 Farben für 14''-Monitor, 1024x768x256 für 17''-Monitor.
Reboot, CD rausnehmen, fertig.
\documentclass [11pt] {article} \usepackage {german} \usepackage {umlaut} \usepackage {palatino} \usepackage {graphicx} \usepackage {boxedminipage} \usepackage [margin=14mm] {geometry} \author {http://www.freewebs.com/gtslehrer} \date {\today} \title {Latex f"ur Lehrer - Test 1} \pagestyle {headings} \parindent 0.mm \parskip=1mm \fboxsep=5mm \fboxrule=0.5mm \newenvironment{lehr}{ \begin{center} \begin{boxedminipage}{\textwidth} \begin{bf} \begin{large} }{ \end{large} \end{bf} \end{boxedminipage} \end{center} } \begin{document} \maketitle \tableofcontents \section{Einleitung} bla bla bla bla bla bla bla bla bla bla bla bla bla bla \section{Durchf"uhrung} bla bla bla bla bla bla bla bla Ich fahre keinen Citro\"en. \begin{lehr} Referentielle Integrit"at ist... \end{lehr} \section{Zusammenfassung} bla bla bla bla bla bla bla bla bla bla bla bla bla bla \end{document}
Nach so viel Theorie wollen Sie sicher nun Ihre eigenen Dokumente erstellen.
Dazu brauchen Sie Ihren Satz Dateien (oder eine Datei mit allem drin - für den Anfang reicht das) und eine Kommandozeile.
LaTeX ist allerdings ein Frontend zu TeX, und ist in TeX geschrieben. 1
latex test1 # dabei kommt u.a. test.dvi heraus dvips -f test1.dvi > test1.ps # konvertiert nach postscript ps2pdf test1.ps # erzeugt test1.pdf startx # startet X <klick>xterm # startet ein xterm xpdf test1.pdf # startet den pdf-viewer.
pdflatex test1 # dabei kommt u.a. test.pdf heraus startx # startet X <klick>xterm # startet ein xterm xpdf test1.pdf # startet den pdf-viewer.
Textdateien werden aber schnell unübersichtlich, deshalb rate ich Ihnen:
Für dieses Dokument verwende ich gerade /home/nemo/tex/l4l.
Legen Sie im aktuellen Verzeichnis einen Softlink an, zB
cd /home/nemo/tex/l4l
ln -s ../header1.tex
ln -s ../header2.tex
Dieses Dokument sieht bisher so aus:
% this is l4l.tex \include{header1} \title {LaTeX f"ur Lehrer} \include{header2} \include{intro} \include{paradigma} \include{workstation} \include{1stlatex} \include{orga} \include{anhang} \end{document}
% this is header1.tex \documentclass [11pt, a4paper] {article} \usepackage {german,umlaut} \usepackage {palatino} %\renewcommand{\rmdefault}{phv} \usepackage {graphicx} \usepackage {boxedminipage} \usepackage [margin=14mm] {geometry} \pagestyle {headings} \parindent 0.mm \parskip=1mm \fboxsep=5mm \fboxrule=0.5mm \newenvironment{lehr}{ \begin{center} \begin{boxedminipage}{\textwidth} \begin{bf} \begin{large} }{ \end{large} \end{bf} \end{boxedminipage} \end{center} }
% this is header2.tex \author {http://www.freewebs.com/gtslehrer} \date {\today} \begin{document} \maketitle \tableofcontents
Die Dateien werden durch include eingebunden.
Sie können auch input nehmen, aber dann müssen Sie das clearpage selbst hinschreiben.
Sie haben selbstverständlich schon gemerkt, daß alle Befehlsworte
in LaTeX mit einem \
(Backslash) anfangen, und
Kommentare mit einem Prozentzeichen.
# $ % & ~ ^ _ \ { } $ < >
Dies ist ein Tutorial. Sie brauchen zum Arbeiten mit LaTeX eh ein Manual. Versuchen Sie es mit den exzellenten Seiten von Sheldon Green, die sind mit auf der RedHat 6.2-CD.
Ist zu schwierig für ein Tutorial wie dieses.
Eine Umgebung beginnt mit
\begin{lehr} Inneres der Umgebung \end{lehr}
.
Schauen Sie sich die Umgebung lehr und ihre
Auswirkung im Anhang an.
Ein Kommando erstreckt sich bis zum Ende des Absatzes, bis zum
Ende des Dokumentes oder bis zur nächsten rechten Mengenklammer.
{\em Hervorgehobener Text}
kommt so heraus:
Hervorgehobener Text.
Aus 3 $>$ 4
kommt heraus: 3 4.
Falls Ihnen das nicht gefällt, versuchen Sie:
$$ 3_{langer Index} > \frac{zaehler=4^{4^{44}}}{nenner=\sqrt{2}} $$
mit dem folgenden Ergebnis:
$$ y_2 = \sqrt{ \frac{1+ \frac{2}{3} }{1- \sqrt{2}}} $$mit
Eine Tabelle ist ein Float, d.h. sie ''fließt'' auf die nächste Seite, wenn sie auf die aktuelle nicht mehr paßt.
latex, hier kommt eine tabelle. [ genau hierher, oder wenn das nicht geht, unten auf der seite, oder wenn das nicht geht, oben auf der seite, oder wenn das nicht geht, auf einer extra-seite ] die tabelle sieht so aus: { ein senkrechter Balken, eine zentrierte Spalte, so breit wie n"otig, ein senkrechter Balken, eine Spalte von halber \textwidth }{ zun"achst eine horizontale linie erste zelle & zweite zelle, da darf ich soviel text reinmachen wie ich will, LaTeX schafft das schon, notfalls bricht es den Text um. Ich darf sogar mehrere Abs"atze da hineinstecken und nat"urlich $$ e^{Formeln} $$ \hline \\ dritte zelle & vierte zelle \hline \\ } meine tabelle soll test-tabelle hei"sen. ende der tabelle
\begin{table} [hbtp] % h here, b bottom, t top, p page \begin{tabular}{|c|p{0.5\textwidth}} \hline erste zelle & zweite zelle, da darf ich soviel text reinmachen wie ich will, LaTeX schafft das schon, notfalls bricht es den Text um. Ich darf sogar mehrere Abs"atze da hineinstecken und nat"urlich $$ e^{Formeln} $$ \\ \hline dritte zelle & vierte zelle \\ \hline \end{tabular} \caption{test-tabelle} \end{table}
|
Der rechte senkrechte Strich fehlt, weil ich ihn im tabular nicht bestellt habe.
Das ''Siehe test-tabelle'' sieht merkwürdig aus. In LaTeX weiß ich aber nicht, ob die Tabelle auf derselben Seite landen wird.
Also darf ich nie schreiben: ''Die folgende Tabelle zeigt...'', sondern muß immer schreiben: ''Tabelle (caption) zeigt...''.
Selbsterklärend.
\begin{itemize} % eine aufz"ahlung \item erster item \item zweiter item Neue Abs"atze werden korrekt einger"uckt. \item noch ein item \begin{enumerate} % eine Numerierung, geschachtelt \item erster numerierungseintrag % in die aufz"ahlung \item zweiter eintrag \item dritter auch dieser Absatz wird korrekt einger"uckt. \end{enumerate} \item der letzte eintrag der aufz"ahlung. \end{itemize}
Neue Absätze werden korrekt eingerückt.
auch dieser Absatz wird korrekt eingerückt.
Ich nehme im folgenden an, daß Sie sich für pdf-Dateien entschieden haben.
png ist ein freies Bildformat, verlustfrei komprimiert, bis 24 Millionen Farben.
giftopnm filename.gif > filename.ppm # erzeugt filename.ppm pnmtopng filename.ppm > filename.png # gotcha!
djpeg -pnm filename.jpeg # erzeugt filename.ppm # oder filename.pgm, wenn's ein graustufenbild war pnmtopng filename.ppm > filename.png # gotcha!
Zunächst brauchen Sie das package graphicx:
\usepackage{graphicx} % in der Pr"aambel, also zwischen % \documentclass und \begin{document}
Dann brauchen Sie ein Float (s. Kapitel Tabellen):
\begin{figure}[htbp] % htbp ist LaTeX Standard-Einstellung \includegraphics[width=0.3\textwidth]{serielle.ps} \includegraphics[width=3cm, height=1in]{serielle.ps} \includegraphics[width=2in, height=1cm]{serielle.ps} \caption{Serielle Anschl"usse an einem PC} \end{figure}
Ich füge das Bild 3mal ein, damit Sie sehen, wie width und height funktionieren.
Siehe Bild ''Serielle Anschlüsse an einem PC''.
Ist eigentlich ganz einfach, macht nur viel Arbeit:
Unter Linux heißt diese Datei automatisch filename.ps.
Unter windos benutzt man zB den Apple LaserWriter, der macht halbwegs gutes Postscript. Die Datei heißt anything.prn, wir benennen sie um nach filename.ps.
ghostscript -g600x800 -sDEVICE=ppmraw -sOutputFile=filename.ppm filename.ps pstopnm filename.ps > filename.png # hier mu"s man <quit> <enter> eingeben.
Hier noch ein paar Befehle, die Sie unbedingt im Manual nachschlagen wollen:
clearpage input hrule paragraph medskip bigskip centering cite flushbottom footnotesize large Large huge HUGE frenchspacing em ldots onecolumn twocolumn pagestyle rm sf tt thanks vfill hfill
array description enumerate itemize quote quotation theorem verbatim verb verse
|
|
% Aller Text hinter einem % wird ignoriert. % ist das Kommentar-Zeichen. % Wer wirklich ein Prozent-Zeichen haben will, benutzt \%. \documentclass [11pt, a4paper] {article} % Ich habe article gew"ahlt, damit die Seitenzahlen immer rechts oben % auf der Seite stehen. Weitere Optionen sind: book, report, letter, % slide. % 11 pt ist gut aus 1 m Entfernung zu lesen, zB wenn mein % Unterrichtsskript auf dem Pult liegt. \usepackage {german} % aktiviert deutsche Silbentrennung \usepackage {umlaut} % umlaut erm"oglicht die Eingabe deutscher % Umlaute, entweder als Buchstabe oder so: "o oder so: \"o. % citroen schreibt man citro\"en. \usepackage {palatino} % meine Lieblingsschrift \usepackage {graphicx} % zum Einbinden von Bildern \usepackage [margin=13mm] {geometry} % Setzen von Seitenrändern \usepackage {boxedminipage} % f"ur Hervorhebungen, zB Lehrs"atze. s.u. \author {http://www.freewebs.com/gtslehrer} % Hier wird die interne Variable Autor gesetzt. \date {\today} % Hier wird das Datum gesetzt. \date ist eine eingebaute Variable, die % das aktuelle Datum einsetzt. Wenn wir das Package german verwenden, % wird sie in deutsch formatiert. \title {Latex f"ur Lehrer - Test 1} \pagestyle {headings} % In den Kopfzeilen will ich die Seitennummer und die Kapitel"uberschrift. \parindent 0.mm % Den Anfang von Abs"atzen nicht (um 0mm) einr"ucken. LaTeX fri"st fast % jede L"angeneinheit, zB pt, mm, in. \parskip=1mm % Nach Absatz 1mm frei. \fboxsep=5mm % Framebox 5mm entfernt vom eingeschlossenen Text zeichnen. \fboxrule=0.5mm % Framebox-Rahmendicke % Hervorhebungen machen manche Leute als Randnotizen. Quatsch. % Hervorhebungen im Text macht man mit {\em hervorgehobene Worte}. % \em wie emphasized=hervorgehoben. % Hervorgehobene S"atze bekommen einen dicken Rahmen: % ein zentriertes St"uck Text, genausobreit wie der restliche Text, % fett (BoldFace) und etwas gr"o"ser. \newenvironment{lehr}{ \begin{center} \begin{boxedminipage}{\textwidth} \begin{bf} \begin{large} }{ \end{large} \end{bf} \end{boxedminipage} \end{center} } \begin{document} % bis jetzt haben wir nur Verabredungen getroffen, % die das ganze Dokument betreffen. Jetzt kommt das eigentliche Dokument. \maketitle % hallo latex, mach einen Titel. \tableofcontents % hallo latex, das Inhaltsverzeichnis kommt hierhin. \section{Einleitung} % Numerierung macht Latex automatisch richtig. bla bla bla bla bla bla bla bla bla bla bla bla bla bla \section{Durchf"uhrung} bla bla bla bla bla bla bla bla Ich fahre keinen Citro\"en. \begin{lehr} Referentielle Integrit"at ist... \end{lehr} \section{Zusammenfassung} bla bla bla bla bla bla bla bla bla bla bla bla bla bla \end{document} % hallo Latex, Dokument ist hier zu Ende.
Sie haben RedHat Linux 6.2 installiert und wollen damit komfortabel und professionell Teste erstellen? Wahlweise als pdf oder html? Dann lesen Sie weiter.
Es wird auch mit anderen Distributionen funktionieren, aber wie immer bei Linux: Your Mileage May Vary.
\documentclass [11pt, a4paper] {article} \usepackage {german} \usepackage {umlaut} \usepackage {palatino} %\renewcommand{\rmdefault}{phv} \usepackage {graphicx} \usepackage [margin=14mm] {geometry} \usepackage {boxedminipage} \pagestyle {headings} \parindent 0.mm \parskip=1mm \fboxsep=5mm \fboxrule=0.5mm \newenvironment{lehr}{ \begin{center} \begin{boxedminipage}{\textwidth} \begin{bf} \begin{large} }{ \end{large} \end{bf} \end{boxedminipage} \end{center} }
\author {http://your.website.goes/here} \date {\today} \begin{document} \maketitle \tableofcontents \vfill \framebox{\parbox{0.9\textwidth}{ \centering \large{ {\bf {\Large Disclaimer}} Alle Informationen in diesem Dokument sind falsch, unvolständig, irreführend, irrelevant und / oder funktionieren einfach nicht. Wenn Sie es trotzdem benutzen, und es geht dabei etwas kaputt, ist das Ihr Problem, nicht meins. } } }
cd /home/me/latex/l4l ln -s ../header1.tex ln -s ../header2.texSo haben Sie Ihre Hauptvorlage, und alle Ihre Dokumente sehen gleich aus.
\include {header1} % das .tex wird automatisch erzeugt \title {Latex f"ur Lehrer} \include {header2} \include{intro} \end{document}
Ein absichtlicher Seitenwechsel (zB vor der Seite Übungen) wird mit clearpage erzeugt.
\section{Einleitung} Standard-Textprozessoren haben gro"se Nachteile: \begin{itemize} \item sie fressen viel Speicherplatz; \item sie machen vieles automatisch falsch; \item sie zwingen zum Aufbewahren alter Versionen (falls die soeben gespeicherte Datei, zB durch einen Absturz, unbrauchbar wird); \item die Plazierung von Bildern erfolgt ''auf der Seite festgenagelt'' oder so ungl"ucklich, da"s viele halbleere Seiten entstehen; \item die Dokumente sehen auf jedem Drucker anders aus. \end{itemize}
latex $(basename ($pwd)) startx xdvi $(basename ($pwd)).dvi
Versuchen Sie dies:
#!/bin/sh ## this ist /home/me/test1.sh ls -la cd / ls -la cd ~ # ce de leer tilde - wechselt ins homeverzeichnis
Machen Sie es ausführbar, und führen Sie es aus:
chmod 755 test1.sh # lesbar, schreibbar, ausführbar für owner # lesbar und ausführbar für den rest der welt ./test1.sh # das aktuelle verzeichnis heißt . und ist # standardmäßig nicht im PATH
Schreiben und testen Sie Skripten als me an Kopien der Original-Dateien. Wenn alles klappt, werden Sie root und kopieren die Skripten nach /usr/bin. Dann dürfen Sie auch den ./ weglassen.
#!/bin/sh # giftopng: macht aus allen gif je ein png if ls *.gif 2> /dev/null ; then for i in *.gif ; do j=$(echo $i | sed s/.gif/.png/) giftopnm $i | pnmtopng > $j echo $j created done fiDasselbe können Sie auch mit .jpg, .fig oder .ps machen.
#!/bin/sh # /usr/bin/P # macht genau, was drinsteht giftopng jpgtopng figtopng ps2png pdflatex ($basename $(pwd)) # 3 runs needed for correct pdflatex ($basename $(pwd)) # table of contents xpdf ($basename $(pwd)).pdf
So brauchen Sie nur noch im Verzeichnis /home/me/Latex/l4l P zu drücken, der Rest läuft automatisch.
Also habe ich eine Seitenbreite von (210mm - 40mm Rand) / (25,4mm/inch) * 150 dots/inch = 1004 dots Seitenbreite.
Bei Bitmaps >
1004 dots verschluckt der Druckertreiber deshalb
manchmal vertikale Linien in .fig-Dateien.
Also skaliere ich wie folgt:
#!/bin/sh desired=900 # manche bilder sind kleiner als \textwidth if [ -z $1 ] ; then echo "must give a .fig file as input" exit 1; else file=$(basename $1 .fig) # echo "working on $file.fig..." fig2dev -L ppm $file.fig $file.ppm width=$(head -3 $file.ppm | tail -1 | cut -f1 -d" ") rm -f $file.ppm echo -n "width of $file.fig is $width ... " mag=$(echo "$desired/$width" | bc -lq) # echo "mag = $mag" fig2dev -L png -m $mag $file.fig $file.png fi
This document was generated using the LaTeX2HTML translator Version 99.1 release (March 30, 1999)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_navigation -show_section_numbers -split 0 -no_parbox_images l4l.tex
The translation was initiated by on 2005-10-18
Nun, TeX beschreibt, wie das Ergebnis aussehen soll. Programmiersprachen beschreiben, was das Produkt (das Programm) machen soll.
Da ein Dokument in erster Linie gut aussehen soll, ist TeX in diesem Sinne eine Programmiersprache. Das werden Sie spätestens an den ganzen Fehlermeldungen merken, die es während des Laufens ausspuckt, genau wie ein richtiger Compiler.
Korrekt beschrieben, ist TeX und sein frontend LaTeX natürlich eine Dokument-Beschreibungs-Sprache.