Wie geht eigentlich sowas: Die Potenz habe ich mir mal als einfaches Beispiel überlegt. Geht das mit xparse (wäre praktisch)? Öffne in Overleaf
\documentclass[12pt]{scrreprt} \usepackage{amsmath} \usepackage{xparse} \begin{document} \texttt{\textbackslash potenz[grundzahl=a, hochzahl=b]} $\rightarrow~ a^b$ \texttt{\textbackslash potenz[grundzahl=a]} $\rightarrow~ a^{}$ ~ \text{(ohne \{\} Fehler)} \texttt{\textbackslash potenz[hochzahl=b]} $\rightarrow~ ^b$ \end{document} gefragt 19 Mai '19, 23:28 cis |
Öffne in Overleaf
\documentclass{article} \usepackage{pgf} \pgfkeys{/potenz/.cd,grundzahl/.initial={},hochzahl/.initial={}} \newcommand{\potenz}[1][]{\begingroup\pgfkeys{/potenz/.cd,#1}% \ensuremath{{\pgfkeysvalueof{/potenz/grundzahl}}^{\pgfkeysvalueof{/potenz/hochzahl}}}% \endgroup} \begin{document} \potenz[grundzahl=a,hochzahl=b] \potenz[grundzahl=a] \potenz[hochzahl=b] \end{document} beantwortet 20 Mai '19, 00:12 Community |
Alternative mit Öffne in Overleaf
\documentclass[]{article} \usepackage{keyval} \makeatletter \newcommand*\@grundzahl{} \newcommand*\@hochzahl{} \define@key{cis/potenz}{grundzahl}{\def\@grundzahl{#1}} \define@key{cis/potenz}{hochzahl}{\def\@hochzahl{#1}} \newcommand\potenz[1][] {% \begingroup \setkeys{cis/potenz}{#1}% \ensuremath {% \ifx\@grundzahl\@empty\else\@grundzahl\fi \ifx\@hochzahl\@empty\else^{\@hochzahl}\fi }% \endgroup } \makeatother \begin{document} \potenz[grundzahl=a,hochzahl=b] \potenz[grundzahl=a] \potenz[hochzahl=b] \end{document} beantwortet 20 Mai '19, 21:14 Skillmon |
Alternative mit LaTeX3: Öffne in Overleaf
\documentclass[]{article} \usepackage{xparse} \ExplSyntaxOn \keys_define:nn { cis / potenz } { ,grundzahl .tl_set:N = \l__cis_potenz_grundzahl_tl ,hochzahl .tl_set:N = \l__cis_potenz_hochzahl_tl } \NewDocumentCommand \potenz { O{} } { \group_begin: \keys_set:nn { cis / potenz } { #1 } \ensuremath { \tl_if_empty:NF \l__cis_potenz_grundzahl_tl \l__cis_potenz_grundzahl_tl \tl_if_empty:NF \l__cis_potenz_hochzahl_tl { \sp { \l__cis_potenz_hochzahl_tl } } } \group_end: } \ExplSyntaxOff \begin{document} \potenz[grundzahl=a,hochzahl=b] \potenz[grundzahl=a] \potenz[hochzahl=b] \end{document} beantwortet 20 Mai '19, 21:11 Skillmon |