Anzeige:
Ergebnis 1 bis 4 von 4

Thema: noch einmal: etoolbox und \ifdef...

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685

    noch einmal: etoolbox und \ifdef...

    Eine ähnliche Frage hatte ich bereits gestellt, hier eine Variante:

    Das Beispiel funktioniert so (natürlich) nicht, da der Inhalt von #1 kein string
    ist. Ein Makro auch nicht. Aber was ist es dann?

    Code:
    \documentclass{minimal}
    \usepackage{etoolbox}
    \newcommand{\abc}{r}
    \newcommand{\test}[1]{\ifdefstring{\abc}{r}{#1}{nuescht}}
    \begin{document}
    \test{q} \test{r} \test{s}
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Verstehe die Frage nicht. Das Beispiel funktioniert doch. \abc ist im Beispiel immer "r", also vergleicht \ifdefstring im Beispiel immer die Expansion von \abc, die "r" lautet, mit "r", kommt zu dem korrekten Schluss, dass das identisch ist und gibt das \test übergebene Argument aus. Was soll da nicht funktionieren?

  3. #3
    Registrierter Benutzer Avatar von cgnieder
    Registriert seit
    06.04.2011
    Ort
    Herrenberg
    Beiträge
    254
    Willst Du sowas:

    Code:
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \newcommand\cs[1]{\texttt{\textbackslash#1}}
    \usepackage{etoolbox}
    \newcommand{\abc}{r}
    \newcommand{\test}[1]{%
      \ifdefstring{\abc}{#1}
        {\cs{abc} gleich `#1'}
        {\cs{abc} nicht gleich `#1'}%
    }
    \begin{document}
    \test{q}\par
    \test{r}\par
    \test{s}
    \end{document}
    Übrigens: die minimal-Klasse ist nicht für Minimalbeispiele gedacht, sondern ein Artefakt aus der Entwicklungszeit von LaTeX2e:
    Zitat Zitat von David Carlisle
    actually the main motivating use for that class was testing the design of the latex2e package and class loading mechanism, just to check that there were not implied hidden dependencies on the standard article/report/book classes (which were of course the only ones existing for a while).
    Grüße
    Clemens

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Jau, sorry für das fehlerhafte Beispiel. Aber Clemens' Kristallkugel hat
    hervorragende Arbeit geleistet!

    Vielen Dank auch für den Hinweis betreffs der minimal.cls. Ich verwende
    sonst üblicherweise article oder scrartcl für die Beispiele und wollte es
    diesmal besonders gut machen ...

Lesezeichen

Berechtigungen

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