\documentclass{article} \usepackage{xparse} \NewDocumentCommand\mylist{>{\SplitList{;}}m} { \begin{itemize} \ProcessList {#1} { \insertitem} \end{itemize} } \newcommand\insertitem[1]{\item #1} \begin{document} Short list: \mylist{a;b} Longer list: \mylist{a;b;c;d} List within a list: \mylist{a;b\mylist{A;B;C;D};c;d} \end{document}