\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{german,epsf}
\usepackage{times}
\begin{document}
\title{Eine (weitere) \TeX Shell für LinuX}
\author{Jens Pönisch\thanks{EMail: poenisch@Wirtschaft.tu-Chemnitz.de}\\
  TU Chemnitz-Zwickau}
\maketitle
\section{Entstehung}
Das Satzsystem \TeX/\LaTeX{} ist unter LinuX schon seit mehreren Jahren
verfügbar, allerdings war das Arbeiten zunächst nur im Kommandozeilenmodus
möglich.
Mit der Verfügbarkeit von X11 sowie der Scriptsprache Tcl/Tk ist es jedoch
relativ einfach, eine ähnlich bequeme Entwicklungsumgebung wie die 
MS-DOS-\TeX-Shell von Schlegelmilch bereitzustellen.

Von der Universität Bremen stammt ein Programm XTexMenu ({\tt xtem}),
von M. T. Hofmann wurde die Umgebung XTeXShell entwickelt.
Mit beiden Programmen ist eine komfortable Arbeit möglich. Wer jedoch vorher
mit der MS-DOS-\TeX-Shell gearbeitet hat, wird die bekannten Tasten-Kürzel
{\tt Shift-F3}, {\tt F6}, {\tt F8}, \dots vermissen, die ein Ansprechen der
wichtigsten Funktionen schnell ermöglichen. Deshalb entwickelte ich
eine weitere Oberfläche, die ihren Schwerpunkt in der Bedienung über die
Tastatur sieht.
\section{Voraussetzungen und Installation}
Folgende Voraussetzungen müssen erfüllt sein:
\begin{itemize}
\item installiertes X11-Windows-System, Auflösung mindestens 800x600,
\item Tcl, Version 8.0 oder höher,
\item Tk, Version 8.0 oder höher,
\end{itemize}

Die Installation ist relativ einfach:
\begin{itemize}
\item Anmelden als root, Starten von X
\item Auspacken der Sourcefiles im gewünschten Verzeichnis und Wechsel in
  dieses:
  \begin{verbatim}
  tar xzvf [Pfad]/ts.tgz
  cd ts-????
  \end{verbatim}
\item Prüfen, ob wish vorhanden ist: \verb+which wish+
\item Falls wish nicht gefunden wird, Suche nach wish8.0 und Anlegen eines
  symbolischen Links:
  \begin{verbatim}
  cd /usr/local/bin
  ln -s `which wish8.0` wish
  \end{verbatim}
\item Aufruf: \verb+./install.sh+
\item Einstellen der Pfade und Bestätigen des "`Install!"'-Buttons.
\end{itemize}
Beim ersten Start wird im HOME-Verzeichnis des Benutzers ein Verzeichnis
{\tt .ts} angelegt, die die Konfigurationsdaten enthält.
%
\section{Arbeitsweise}
\begin{figure}
\epsfxsize\textwidth
\epsffile{ts.eps}
\caption{Die \TeX Shell}
\end{figure}
Die \TeX Shell wird mit dem Kommando {\tt ts [Primärdatei]} gestartet. Links
oben erscheint das Hauptmenü, daneben das Fenster für Systemmeldungen.
Das Hauptmenü muß fokussiert werden, danach wird der Focus von der
Oberfläche selbst verwaltet (Hier gibt es noch Probleme).

Mit {\tt F13} bzw. {\tt Shift-F3} wird das Primärfile ausgewählt. Diese Datei
wird mit
{\tt F6} übersetzt, mit {\tt F8} betrachtet und mit {\tt F9} gedruckt.

Es können bis zu neun Editoren mit {\tt F3} geöffnet werden. Ein Wechsel
zwischen ihnen erfolgt mit {\tt Alt-Nummer}. Mit {\tt Alt-0} wird der
Editor für das Primärfile ausgewählt bzw. geöffnet.

Der eingebaute Editor ist noch recht spartanisch, unterstützt jedoch Markieren
mit {\tt Shift-Cursortaste} und die Blockkommandos Cut ({\tt Ctrl-x}), Copy
({\tt Ctrl-c}) und Paste ({\tt Ctrl-v}), die übergreifend zwischen den
Editorfenstern wirken. Sämtliche Funktionstasten funktionieren natürlich
auch aus jedem Editorfenster. Es können externe Editoren benutzt
werden, allerdings funktioniert dann ein automatisches Verwalten des Focus
sowie die Verwendung der Funktionstasten aus dem Editor heraus nicht mehr.

Zur Umschalten und Konfigurieren der \TeX Shell-Funktionen wird die
Funktionstaste gemeinsam mit der {\tt Ctrl}-Taste gedrückt bzw. der
Funktionsschalter mit der rechten Maustaste betätigt. Im Konfigurationsdialog
können Anwendungen aufgenommen, ausgewählt oder deren Parameter verändert
werden. Der "Ubernahme erfolgt mit {\tt Ctrl-Enter}, ein Abbruch mit
{\tt Escape}.

Die Anwendungen können sowohl im Meldungsfenster (Kommando {\tt exwin}) als
auch im Hintergrund (Kommando {\tt exbg}) laufen. Die erste Form ist zu
wählen, wenn evt. Eingaben erforderlich werden, wie z.B. beim \TeX-Lauf.
Die Optionszeile enthält zunächst den Namen des zu startenden Programms
und anschließend alle Parameter. Dabei stehen {\tt \%p} für das Primär-
und {\tt \%e} für das zuletzt editierte File.

Einige Parameter dürfen nur dann in der Befehlszeile auftauchen,
wenn dafür auch Werte vorgegeben sind, z.B. Druckparameter für die erste Seite
oder Ausgabe im Querformat. Diese werden in der Form {\tt !x...\%...!}
angegeben, wobei {\tt x} den konkreten Parameter spezifiziert und {\tt \%}
an der Stelle eines evt. benötigten Wertes steht. Zum Beispiel wird
mit {\tt !i+\%!} die Zeilennummer für den externen Editor vi angegeben,
die benötigt wird, wenn in einem fehlerhaften \TeX-Lauf das Kommando
{\tt e} eingegeben wird.

Mit {\tt F1} wird ein kleines Hilfesystem zur Verfügung gestellt, das derzeit
im wesentlichen die Beschreibung der Funktionstasten und der
Anwendungsparameter enthält. Eine Erweiterung um die \LaTeX-Syntax ist
problemlos möglich, dafür fehlt mir aber im Moment die Zeit.
%
\section{Weiterentwicklung}
Folgende Erweiterungen sind bei Interesse anderer Nutzer geplant:
\begin{itemize}
\item Bugfixes,
\item Verbesserung des eingebauten Editors,
\item Benutzung von Abkürzungen für \LaTeX-Befehle, z.B. 
  {\tt <Escape>lsit} liefert \verb+\begin{itemize}\item _+
\item \dots
\end{itemize}
%
\section{Bezugsquellen und Copyright}
\begin{description}
\item[XTeM] (Lamprecht, Lotz, Weibezahn) \\
  \verb+ftp://ftp.lrw.uni-bremen.de/pub/tex/xtem+
\item[XTeXShell] (M. T. Hoffmann) \\
  \verb+ftp://ftp.tu-chemnitz.de/pub/linux/packages/TeX+
\item[TS] Beschriebene \TeX Shell (J. Pönisch) \\
  \verb+http://www.tu-chemnitz.de/~poenisch/ts+
\end{description}
Die TeXShell unterliegt der GNU Public License. Für die eingebundene
Bibliothek html\_library.tcl ist die SUN-Lizenz zu beachten.
\end{document}
