Any looping command will do, I used \forloop
from the equally named package and defined a command \getfulltext[]{number of textelements}
The first optional argument defaults to [ ]
(white space between!!!) and acts as a separator of individual text elements. If no space is wanted, use []
explitly when calling.
However, the command does used \gettext
always being the same text 'array'
Edit Now there is no additional spacing
at the end of the list.
\documentclass{article}
\usepackage{forloop}%
\usepackage{etoolbox}
\newcounter{cnt}
\newcounter{loopcounter}
\newcounter{numberofelements}%
\newcommand\addtext[1]{%
\stepcounter{cnt}%
\csdef{text\thecnt}{#1}
\setcounter{numberofelements}{\number\value{cnt}}%
}%
\newcommand\gettext[1]{%
\csuse{text#1}}
\newrobustcmd{\getfulltext}[2][ ]{%
\forloop{loopcounter}{1}{\number\value{loopcounter} < #2}{%
\ifnumless{\number\value{loopcounter}}{#2 - 1}{%
\gettext{\number\value{loopcounter}}#1%
}{%
\gettext{\number\value{loopcounter}}%
}%
}% End of loop
\setcounter{loopcounter}{0}%
}% End of command
\begin{document}
\addtext{one}
\addtext{two}
\addtext{three}
\stepcounter{numberofelements}%
\begin{itemize}
\item Separate usage of `\texttt{\(\backslash\) gettext\{\}}`
\gettext{1}
\gettext{2}
\gettext{3}
\item No space between:
\getfulltext[]{\number\value{numberofelements}}%
\item Space between
\getfulltext{\number\value{numberofelements}}%
\item Long \(\longrightarrow\) between
\getfulltext[\(\longrightarrow\)]{\number\value{numberofelements}}%
\end{itemize}
\end{document}
