⇨ Konvertieren von Anführungszeichen mit EddieDiese Seite ist von
Thorsten Liebold @ MS
ATARI.DTP-FAQ
⇧ Inhalt (Textbearbeitung/Editor)Korrekte AnführungenWie konvertiere ich Anführungszeichen mit Eddies Suchen/Ersetzen?Eddie hat eine sehr mächtige Suchen/Ersetzen-Funktion, die jedoch - geht
es über das einfache suchen & ersetzen hinaus - nicht ganz einfach zu
durchschauen ist.
Ich versuche hier einmal die Funktion eines Suchen/Ersetzen-Paares zur
Konvertierung von Anführungszeichen zu erläutern.
Einfache Lösung: Suchtext: Ersetztext:
"{*! Text in Anführungsstrichen}" »{= Text in Anführungsstrichen}«
Der [*]-Joker darf beliebig viele und alle Zeichen außer " enthalten.
Hier sucht Eddie nun nach dem ersten ", einem beliebigen Text und einem
weiteren ". Den Text zwischen den beiden Anführungszeichen merkt sich
Eddie unter dem Namen »Text in Anführungsstrichen«.
Nun erstetzt Eddie die oben gefundene Zeichenkette durch die unter
»Ersetztext« angegebene, wobei zwischen den richtigen Anführungsstrichen
der oben gespeicherte »Text in Anführungsstrichen« eingesetzt wird.
Dieses Verfahren hat jedoch einen deutlichen Nachteil: es kommt
fürchterlich durcheinander, wenn einmal irgendwo Anfürungszeichen fehlen
oder im Text echte Zollzeichen (") vorkommen.
Es muß nun nach einem Verfahren gesucht werden, daß beim Suchen gleich-
zeitig die Plausibilität der Anführungszeichen überprüft, um die o.g.
Schwächen auszugleichen.
Bessere Lösung: Suchtext: Ersetztext:
"{[]! a}{*! b}"{[]! c} »{= a}{= b}«{= c}
Der erste []-Joker darf nur ein Zeichen enthalten,
und zwar alles außer:
- Leerzeichen, festes Leerzeichen, Geviert
- Absatzende, variables Absatzende
- hartes Zeilenende
Der [*]-Joker darf beliebig viele und alle Zeichen enthalten.
Der zweite []-Joker darf nur ein Zeichen und zwar ausschließlich
- Leerzeichen, festes Leerzeichen, Geviert
- Absatzende, variables Absatzende
- hartes Zeilenende
- .,;:!?><= und alle Striche
Bei diesem S/E-Verfahren wird nun davon ausgegangen, daß Anführungszeichen
nur dann richtig gesetzt sind, wenn hinter den ersten Anführungszeichen
kein Leerzeichen oder kein Absatzende (bzw. ein vergleichbares Zeichen)
ist und sich hinter den zweiten Anführungszeichen kein Text, wohl aber
eines der definierten Satzzeichen, befindet. Stimmen die gesetzen Anführ-
ungszeichen nicht mit diesen Anforderungen überein, springt Eddie, und
zwar ohne etwas zu konvertieren zum nächsten "-Paar.
Auch wenn das zuletzt genannte Beispiel in den meisten Fällen hinreichend
gute Ergebnisse liefert, gibt es dennoch eine Ausnahme unter denen auch
dieser Algorithmus versagt: bei Zollzeichen innerhalb wörtlicher Rede.