Kein echtes Problem aber ein für mich merkwürdiges Verhalten ist mir aufgefallen. Folgendes Minimalbeispiel: Öffne in Overleaf
\documentclass[a4paper]{scrartcl} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{amsmath} \newcommand{\test}[1][A]{x^{#1}} \begin{document} $\test[\begin{smallmatrix} 1 \\ 2 \end{smallmatrix}]$ \[\test[\begin{smallmatrix} 1 \\ 2 \end{smallmatrix}]\] \begin{align*}\test[\begin{smallmatrix} 1 \\ 2\end{smallmatrix}]\end{align*} $\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]$ \[\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\] %\begin{align*}\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\end{align*} \begin{align*}\test[{\begin{smallmatrix} 1 & 2 \end{smallmatrix}}]\end{align*} \end{document} In der align-Umgebung ist es beim zweiten Block notwendig, eine weitere geschweifte Klammer zu setzen, ansonsten wird das Dokument nicht kompiliert. Gibt es einen Grund weshalb die Klammer notwendig ist? Beispiel mit Matrix als Defaultwert: Öffne in Overleaf
\documentclass{scrartcl} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \newcommand{\test}[1][A]{x^{#1}} \newcommand{\testneu}[1][\begin{smallmatrix} 3 & 4\end{smallmatrix}]{x^{#1}} \begin{document} %\begin{align*}\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\end{align*} \begin{align*}\test[{\begin{smallmatrix} 1 & 2 \end{smallmatrix}}]\end{align*} \begin{align*}\testneu\end{align*} \[\testneu[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\] % \begin{align*}\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\end{align*} \begin{align*}\testneu[{\begin{smallmatrix} 1 & 2 \end{smallmatrix}}]\end{align*} \end{document} gefragt 06 Dez '17, 15:23 Hirshy |
Du hast ein & im optionalen Argument. Wenn du das nicht mit der Klammer schützt, erzeugt es eine neue Zelle der align-Umgebung und alles explodiert. beantwortet 07 Dez '17, 00:08 Ulrike Fischer D.h. die geschweifte Klammer aus der Definition des Befehls reicht dafür nicht aus? Und wie verhält es sich dann, wenn z.B. ein & im Defaultwert vorkommt (siehe Ergänzung oben)? Da scheint es ja zu funktionieren; wird der Defaultwert anders behandelt als eine Ersetzung?
(07 Dez '17, 07:56)
Hirshy
3
(07 Dez '17, 08:12)
saputello
Alles klar, danke!
(07 Dez '17, 08:56)
Hirshy
|
Man kann um das Problem herumarbeiten indem man explizite geschweifte Klammern um das Öffne in Overleaf
\documentclass{article} \usepackage{amsmath} \newcommand{\test}{{\ifnum`}=0\fi\dotest} \newcommand{\dotest}[1][A]{x^{#1}\ifnum`{=0\fi}} \begin{document} \begin{align*}\test[\begin{smallmatrix} 1 & 2 \end{smallmatrix}]\end{align*} \end{document} beantwortet 10 Dez '17, 07:18 Henri |