enumitem: Parameter per command übergeben schlägt fehl.

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: enumitem: Parameter per command übergeben schlägt fehl.

von godi » Di 3. Mär 2015, 07:32

Danke für deine hilfreichen Antworten!

Funktioniert super. :)

Manchmal sind so Lösungen ganz schön kompliziert... ;)

von u_fischer » Mo 2. Mär 2015, 13:59

Nein, das geht nicht. Die Schlüssel-Wert-Liste kannst du nicht in einem Befehl verstecken.

Der Standardweg für sowas ist es, neue Schlüssel oder style zu definieren, die mehrere "primitive" Schlüssel zusammenfassen (z.B. wie das tikz macht). Mit enumitem ist das was mühseliger, weil es eine eigene Variante von keyval-Code benutzt. Man musste erstmal in den Code schauen, ob man dort einen "style"-Key aufpropfen kann.

Du kannst aber auch sowas machen:
\documentclass[]{scrartcl}

\usepackage{enumitem}

% Einstellungen für itemize
% Siehe Handbuch enumitem: https://www.ctan.org/pkg/enumitem
\newcommand*{\settings}{%
     topsep = 0pt%
   , itemsep = 0pt%
   , parsep = 0pt%
   , partopsep = 0pt%
}

 
\newcommand\mysetlist[2][]{%
 \edef\next{\noexpand\setlist[#1]{\unexpanded\expandafter{#2}}}%
 \next}
 
\mysetlist[itemize]{\settings}

\begin{document}
Hier kommt ein Itemize:
\begin{itemize}
   \item Item 1
   \item Item 2
   \item Item 3
   \item Item 4
\end{itemize}
Ende des ersten Itemize.
\end{document}

enumitem: Parameter per command übergeben schlägt fehl.

von godi » Mo 2. Mär 2015, 12:40

Hallo,

ich möchte gerne dem Befehl \setlist aus dem Paket enumitem die Parameter per command übergeben. Dies schlägt jedoch fehl.

Bsp:
\documentclass[]{scrartcl}

\usepackage{enumitem}

% Einstellungen für itemize
% Siehe Handbuch enumitem: https://www.ctan.org/pkg/enumitem
\newcommand*{\settings}{%
	  topsep = 0pt%
	, itemsep = 0pt%
	, parsep = 0pt%
	, partopsep = 0pt%
}

\setlist[itemize]{\settings}

\begin{document}
Hier kommt ein Itemize:
\begin{itemize}
	\item Item 1
	\item Item 2
	\item Item 3
	\item Item 4
\end{itemize}
Ende des ersten Itemize.
\end{document}
Grund warum ich dies so machen will:
Ich möchte alle Einstellungen in ein eigene tex Datei auslagern.
Im Dokument selbst sollte dann nur mehr der \setlist Befehl stehen. Somit kann ich auch mehrere Einstellungen für die Itemize Umgebung speichern.

godi

Nach oben