Archiv verlassen und diese Seite im Standarddesign anzeigen : 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?
\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}
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?
cgnieder
07-11-2013, 19:22
Willst Du sowas:
\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 (http://tex.stackexchange.com/q/42114/5049), sondern ein Artefakt aus der Entwicklungszeit von LaTeX2e:
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
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 ...
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.