TeX: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Smokephil (Diskussion | Beiträge)
K add gummi
 
(37 dazwischenliegende Versionen von 15 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}} enthält Die wichtigsten Komponenten von TeXLive
* {{Paket|texlive-lang}} enthält Sprachunterstützungen für Sprachen, die nicht das lateinische Alphabet verwenden


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 hauptsächlich deutschsprachige Dokumente verfassen, reicht es aus, texlive zu installieren.
# pacman -Syu texlive


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.
* {{Paket|kile}} ist der LaTeX-Editor des KDE-Projekts.
* {{Paket|gnome-latex}} ist ein LaTeX-Editor für den GNOME-Desktop.
* {{Paket|gummi}} ist ein side-by-side LaTeX-Editor.
* [[LyX]] ist ein eigenständiger WYSIWYM-Editor, der als LaTeX-Frontend fungiert.
* {{Paket|texmacs}} ist ein eigenständiger WYSIWYM-Editor, der sich in der Bedienung an Emacs orientiert.
* {{Paket|texmaker}} ist ein plattformübergreifender LaTeX-Editor, der in Aufbau und Bedienung kile ähnelt (da vom gleichen Entwickler). Enthält jedoch nur Qt5, keine KDE-Ahängigkeiten.


== TeX und LaTeX unter Arch-Linux ==
Daneben lassen sich auch normale Editoren gut konfigurieren:
* [[gedit]]: Das Paket [https://www.archlinux.de/packages/extra/x86_64/gedit-plugins gedit-plugins]enthält die Zusatz-Funktion SyncTeX, mit deren Hilfe sich LaTex- und PDF-Dateien über gedit und evince synchronisieren lassen.
* [[vim]]: Es sollte zusätzlich das Paket [https://www.archlinux.de/packages/community/x86_64/vim-latexsuite vim-latexsuite]installiert werden.
* [[emacs]]: Es sollte zusätzlich das Paket [https://www.archlinux.de/packages/community/x86_64/auctex auctex]installiert werden.


=== Was muss ich installieren: Pakete ===
== Dokumentation ==


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.
Zu LaTeX (weniger zum reinen, "plain" TeX) gibt es eine Fülle von Dokumentationen.  


Ich werde aus dem folgenden Grund nicht auf tetex eingehen:  
Wichtige Links dazu:
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.
* [http://mirrors.ibiblio.org/CTAN/info/german/LaTeX2e-Kurzbeschreibung/l2kurz.pdf allgemeine Kurzanleitung zu LaTeX]
* [https://ctan.org/?lang=de Einstieg ins CTAN, das Comprehensive TeX Archive Network]
* [https://golatex.de/ Deutschsprachiges LaTeX Forum]


=== Paketgruppen ===
[[Kategorie:Büro]]
Es gibt folgende Gruppen.
[[en:TeX Live]]
 
====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 ein 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, die man mit Hilfe von Umgebungsvariablen festlegen kann. Hier die Variablen (erste Spalte), ihr Sinn und Zweck (zweite Spalte) und ihre aus heutiger Sicht seltsam anmutende Vorbelegung.
 
'''TEXDOCVIEW_dvi'''  Suche nach .dvi-Dateien          '''Standard: xdvi'''
 
'''TEXDOCVIEW_pdf'''  Suche nach .pdf-Dateien          '''Standard: acroread'''
 
'''TEXDOCVIEW_html'''  Suche nach .html-Dateien          '''Standard: netscape'''
 
'''TEXDOCVIEW_ps'''    Suche nach Postscript-Dateien    '''Standard: ghostview'''
 
'''TEXDOCVIEW_txt'''  Suche nach normalen Textdateien  '''Standard: more'''
 
Da diese Programme heute keineswegs überall mehr installiert sind, sollte man diese Variablen irgendwo dauerhaft setzen, etwa in der /etc/profile oder in der ~/.bashrc (falls man mit der bash arbeitet). Etwa
<pre>
export TEXDOCVIEW_pdf=xpdf
</pre>
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:
 
[[Bild:2008-03-02-182901_736x318_scrot.png]]
 
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}        % Einstellungen für neue deutsche Rechtschreibung
</pre>
 
Bei alter deutscher Rechtschreibung:
<pre>
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{german}
</pre>
 
oder man verwendet das babel-Paket. Dies bietet zusätzlich die Möglichkeit, innerhalb des Dokunetes verschiedene Sprachen einzustellen, z.B. für englischsprachige Zitate.
 
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.
 
 
===F: Wie kann ich eine neue documentclass hinzufügen?===
Um zum Beispiel einen DIN-5008 Brief zu verfassen benötigt man die documentclass "dinbrief"
Hier[http://tug.ctan.org/] findet man viele Klassen (und andere Dateien, die was mit Tex zu tun haben). Dort downloadet man sich die *.cls und *.sty Datei.
Zum Beispiel "dinbrief.cls" und "dinbrief.sty". Diese beiden Dateien müssen in das Verzeichnis
<pre>/usr/share/texmf-dist/tex/latex/moderncv/</pre>
oder (falls das Verzeichnis z.B. nicht existiert)
<pre>~/texmf/tex/latex/moderncv/</pre>
oder in das Stammverzeichnis der Standard-Klassen
<pre>/usr/share/texmf-dist/tex/latex/base/</pre>
 
Anschließend muss als root
<pre># texhash</pre>
ausgeführt werden, um die neue Klasse verwenden zu können.
 
[[Kategorie:Tipps und Tricks]]

Aktuelle Version vom 11. Januar 2024, 20:38 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:

  • texlive enthält Die wichtigsten Komponenten von TeXLive
  • texlive-lang enthält Sprachunterstützungen für Sprachen, die nicht das lateinische Alphabet verwenden

Möchte man hauptsächlich deutschsprachige Dokumente verfassen, reicht es aus, texlive zu installieren.

# pacman -Syu texlive

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.

  • kile ist der LaTeX-Editor des KDE-Projekts.
  • gnome-latex ist ein LaTeX-Editor für den GNOME-Desktop.
  • gummi ist ein side-by-side LaTeX-Editor.
  • LyX ist ein eigenständiger WYSIWYM-Editor, der als LaTeX-Frontend fungiert.
  • texmacs ist ein eigenständiger WYSIWYM-Editor, der sich in der Bedienung an Emacs orientiert.
  • texmaker ist ein plattformübergreifender LaTeX-Editor, der in Aufbau und Bedienung kile ähnelt (da vom gleichen Entwickler). Enthält jedoch nur Qt5, keine KDE-Ahängigkeiten.

Daneben lassen sich auch normale Editoren gut konfigurieren:

  • gedit: Das Paket gedit-pluginsenthält die Zusatz-Funktion SyncTeX, mit deren Hilfe sich LaTex- und PDF-Dateien über gedit und evince synchronisieren lassen.
  • vim: Es sollte zusätzlich das Paket vim-latexsuiteinstalliert werden.
  • emacs: Es sollte zusätzlich das Paket auctexinstalliert werden.

Dokumentation

Zu LaTeX (weniger zum reinen, "plain" TeX) gibt es eine Fülle von Dokumentationen.

Wichtige Links dazu: