Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

23 Jan '20, 17:46

saputello's gravatar image

saputello
11.1k174365

`frame` ist eine ziemlich *eigenartige* Umgebung und man sollte keinesfalls erwarten, dass Argumentexpansion und ähnliche Dinge darin ganz normal funktioniert. So ginge beispielsweise auch: bereits: \documentclass{beamer} \usepackage{xparse} \begin{document} \ExplSyntaxOn \begin {frame} \frametitle {Titel} Argument \int_step_inline:nnnn {1} {1} {5} {#1} \end {frame} \ExplSyntaxOff \end{document} genauso schief. Vermeidet man jedoch das `#1` bzw. in Deinem Beispiel das `##1` innerhalb des `frames`, indem man eine passende Benutzeranweisung definiert, dann funktioniert es: \documentclass{beamer} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand \OneToX {m} { \int_step_inline:nn {#1} {##1} } \ExplSyntaxOff \NewDocumentCommand \MeinBefehl {m} { \begin {frame} \frametitle {Titel} #1 \OneToX{5} \end {frame} } \begin{document} \MeinBefehl{Argument} \end{document}
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

23 Jan '20, 17:45

saputello's gravatar image

saputello
11.1k174365

`frame` ist eine ziemlich *eigenartige* Umgebung und man sollte keinesfalls erwarten, dass Argumentexpansion darin ganz normal funktioniert. So ginge beispielsweise auch: \documentclass{beamer} \usepackage{xparse} \begin{document} \ExplSyntaxOn \begin {frame} \frametitle {Titel} Argument \int_step_inline:nnnn {1} {1} {5} {#1} \end {frame} \ExplSyntaxOff \end{document} genauso schief. Vermeidet man jedoch das `#1` bzw. in Deinem Beispiel das `##1` innerhalb des `frames`, indem man eine passende Benutzeranweisung definiert, dann funktioniert es: \documentclass{beamer} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand \OneToX {m} { \int_step_inline:nn {#1} {##1} } \ExplSyntaxOff \NewDocumentCommand \MeinBefehl {m} { \begin {frame} \frametitle {Titel} #1 \OneToX{5} \end {frame} } \begin{document} \MeinBefehl{Argument} \end{document}