Für eine Rechtschreibprüfung innerhalb von TeX müsste man in der Lage sein, die horizontalen Boxen, die aus den Zeichen erzeugt werden, abzufangen und einem Vergleich zu unterziehen.

Hier zunächst eine Vergleichsroutine, die im letzten Vergleich nicht funktioniert. Gibt es dazu Tipps?

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}
\vskip\baselineskip
\def\A{C}
\def\B{C}
Der Vergleich ergibt \A \B \ \ifx\A\B Richtig \else FALSCH \fi
\vskip\baselineskip
\def\A{C}
\def\B{D}
Der Vergleich ergibt \A \B \ \ifx\A\B Richtig \else FALSCH \fi
\vskip\baselineskip
\def\A{{Dies}}
\def\B{{Dies}}
Der Vergleich ergibt \A \B \ \ifx\A\B Richtig \else FALSCH \fi
\vskip\baselineskip
\def\A{{Das}}
\def\B{{Dies}}
Der Vergleich ergibt \A \B \ \ifx\A\B Richtig \else FALSCH \fi

\vskip\baselineskip
\setbox1=\hbox{Das}
\setbox2=\hbox{Das}
\def\A{\copy1}
\def\B{\copy2}
Der Vergleich ergibt \A \B \ \ifx\A\B Richtig \else FALSCH \fi
\end{document}

gefragt 19 Jun '13, 20:33

ctansearch's gravatar image

ctansearch
(inaktiv)
Akzeptiert: 84%

Wieso nicht \pdfstrcmp verwenden? Ansonsten musst Du auf catcodes aufpassen. a ist nicht immer gleich a.

(20 Jun '13, 02:07) Clemens

Wie in TeX by Topic steht, vergleicht \ifx bei Makros auf Gleichheit der Expansion:

\ifx Test equality of macro expansion, or equality of character code and category code.

Die Expansion von \A und \B ist aber nicht die gleiche: im ersten Fall ist sie \copy1 und im zweiten \copy2. Da \copy nicht expandierbar ist, wüsste ich auch von keinem Weg drum herum, mit \edef würden beide Makros unverändert \copy1 und \copy2 sein, genau wie nach einer \expandafter-Kette.

Permanenter link

beantwortet 20 Jun '13, 02:32

Clemens's gravatar image

Clemens
19.0k113060

@ctansearch: Danke für die geschenkten Punkte! Anstatt mir Deine sauer verdienten Punkte zu schenken, könntest Du auch einfach auf den Daumen nach oben klicken: für mich hätte das den gleichen Effekt und Du würdest Deine nicht verlieren :)

(20 Jun '13, 06:05) Clemens

@Clemens :-)) Achso, man verliert die... naja, geschenkt.

(20 Jun '13, 06:09) ctansearch

@ctansearch Stefan und ich haben hier: http://texwelt.de/blog/wissen/stimmen/ was zum Stimmen und Punkte abgeben geschrieben

(20 Jun '13, 06:15) Clemens
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×14
×4
×3

Frage gestellt: 19 Jun '13, 20:33

Frage wurde angeschaut: 2,887 Mal

Zuletzt aktualisiert: 20 Jun '13, 06:15