goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 98457
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer rene54.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Prüfen, ob \newcommand\abc{} leer ist

 

matze
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2011, 00:52     Titel:
  Antworten mit Zitat      
...

Zuletzt bearbeitet von matze am 19.09.2011, 01:01, insgesamt einmal bearbeitet

CrazyHorse
Forum-Guru
Forum-Guru

Beiträge: 250
Anmeldedatum: 16.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2011, 08:03     Titel:
  Antworten mit Zitat      
matze hat Folgendes geschrieben:
Eine Überprüfung von \def und \newcommand ist nicht notwendig, wenn den Definitionen ein individueller Prefix vorangestellt wird.


wovon redest du?

Herbert
_________________

http://PSTricks.tug.org
http://tug.org/~hvoss/
Private Nachricht senden Benutzer-Profile anzeigen

cgnieder
Forum-Meister
Forum-Meister


Beiträge: 694
Anmeldedatum: 22.10.10
Wohnort: Herrenberg
Version: TeX Live 2016
     Beitrag Verfasst am: 24.04.2011, 10:44     Titel:
  Antworten mit Zitat      
CrazyHorse hat Folgendes geschrieben:
es werden _immer_ die folgenden beiden Token verglichen, also #1 und \empty


Wieso funktioniert dann \ifx\relax#1\relax?
_________________

Clemens
------------------------------
chemmacros · chemformula · leadsheets · translations · xsim.
Private Nachricht senden Benutzer-Profile anzeigen

sommerfee
Forum-Century
Forum-Century

Beiträge: 213
Anmeldedatum: 12.07.08
Wohnort: Ich bin hier nicht mehr zu erreichen!
Version: ---
     Beitrag Verfasst am: 24.04.2011, 14:48     Titel:
  Antworten mit Zitat      
cgnieder hat Folgendes geschrieben:
CrazyHorse hat Folgendes geschrieben:
es werden _immer_ die folgenden beiden Token verglichen, also #1 und \empty


Wieso funktioniert dann \ifx\relax#1\relax?


Es werden immer die folgenden beiden Token verglichen, also in diesem Fall \relax mit dem ersten Token von #1. Wenn aber #1 gar kein Token hat, weil es leer ist, wird \relax mit (dem #1 nachstehenden) \relax verglichen.
Private Nachricht senden Benutzer-Profile anzeigen

matze
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2011, 21:26     Titel:
  Antworten mit Zitat      
...

Zuletzt bearbeitet von matze am 19.09.2011, 01:01, insgesamt einmal bearbeitet

cgnieder
Forum-Meister
Forum-Meister


Beiträge: 694
Anmeldedatum: 22.10.10
Wohnort: Herrenberg
Version: TeX Live 2016
     Beitrag Verfasst am: 25.04.2011, 12:57     Titel:
  Antworten mit Zitat      
sommerfee hat Folgendes geschrieben:
Es werden immer die folgenden beiden Token verglichen, also in diesem Fall \relax mit dem ersten Token von #1. Wenn aber #1 gar kein Token hat, weil es leer ist, wird \relax mit (dem #1 nachstehenden) \relax verglichen.


Das ist das, was ich - offensichtlich unglücklich formuliert - eigentlich meinte... Wenn nun bei
Code • Öffne in Overleaf
\ifx#1\relax bla \else blub \fi

#1 kein Token hat, dann müsste also \relax mit b verglichen werden?!
_________________

Clemens
------------------------------
chemmacros · chemformula · leadsheets · translations · xsim.
Private Nachricht senden Benutzer-Profile anzeigen

sommerfee
Forum-Century
Forum-Century

Beiträge: 213
Anmeldedatum: 12.07.08
Wohnort: Ich bin hier nicht mehr zu erreichen!
Version: ---
     Beitrag Verfasst am: 25.04.2011, 13:15     Titel:
  Antworten mit Zitat      
cgnieder hat Folgendes geschrieben:
Das ist das, was ich - offensichtlich unglücklich formuliert - eigentlich meinte... Wenn nun bei
Code • Öffne in Overleaf
\ifx#1\relax bla \else blub \fi

#1 kein Token hat, dann müsste also \relax mit b verglichen werden?!


Ja.
Private Nachricht senden Benutzer-Profile anzeigen

CrazyHorse
Forum-Guru
Forum-Guru

Beiträge: 250
Anmeldedatum: 16.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2011, 15:43     Titel:
  Antworten mit Zitat      
sommerfee hat Folgendes geschrieben:
cgnieder hat Folgendes geschrieben:
Das ist das, was ich - offensichtlich unglücklich formuliert - eigentlich meinte... Wenn nun bei
Code • Öffne in Overleaf
\ifx#1\relax bla \else blub \fi

#1 kein Token hat, dann müsste also \relax mit b verglichen werden?!


Ja.


was man durch
Code • Öffne in Overleaf

\def\test#1{\ifx#1\relax \relax true\else false\fi}
...
\test{}

überprüfen kann, denn die Ausage ist wahr, im Gegensatz zu
Code • Öffne in Overleaf

\def\test#1{\ifx#1 \relax true\else false\fi}
...
\test{}


Herbert
_________________

http://PSTricks.tug.org
http://tug.org/~hvoss/
Private Nachricht senden Benutzer-Profile anzeigen

matze
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2011, 23:57     Titel:
  Antworten mit Zitat      
...

Zuletzt bearbeitet von matze am 19.09.2011, 01:00, insgesamt einmal bearbeitet

CrazyHorse
Forum-Guru
Forum-Guru

Beiträge: 250
Anmeldedatum: 16.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2011, 08:59     Titel:
  Antworten mit Zitat      
matze hat Folgendes geschrieben:
Jetzt muß ich doch mal fragen: Was für einen Sinn macht es, ein newcommand zu definieren, das leer ist?

Das ist doch ein Programmierfehler, wenn man leere Befehle definiert ??
Wozu braucht man eine Routine, die dem nachspürt?

es geht hier nicht um \newcommand, sondern darum, zu überprüfen, ob ein Parameter einen Wert hat oder nicht.

Herbert
_________________

http://PSTricks.tug.org
http://tug.org/~hvoss/
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite Zurück  1, 2



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de