Seite 1 von 1

\renewcommand\tabularxcolumn innerhalb eines Befehls

Verfasst: Do 16. Feb 2023, 17:38
von Seban
Hallo zusammen,

Ich möchte eine Tabelle (und weitere Inhalte) mittels eines Befehls (\newcommand) in mein Hauptdokument einfügen. Leider führt dies bei Nutzung von tabularx bzw. des in diesem Paket bereitgestellten Befehls
\renewcommand\tabularxcolumn[1]{m{#1}}
zu einem Fehler.

Gibt es eine Möglichkeit dies hinzubiegen?

Hier ein Beispiel, Zeile 16 verursacht den Fehler "! Illegal parameter number in definition of \TabelleEinfuegen."
\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
	adieresis={ä},
	udieresis={ü}
}
\usepackage{tabularx}



\newcommand{\TabelleEinfuegen}{%
	\begin{table}
		\renewcommand\tabularxcolumn[1]{m{#1}}	% Fehler: ! Illegal parameter number in definition of \TabelleEinfuegen.
		
		\begin{tabularx}{\textwidth}{|X|X|}\hline

			\textbf{Data}	& \textbf{Value}	\\\hline\hline
			
			X	& Y	\\\hline
			Z	& Hier ein mehrzeiliger Eintrag. Es ist gewünscht, dass die Einträge der linken Spalte vertikal zentriert sind.	\\\hline

		\end{tabularx}
	\end{table}
}



\begin{document}
	
	\TabelleEinfuegen
	
\end{document}

Bin dankbar für jede Idee!

Grüße,
Seban

Re: \renewcommand\tabularxcolumn innerhalb eines Befehls

Verfasst: Do 16. Feb 2023, 18:22
von Bartman
Das benutzte LaTeX-Programm ordnet den Platzhalter #1 dem Argument des erstellten Befehls zu, der aber ohne Parameter definiert wurde. Der Bezug zu dem Befehl, dessen Änderung in der Definition Deines Befehls stattfindet, muss mit ##1 erfolgen.

Re: \renewcommand\tabularxcolumn innerhalb eines Befehls

Verfasst: Mi 22. Feb 2023, 17:51
von Seban
Wunderbar, so funktioniert es. Vielen Dank, Bartman!