Anzeige:
Ergebnis 1 bis 12 von 12

Thema: \let-analogon für einzelne character

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.06.2006
    Beiträge
    103

    \let-analogon für einzelne character

    Hollerö.

    Ich suche gerade nach einem Befehl, der analog zu \let ist... aber:

    wenn ich "\let\bla= " mache, wird das leerzeichen (und beliebig viele) übersprungen. genau das will ich NICHT! Ich will, dass \bla mit dem character belegt wird, und dann mit ner if-anweisung auch \bla mit jedem character vergleichen können (sprich: ich brauch wohl auch dafür was anderes)...

    irgendwie muss sowas gehen... also dass man auch sonderzeichen bekommt... mir stellt sich nur die frage: wie? Weiß das jemand?

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.752
    Moin moin,
    Zitat Zitat von schoppenhauer Beitrag anzeigen
    wenn ich "\let\bla= " mache, wird das leerzeichen (und beliebig viele) übersprungen. genau das will ich NICHT! Ich will, dass \bla mit dem character belegt wird, und dann mit ner if-anweisung auch \bla mit jedem character vergleichen können (sprich: ich brauch wohl auch dafür was anderes)...
    \defineverbatimstring klingt vielversprechend... hab ich hier
    gefunden
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    05.06.2006
    Beiträge
    103
    Hm... Nein... Das hilft mir nicht wirklich weiter.

    Es muss doch irgendeine Alternative zu \let geben... also auch \let ... = \verb bringt nix.

  4. #4
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.604
    Vielleicht ist \chardef was für dich?

    Liebe Grüße,
    Axel

  5. #5
    Registrierter Benutzer
    Registriert seit
    05.06.2006
    Beiträge
    103
    Sieht auf jeden Fall mal besser aus als \let... Werd ich mal probieren...

    Lustigerweise findet man im Google zu solchen Befehlen zwar wahnsinnig viel, aber einfach mal irgendwie sowas von wegen Syntax und Bedeutung und vielleicht verwandte Befehle, die so aehnlich sind (wie in ner gescheiten Befehlsreferenz)... Fehlanzeige...

  6. #6
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    Zitat Zitat von schoppenhauer Beitrag anzeigen
    Lustigerweise findet man im Google zu solchen Befehlen zwar wahnsinnig viel, aber einfach mal irgendwie sowas von wegen Syntax und Bedeutung und vielleicht verwandte Befehle, die so aehnlich sind (wie in ner gescheiten Befehlsreferenz)... Fehlanzeige...
    Im Anhang zu Norbert Schwarz' Einführung in TeX gibt's ein Verzeichnis der plain-TeX-Befehle. Über dessen Vollständigkeit und Aktualität kann ich aber nichts sagen.

    Grüße
    Marcel

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  7. #7
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.604
    Ansonsten gibt es noch das IMHO sehr gute "TeX by Topic, A TeXnician's Reference" von Victor Eijkhout online:

    http://www.eijkhout.net/tbt/

    Liebe Grüße,
    Axel

  8. #8
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Das kannte ich noch gar nicht... Merci für den Link

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  9. #9
    Registrierter Benutzer
    Registriert seit
    05.06.2006
    Beiträge
    103
    Hm... Also \chardef erwartet nach dem = eine Zahl... und ich will doch einfach nur, dass nur das nächste Zeichen eingelesen wird... ein Zeichen. Ein einfaches Zeichen. Das muss doch irgendwie möglich sein. Gibts denn wenigstens ne Möglichkeit, meinetwegen einen Befehl \charnumber oder so, der einem die Nummer des nächsten Characters zurückgibt? Also das würde ja bereits reichen, um \chardef zu verwenden, nehm ich an.

  10. #10
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.604
    Kannst du ein bischen konkreter werden? Denn um ein "Zeichen einzulesen", gibt es sehr viele Möglichkeiten, z.B.:

    - Makro mit Parameter (wenn der Parameter nicht in {} eingebettet wird, wird ja einfach das nächste Zeichen genommen)

    - \@car (definiert im LaTeX-Kernel, ltxdefns.dtx) expandiert zum ersten Zeichen/Token einer gegebenen Zeichen/Tokenkette

    - \futurelet (Anwendung: Siehe z.B. \@ifnextchar & \@ifstar)

    - ...

    Man muß für eine reine Makrosprache (wie TeX) anders denken als bei einer prozeduralen Programmiersprache, ansonsten wird man verrückt. Es erinnert mich immer an den Spielfilm "Firefox" (siehe http://de.wikipedia.org/wiki/Firefox_(Film)) wo Clint Eastwood eingebleut wird "You have to think Russian!". Ähnlich ist es bei TeX/LaTeX, mittlerweile bekomme ich aber den Wechsel zwischen TeX und C++ ganz gut hin, hoffe ich zumindest

    Lese doch einfach mal ein wenig in den beiden hier genannten TeX-Büchern/PDFs, vielleicht kommt dir dann die eine oder andere Idee...

    Liebe Grüße,
    Axel

  11. #11
    Registrierter Benutzer
    Registriert seit
    05.06.2006
    Beiträge
    103
    Zitat Zitat von sommerfee Beitrag anzeigen
    Kannst du ein bischen konkreter werden? Denn um ein "Zeichen einzulesen", gibt es sehr viele Möglichkeiten, z.B.:
    Ich hab doch oben recht konkret gesagt, was ich will... An sich ist \let\next=... in ordnung, nur, dass es leerzeichen ignoriert, und genau das ist es, was ich nicht will, ich will dasselbe wie die \let-funktion, nur so, dass sie auch leerzeichen ausliest und nicht einfach ignoriert.

  12. #12
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.604
    Zitat Zitat von schoppenhauer Beitrag anzeigen
    Ich hab doch oben recht konkret gesagt, was ich will... An sich ist \let\next=... in ordnung, nur, dass es leerzeichen ignoriert, und genau das ist es, was ich nicht will, ich will dasselbe wie die \let-funktion, nur so, dass sie auch leerzeichen ausliest und nicht einfach ignoriert.
    Verstehe ich nicht. \let kopiert das Token nach dem (optionalen) =, welches man explizit dahinter schreiben muß. Ich kann mir keinen Reim daraus machen, warum man möchte, daß Leerzeichen hier nicht ignoriert werden, es sei denn, man möchte einem Makro genau ein Leerzeichen zuweisen, was aber z.B. mit \chardef ginge. Sorry, ich stehe total auf dem Schlauch, für mich ist das etwa so, als würde man ein "a = 1;" in C wollen, welches keine Leerzeichen hinter dem = ignoriert...

    Wenn das Zeichen aus dem aktuellen Token-Strom entnommen werden soll, dann ist \let sowieso schlecht. Dafür nimmt man dann AFAIK entweder ein eigenes Makro oder \futurelet oder ..., und dort werden Leerzeichen nicht ignoriert, zumindest solange sich TeX nicht in einem passenden Modus befindet und \obeyspaces nicht gesetzt ist.

    Liebe Grüße,
    Axel

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •