
Ich möchte den folgenden Code zum Laufen bringen, aber der zweite Test schlägt fehl mit
! Argument of \@secondoftwo has an extra }.
Was vermisse ich?
\documentclass{article}
\usepackage{xstring,ifthen}
\newcommand{\mytest}[1]{%
\newcommand{\s}{\StrChar{#1}{3}}
\newcommand{\x}{c}
3rd charactor of input is: \s ~equal to \x \\
1st test: \IfStrEq{\x}{c}{true}{false} \\
2nd test: \IfStrEq{\s}{c}{true}{false}
}
\begin{document}
\mytest{abcd}
\end{document}
Für jede Hilfe bin ich dankbar, danke, Malte
Antwort1
Du definierst nicht, \s
dass du das dritte Zeichen bist, sondern dass du die komplizierte Anweisung fürDruckendas dritte Zeichen.
Verwenden Sie bessere xstring
Funktionen:
\documentclass{article}
\usepackage{xstring}
\newcommand{\mytest}[1]{%
\StrChar{#1}{3}[\maltetest]%
Third charactor of input is: \maltetest\ equals c\\
Test: \IfStrEq{\maltetest}{c}{true}{false}%
}
\begin{document}
\mytest{abcd}
\end{document}
Auf diese Weise \maltetest
wird genau das dritte Zeichen der Eingabezeichenfolge enthalten sein.