TeX: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(15 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Allgemeines==
TeX (gesprochen "Tech") ist ein Textsatzsystem, das sich vor allem im Hochschulbereich großer Beliebtheit erfreut. Es eignet sich besonders gut zum Setzen von größeren Dokumenten mit buch-artigem Erscheinungsbild. Entwickelt wurde es von dem amerikanischen Mathematik- und Informatikprofessor Donald E. Knuth. Unter anderem schrieb er ein Makropaket zu TeX, genannt ''plain TeX'' oder einfach ''plain''. Wenn man heutzutage von TeX spricht, meint man zumeist plain TeX.   
TeX ist ein Textsatzsystem, das sich vor allem im Hochschulbereich großer Beliebtheit erfreut. Es ist vor allem geeignet,
größere Dokumente mit buchartigem Erscheinungsbild zu setzen und wurde von dem amerikanischen Mathematik- und Informatikprofessor Donald E. Knuth zusammen mit diversen weiteren Tools zu diesem Zweck geschrieben. Unter anderem schrieb er ein Makropaket zu TeX, genannt plain TeX oder einfach plain. Wenn man heutzutage von TeX spricht, meint man zumeist plain TeX.   


LaTeX entstand aus dem Wunsch vieler Autoren, den Text ihrer Dokumente nach inhaltlichen Gesichtspunkten gliedern zu können, nicht nach visuellen Gesichtspunkten. Beispiel: statt zu sagen "Diese Zeile bitte fett, mit einer Zeilenhöhe Abstand zum Folgetext, und größer" sagt man "diese Zeile als Überschrift". LaTeX ist neben plain ein weiteres Makropaket zu TeX. Es ist nicht vollständig inkompatibel zu plain, aber das Mixen von plain TeX und LaTeX kann, wenn man sich nicht sehr gut auskennt, zu seltsamsten Ergebnissen führen
'''LaTeX''' entstand aus dem Wunsch vieler Autoren, den Text ihrer Dokumente nach inhaltlichen Gesichtspunkten gliedern zu können anstatt wie bei TeX üblich nach visuellen Gesichtspunkten. Während TeX sehr schwer bedienbar ist, gestaltet sich dies bei LaTeX deutlich einfacher. LaTeX ist mittlerweile an vielen Universitäten ein Standard zum Schreiben von wissenschaftlichen Arbeiten. Aufgrund von CTAN, einer umfassenden Paketdatenbank, gibt es aber auch noch viele weitere Verwendungsmöglichkeiten wie das Erstellen von Liederbüchern oder Präsentationen.


Inzwischen gibt es mit ConText ein weiteres wichtiges Makropaket. ConText ist noch in ständiger Weiterentwicklung begriffen.
== Installation ==
Die wichtigsten Komponenten für TeX/LaTeX sind zusammengefasst in zwei Paketgruppen:
* {{Paket|texlive-most}} enthält Texlive
* {{Paket|texlive-lang}} enthält Sprachunterstützung


TeX hat eine lange Geschichte hinter sich. Es gibt eine Unzahl von Abwandlungen, Makropaketen, Paketen zu den Makropaketen, Formaten, Fonts in verschiedenen Kodierungen und Fontformaten und vieles mehr.  
Möchte man deutschsprachige Dokumente verfassen, sollte man beide Pakete installieren.
# pacman -Syu texlive-most texlive-lang


Daher möchte niemand dies alles heutzutage noch von Hand installieren. Das muss man aber auch nicht. Dafür gibt es Distributionen oder -- im Linux-Bereich -- Pakete.
== Editoren ==
Einige LaTeX-Editoren können viele Dinge, wie zum Beispiel das Kompilieren, vereinfachen, und bieten darüber hinaus auch Zusatzfunktionen wie Syntaxhervorhebung oder Rechtschreibprüfung an.
* [[latexila]] auf GTK basierend (Im AUR verfügbar: {{AUR|latexila}})
* [[Kile]] auf QT basierend (Paket {{Paket|kile}})


== TeX und LaTeX unter Arch-Linux ==
Daneben lassen sich auch normale Editoren gut konfigurieren:
* [[gedit]]
* [[vim]]
* [[emacs]]


=== Was muss ich installieren: Pakete ===
== Dokumentation ==
{{veraltet}}
Seit der Version 2008 enthält TeXLive eine neues, erheblich schnelleres texdoc. texdoc und texdoctk sind zwei voneinander unabhängige Programme, die beide mit dem Ziel arbeiten, die Dokumentation zu den unzähligen Paketen auf einfache Weise zugängig zu machen. Dieses Ziel versuchen sie jedoch auf völlig unterschiedliche Weise zu erreichen. Es ist also nicht so, dass texdoctk nur eine graphische Oberfläche zu texdoc ist.


Unter Arch gibt es die TeXlive-Distribution, Release 2008 fertig paketiert. tetex, bis vor kurzem noch in [extra], gibt es nur noch im [[AUR]]. Die umfangreiche Dokumentation zu Texlive gibt es paketiert im [community]-Repo.
===texdoc===
 
Ich werde aus dem folgenden Grund nicht auf tetex eingehen:
Thomas Esser (daher der Name teTeX) hat mit der Version 3.0 alle weitere Pflege der Distribution eingestellt und empfiehlt die Nutzung von TeXlive. Dies ist auch die von der tug (TeX User Group) gepflegte Distribution mit Unterstützung aller gängigen Computerplattformen.
 
Ich kenne keine andere Linux-Distribution, die hinsichtlich TeX/LaTeX aktueller ist als Arch. Geplant ist außerdem ein Paket in [community], mit dem man sich selbst PKGBUILDs generieren kann. Dadurch kann man sich die noch aktuelleren CTAN-Sourcen installieren.
 
=== Paketgruppen ===
Es gibt folgende Gruppen.
 
====texlive-most(-doc)====
Ein ziemlich komplettes System, in texlive-most-doc sind die Dokus dazu enthalten.
 
====texlive-lang(-doc)====
Weitere Sprachen.
 
====texlive-all====
Ein Dummy-Paket, das alles oben genannte installiert.
 
Will man nicht die Gruppen installieren, kann man auch einzelne Pakete nehmen. Die Liste der Pakete ist ellenlang und unter http://wiki.archlinux.org/index.php/Texlive dokumentiert.
 
Auf jeden Fall braucht man die Binaries (texlive-bin) und die Grundinstallation (texlive-core). Nahezu jeder wird auch texlive-latexextra und texlive-fontsextra brauchen. Was man noch so braucht, hängt dann stark vom Einsatzbereich ab.
 
 
 
=== Dokumentation ===
 
TeXlive2008 enthält eine neues, erheblich schnelleres texdoc. texdoc und texdoctk sind zwei voneinander unabhängige Programme, die beide mit dem Ziel arbeiten, die Dokumentation zu den unzähligen Paketen auf einfache Weise zugängig zu machen. Dieses Ziel versuchen sie jedoch auf völlig unterschiedliche Weise zu erreichen. Es ist also nicht so, dass texdoctk nur eine graphische Oberfläche zu texdoc ist.
 
====texdoc====
ist in texlua geschrieben. texlua ist ein Symlink von luatex, und das wiederum eine Erweiterung/Weiterentwicklung von pdftex. texdoc gibt man einen Suchstring mit, z.B. den Namen eines LaTeX-Paketes. texdoc such dann in den Verzeichnissen der texmf-Bäumes nach                                             
ist in texlua geschrieben. texlua ist ein Symlink von luatex, und das wiederum eine Erweiterung/Weiterentwicklung von pdftex. texdoc gibt man einen Suchstring mit, z.B. den Namen eines LaTeX-Paketes. texdoc such dann in den Verzeichnissen der texmf-Bäumes nach                                             
Dateien mit dem Suchstring als Namen und .dvi, .pdf, ps, .txt oder .htm(l) als Endung und ruft Programme auf; welche, kann man mit Hilfe der Konfigurationsdatei texdoc.cnf beeinflussen.  
Dateien mit dem Suchstring als Namen und .dvi, .pdf, ps, .txt oder .htm(l) als Endung und ruft Programme auf; welche, kann man mit Hilfe der Konfigurationsdatei texdoc.cnf beeinflussen.  
Zeile 57: Zeile 38:
Daher: Fragen nach der Dokumentation von LaTeX-Paketen sind oft '''nicht dumm.'''
Daher: Fragen nach der Dokumentation von LaTeX-Paketen sind oft '''nicht dumm.'''


====texdoctk====
===texdoctk===
ist ein unter Verwendung von perl-tk in Perl geschriebenes Skript und verfolgt einen ganz anderen Ansatz.   
ist ein unter Verwendung von perl-tk in Perl geschriebenes Skript und verfolgt einen ganz anderen Ansatz.   


Zeile 71: Zeile 52:


Leider wird texdoctk m.W. nicht mehr gepflegt. Die dahinterliegende Doku aber schon.
Leider wird texdoctk m.W. nicht mehr gepflegt. Die dahinterliegende Doku aber schon.
== Oft gestellte Fragen (FAQ)==
===F: Wie soll ich anfangen?===
A: Um TeX und LaTeX sinnvoll einsetzen zu können, kommt man nicht umhin, Dokumentation dazu zu lesen. Anfangen kann man zum Beispiel mit der http://www.dante.de/faq/de-tex-faq/, der deutschsprachigen FAQ zu TeX und LaTeX. Dort gibt es auch einen Abschnitt zu online erhältlicher Literatur.
Leider ist in der FAQ nicht mehr alles aktuell. Gerade bei den Fonts tut sich in letzter Zeit einiges. Aktueller ist die englischsprachige FAQ http://www.tex.ac.uk/cgi-bin/texfaq2html .
===F: Boah, TeXlive hat ja eine total unübersichtliche Verzeichnisstruktur!===
A: TeXLive hat in der Tat eine umfangreiche Verzeichnisstruktur. Wenn man da Prinzip aber verstanden hat, dann ist es gar nicht '''so''' schlimm.
TeXlive benutzt mindestens drei "Bäume" mit derselben internen Struktur. Diese werden nacheinander durchsucht. Die Suchreihenfolge ist konfigurierbar. Hier ein Auszug aus der Hauptkonfigurationsdatei texmf.cnf ($SELFAUTODIR ist unter ArchLinux auf /opt/texlive gesetzt)
<pre>
% The tree containing the runtime files closely related to the specific
% program version used:
TEXMFMAIN = $SELFAUTODIR/texmf
% The main distribution tree:
TEXMFDIST = $SELFAUTODIR/texmf-dist
% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.
TEXMFLOCAL = $SELFAUTODIR/texmf-local
% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
TEXMFSYSVAR = $SELFAUTODIR/texmf-var
% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
TEXMFSYSCONFIG = $SELFAUTODIR/texmf-config
% User texmf trees are allowed as follows.
TEXMFHOME = $HOME/texmf
% TEXMFVAR, where texconfig stores variable runtime data.
TEXMFVAR = $HOME/.texmf-var
% TEXMFCONFIG, where texconfig stores configuration data.
TEXMFCONFIG = $HOME/.texmf-config
</pre>
Zur Pflege dieser Konfigurationsdatei kann man das Skript texconfig (Benutzer) oder texconfig-sys (systemweit) verwenden.
Der TEXMFDIST Baum sollte Dateien vorbehalten bleiben, die durch die [Extra]-Pakete von TeXlive installiert werden. Für Pakete aus dem AUR sollte der TEXMF Baum vorbehalten bleiben. Dateien, die man selber vom CTAN holt, gehören in den  TEXMFVAR Baum. Darüber hinaus können Benutzer einen eigenen Baum in ihrem Homeverzeichnis pflegen (TEXMFHOME).
===F: Was muss ich für deutsche Texte beachten?===
Einer der folgenden Einträge sollte mit in die LaTeX-Präambel d.i. alles was vor \begin{document} kommt:
Bei neue deutscher Rechtschreibung (mit Kommentaren, die kann man natürlich weglassen):
<pre>
\usepackage[T1]{fontenc}    % T1 ist eine Fontkodieren mit 256 Zeichen, geeignet für westeuropäische Sprachen.
                            % lässt man dies weg, bekommt man eine Kodierung mit 127 Zeichen, und dann trennt 
                            % TeX deutsche Texte nicht richtig
\usepackage[utf8]{inputenc}  % Erste Wahl, da Arch UTF-8 verwendet. Bekommt man ein Dokument aus einer
                            % anderen Quelle, kann da etwas anderes stehen (latin1, ansinew), und das kann
                            % dann durchaus richtig sein.
\usepackage[ngerman]{babel}  % Einstellungen für neue deutsche Rechtschreibung
</pre>
Bei alter deutscher Rechtschreibung:
<pre>
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
</pre>
Wobei utf8 nur verwendet werden sollte, wenn die Datei auch in UTF-8 kodiert ist. Ansonsten muss man die entsprechende Zeichenkodierung angeben. Wahrscheinlich wird dies latin1, ansinew oder latin9 sein.
//Achtung:// Bei Dokumenten, die durch verschiedene Personen bearbeitet werden, die verschiedene Betriebssysteme verwenden, muss gewährleistet sein, dass alle Teildokumente gleich kodiert sind. Ist dies nicht der Fall, gibt es Fehlermeldungen. Hier kann ein Tool wie recode helfen.
<pre> recode latin1..utf8 <dateiname> </pre> konvertiert von latin1 nach utf8,
<pre> recode latin1..latex <dateiname> </pre> konvertiert nach LaTeX, ersetzt also zum Beispiel ä durch \"a.
===F: Wie kann ich eine neue documentclass hinzufügen?===
Es ist nicht schwer, neue Pakete oder Klassen zur eigenen Installation hinzuzufügen.
Zunächst sollte man sich sicher sein, ob das Paket nicht schon vorhanden ist. Dabei hilft
* http://wiki.archlinux.org/index.php/Texlive-core diese Wiki-Seite oder
* kpsewhich.
kpsewhich sucht auf den gleichen Wegen nach Dateien wie auch tex.
Mit <pre>kpsewhich --help</pre> bekommt man angezeigt, wonach man suchen könnte. Zum Beispiel:
<pre># kpsewhich akletter.cls
/usr/share/texmf-dist/tex/latex/akletter/akletter.cls
</pre>
Das -dist im Pfad deutet darauf hin, dass akletter bei der offiziellen Distribution dabei war.
So wird es mit vielen Paketen und Klassen sein, denen man in Mailinglisten, LaTeX-Foren oder
sonstwo begegnet. Sollte dann doch mal eines dabei sein, dass nicht in TeXlive enthalten ist:
Manches gibt es im AUR:
* http://aur.archlinux.org/packages.php?ID=7721  abntex
* http://aur.archlinux.org/packages.php?ID=14449 biblatex
* http://aur.archlinux.org/packages.php?ID=15177 biblatex-dw
* http://aur.archlinux.org/packages.php?ID=6096 hlatex (koreanisch)
* http://aur.archlinux.org/packages.php?ID=6097 hlatex-fonts (koreanische Fonts)
* http://aur.archlinux.org/packages.php?ID=16504 concordance
* http://aur.archlinux.org/packages.php?ID=15613 thesis und thema, zwei Dokumentenklassen
(Die Liste ist möglicherweise unvollständig. Wer im AUR ein Paket findet, trage es doch bitte hier ein.)
Wenn man auch dort nicht fündig wird, ist [http://tug.ctan.org/], [http:///www.dante.de] oder einer
der CTAN-Mirror erste Anlaufstelle. TeXlive speist sich daraus.
Manche Pakete sind allerdings neuer als in TeXlive oder dürfen dort aus lizenzrechtlichen Gründen nicht mit aufgenommen werden. Diese kann man sich vom CTAN als Zipfile oder dateiweise herunterladen.
Dann verteilt man die ausgepackten oder einzeln heruntergeladenen auf einen der Bäume
<pre>~/texmf                          # für einen einzelnen Benutzer
/usr/local/share/texmf/              # local, aber systemweit
</pre>
Dabei gehören *.sty oder *.cls-Dateien unter
<pre>
~/texmf/tex/latex/(neuesVerzeichnisMitPaketnamen)</pre>
bzw.
<pre>
/usr/local/share/texmf/tex/latex/(neuesVerzeichnisMitPaketnamen)
</pre>
Meist ist noch Doku dabei, die entsprechend unter
<pre>
~/texmf/doc/(neuesVerzeichnisMitPaketnamen)</pre>
bzw.
<pre>
/usr/local/share/texmf/doc/(neuesVerzeichnisMitPaketnamen)
</pre>
untergebracht werden sollte. Je nach Verwendungszweck können noch weitere Verzeichnisse anzulegen sein. Es sollte eine README-Datei oder etwas ähnliches dabei sein, die genaueres verrät.
Man kann sich, wenn man unsicher ist, auch die Verzeichnisstruktur unter /usr/share/texmf-dist anschauen und es analog machen.
Anschließend muss als root
<pre># texhash</pre>
ausgeführt werden, damit TeX seine Dateisuchbäume neu generieren kann.


[[Kategorie:Büro]]
[[Kategorie:Büro]]

Version vom 13. November 2016, 16:33 Uhr

TeX (gesprochen "Tech") ist ein Textsatzsystem, das sich vor allem im Hochschulbereich großer Beliebtheit erfreut. Es eignet sich besonders gut zum Setzen von größeren Dokumenten mit buch-artigem Erscheinungsbild. Entwickelt wurde es von dem amerikanischen Mathematik- und Informatikprofessor Donald E. Knuth. Unter anderem schrieb er ein Makropaket zu TeX, genannt plain TeX oder einfach plain. Wenn man heutzutage von TeX spricht, meint man zumeist plain TeX.

LaTeX entstand aus dem Wunsch vieler Autoren, den Text ihrer Dokumente nach inhaltlichen Gesichtspunkten gliedern zu können anstatt wie bei TeX üblich nach visuellen Gesichtspunkten. Während TeX sehr schwer bedienbar ist, gestaltet sich dies bei LaTeX deutlich einfacher. LaTeX ist mittlerweile an vielen Universitäten ein Standard zum Schreiben von wissenschaftlichen Arbeiten. Aufgrund von CTAN, einer umfassenden Paketdatenbank, gibt es aber auch noch viele weitere Verwendungsmöglichkeiten wie das Erstellen von Liederbüchern oder Präsentationen.

Installation

Die wichtigsten Komponenten für TeX/LaTeX sind zusammengefasst in zwei Paketgruppen:

Möchte man deutschsprachige Dokumente verfassen, sollte man beide Pakete installieren.

# pacman -Syu texlive-most texlive-lang

Editoren

Einige LaTeX-Editoren können viele Dinge, wie zum Beispiel das Kompilieren, vereinfachen, und bieten darüber hinaus auch Zusatzfunktionen wie Syntaxhervorhebung oder Rechtschreibprüfung an.

Daneben lassen sich auch normale Editoren gut konfigurieren:

Dokumentation

Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Seit der Version 2008 enthält TeXLive eine neues, erheblich schnelleres texdoc. texdoc und texdoctk sind zwei voneinander unabhängige Programme, die beide mit dem Ziel arbeiten, die Dokumentation zu den unzähligen Paketen auf einfache Weise zugängig zu machen. Dieses Ziel versuchen sie jedoch auf völlig unterschiedliche Weise zu erreichen. Es ist also nicht so, dass texdoctk nur eine graphische Oberfläche zu texdoc ist.

texdoc

ist in texlua geschrieben. texlua ist ein Symlink von luatex, und das wiederum eine Erweiterung/Weiterentwicklung von pdftex. texdoc gibt man einen Suchstring mit, z.B. den Namen eines LaTeX-Paketes. texdoc such dann in den Verzeichnissen der texmf-Bäumes nach Dateien mit dem Suchstring als Namen und .dvi, .pdf, ps, .txt oder .htm(l) als Endung und ruft Programme auf; welche, kann man mit Hilfe der Konfigurationsdatei texdoc.cnf beeinflussen.

Genaueres erfährt man, fals man das Paketchen texlive-texdoc-doc aus dem AUR installiert hat, mittels

texdoc texdoc

Nachteil dieses Ansatzes: Man muss wissen oder erraten, wie die Datei mit der gewünschten Information heißt. Es ist leider nicht immer so, dass aus dem Namen des Paketes auf den namen der Dokumentation geschlossen werden kann. Zum Beispiel heißt die Dokumentation zu KomaScript scrguide. Immerhin versteht das texdoc aus TeXlive 2008 die regulären Ausdrücke, die auch Lua versteht.

Daher: Fragen nach der Dokumentation von LaTeX-Paketen sind oft nicht dumm.

texdoctk

ist ein unter Verwendung von perl-tk in Perl geschriebenes Skript und verfolgt einen ganz anderen Ansatz.

Zunächst müssen perl und perl-tk installiert sein.

pacman -S perl-tk

Der Aufruf von texdoctk (ohne Parameter) öffnet dann ein Fenster, in dem eine inhaltiche Gliederung der angebotenen Dokumente vorgenommen wird.

Das sieht dann etwa so aus:

Datei:2008-03-02-182901 736x318 scrot.png

Leider wird texdoctk m.W. nicht mehr gepflegt. Die dahinterliegende Doku aber schon.