ASC2TEX

Thomas K. Götz

6. Juli 1993

1 Einleitung

Zweck von ASC2TEX ist es, Bildschirmfotos so zu konvertieren, daß sie in LaTEX–Texte eingefügt werden können. Das Programm beschränkt sich dabei auf den Text–Modus des IBM–kompatiblen PCs. ASC2TEX wandelt ASCII–Dateien (Text–Dateien) in LaTEX-Picture– Umgebungen. Das Problem dabei sind die Linien–Sonderzeichen, die direkt in kein LaTEX– Dokument eingesetzt werden können, sie müssen in Linien umgewandelt werden.

Das Programm ist noch längst nicht vollständig ausgetestet, Fehler sind zu erwarten, für die Korrektheit des Programms wird keinerlei Garantie übernommen; für entstandene Folgeschäden natürlich auch nicht.

2 Installation

ASC2TEX ist auf IBM–kompatiblen Rechner unter den Betriebssystemen MS–DOS und OS/2 (ab Version 2.0) lauffähig.

Von ASC2TEX gibt es zwei Versionen: Die Real–Mode DOS Version heißt ASC2TEX.EXE. Installiert wird diese Version, indem die EXE–Datei kopiert wird. Für 386–Rechner (und höher) gibt es eine Version für den Protected Mode: Unter DOS wird neben dem Programm ASC2TEXP.EXE auch EMX.EXE benötigt. Beide Dateien sollten in ein Verzeichnis kopiert werden, das im PATH enthalten ist. Unter OS/2 wird anstelle von EMX.EXE die Dynamic– Link–Library EMX.DLL benötigt, die sich in einem Verzeichnis befinden muß, das in der Environment–Variable LIBPATH angegeben ist. Diese Variable wird in der CONFIG.SYS gesetzt. Wer emTEX386 benutzt, braucht nur die Datei ASC2TEXP.EXE kopieren, da EMX.DLL bzw. EMX.EXE bereits korrekt installiert sein müßten. Die Protected–Mode Version kann nicht in den DOS–Boxen von OS/2 benutzt werden.

Die DOS Version von ASC2TEX wurde mit Quick–C 2.0 übersetzt, die Protected–Mode Version mit GNU–C (EMX) Version 0.8f.

3 Benutzung

Die ASCII–Datei, die konvertiert werden soll, muß den Suffix ”.SCR“ haben. Das Programm wird ≪ASC2TEX Dateiname ohne Suffix^{≫} aufgerufen. Das Programm erzeugt eine Datei gleichen

           Fenster 1                                   Fenster 2 Fenster 3 Fenster 1 überlappt Fenster 2, während Fenster 3 unberührt herumliegt.

Abbildung 1: Das ”Bild1“ in der Größe small

Namens, die jetzt den Suffix ”.TEX“ hat. Diese Datei kann mit \input in den Text eingefügt werden. Ein Beispiel:

\begin{figure}[h]
\begin{center}
\begin{small}
\fbox{\input{bild1}}
\caption{\label{bild1small} Das "`Bild1"' in der Gr"o"se small}
\end{small}
\end{center}
\end{figure}

Die Größe des Bildes braucht erst beim Einfügen des Fotos in den Text beachtet zu werden, denn ASC2TEX nutzt als Unitlength die Größenangabe ”ex“. Die Abbildung 1 zeigt Bild1 in der Größe small, Abbildung 2 in footnotesize.

ASC2TEX unterstützt sowohl einfache wie doppelte Linien, aber nicht die Übergangssysmbole zwischen diesen. Linien, die aus mehr als einem Symbol bestehen, werden als zusammenhängend erkannt und entsprechend konvertiert.

Weitere Merkmale:

• Die ASCII–Datei darf maximal 255 Zeichen * 100 Zeilen enthalten.

• Die Zeichen 176 bis 178 (Punktemuster) und 219, 220 und 223 werden oft flächig benutzt. ASC2TEX versucht mehrere von ihnen zu halbwegs günstigen Rechtecken zusammenzufassen, um nicht unnötig viele \put– bzw. \multiput–Befehle in die generierte Datei zu schreiben.

Abbildung 2: Das ”Bild1“ in der Größe footnotesize

• Es werden ein Großteil der Zeichen der Codepage 850 umgesetzt. Diese Codepage deckt sich weitgehend mit der oft benutzten Codepage 437, jedoch fehlen eine Reihe von Grafik– Zeichen, z.B. die Übergänge zwischen einfachen und doppelten Linien. Dafür sind weitere Sonderzeichen aus europäischen Sprachen enthalten. Die Abbildung 3 gibt einen Überblick. Sie wurde mit ASC2TEX umgesetzt.

• Die Zeichen 176 bis 178 (Punktemuster) und 219, 220 und 223 werden oft flächig benutzt. ASC2TEX versucht mehrere von ihnen zu halbwegs günstigen Rechtecken zusammenzufassen, um nicht unnötig viele \put– bzw. \multiput–Befehle in die generierte Datei zu schreiben.

• Unterstriche (Nr. 95) treten oftmals nicht allein auf. Leider ist das Unterstrich–Zeichen im tt–Modus zu schmal. Unterstriche werden deshalb als Linie gesetzt. Natürlich werden nach Möglichkeit mehrere zu einer Linie zusammengefaßt.

• Leerzeilen am Anfang und am Ende der Datei werden abgeschnitten, Leerspalten links und rechts ebenfalls.

• Die erzeugten LaTEX–Dateien können mit TEXcad von Georg Horn weiter bearbeitet werden. Leider entfernt TEXcad die Befehle \begin{tt} und \end{tt} aus der LaTEX– Datei. Diese müssen dann per Hand neu eingefügt werden, \begin{tt} als ersten Befehl, \end{tt} als letzten Befehl.

Meine Adresse: Thomas K. Götz Altonaer Str. 7a 27570 Bremerhaven

Die Multilinguale Code-Page 850 Standard ASCII-Tabelle (Zeichencodes 0 - 127) 000   (nul)  016   (dle)  032     048 0  064 @  080 P  096 ` 112 p 001   (soh)  017   (dc1)  033 !   049 1  065 A  081 Q  097 a  113 q 002   (stx)  018 ↕ (dc2)  034 "   050 2  066 B  082 R  098 b  114 r 003 ♡ (etx)  019   (dc3)  035 #   051 3  067 C  083 S  099 c  115 s 004 ♢ (eot)  020 ¶ (dc4)  036 $   052 4  068 D  084 T  100 d  116 t 005 ♣ (enq)  021 § (nak)  037 %   053 5  069 E  085 U  101 e  117 u 006 ♠ (ack)  022   (syn)  038 &   054 6  070 F  086 V  102 f  118 v 007   (bel)  023   (etb)  039 '   055 7  071 G  087 W  103 g  119 w 008   (bs)   024 ↑ (can)  040 (   056 8  072 H  088 X  104 h  120 x 009   (tab)  025 ↓ (em)   041 )   057 9  073 I  089 Y  105 i  121 y 010   (lf)   026 →(eof)  042 *   058 :  074 J  090 Z  106 j  122 z 011   (vt)   027 ←(esc)  043 +   059 ;  075 K  091 [  107 k  123 \{ 012   (np)   028   (fs)   044 ,   060 < 076 L  092 \ 108 l  124 | 013   (cr)   029 ↔(gs)   045 -   061 =  077 M  093 ]  109 m  125 \} 014   (so)   030   (rs)   046 .   062 > 078 N  094 ^110 n  126 ˜ 015   (si)   031   (us)   047 /   063 ?  079 O  095    111 o  127 Erweiterte ASCII-Tabelle (Zeichencodes 128 - 255) 128 Ç      144 É      160 á    176      192      208      224 Ó   240 - 129 ü      145 æ      161 í    177      193      209      225 ß   241 ± 130 é      146 Æ      162 ó    178      194      210 ^E    226 ^O   242 ^{=} 131 ^a      147 ^o      163 ú    179      195      211 Ë    227 Ò   243 ^{\frac{3}{4}} 132 ä      148 ö      164 ~ n    180      196      212 È    228 ~ o   244 ¶ 133 à      149 ò      165 ~ N    181 Á    197      213 ı    229 ~ O   245 § 134 å      150 ^u      166 ^{a}  182 ^A    198 ~ a    214 Í    230 μ 246 ÷ 135 ç      151 ù      167 ^{∘}  183 À    199 ~ A    215 ^I    231     247 136 ^e      152 ÿ      168 ¿    184 \begin{matrix}c \\ ◯ \end{matrix} 200      216 Ï    232     248 137 ë      153 Ö      169 ◯ R 185      201      217      233 Ú   249 138 è      154 Ü      170 ¬ 186      202      218      234 ^U   250 139 ï      155 ø      171 ^{\frac{1}{2}}  187      203      219      235 Ù   251 ^{1} 140 ^ı      156 £  172 ^{\frac{1}{4}}  188      204      220      236 ý   252 ^{2} 141 ì      157 Ø      173 ¡    189      205      221      237 Ý   253 ^{3} 142 Ä      158 ×  174 ^{≪} 190 Y    206      222 Ì    238     254 143 Å      159 f  175 ^{≫} 191      207      223      239     255

Abbildung 3: Sämtliche unterstützten ASCII–Zeichen