
Ist es möglich, eine auf diese Weise nutzbare Umgebung zu schaffen...?
\begin{myEnvironment}
\{title}[This is a title]
\{year}[2016]
\{content}[Lorem ipsum dolor sit amet, consectetur adipisci elit,
sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrum exercitationem ullam corporis
suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.]
\end{myEnvironment}
...oder hier entlang...?
\begin{myEnvironment}
\{title} This is a title
\{year} 2016
\{content} Lorem ipsum dolor sit amet, consectetur adipisci elit,
sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrum exercitationem ullam corporis
suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.
\end{myEnvironment}
...oder etwas ähnliches?
Und wenn ich möchte, kann ich ein Feld weglassen (zum Beispiel title
).
Die Ausgabe sollte beispielsweise so aussehen:
- Titel:Dies ist ein Titel
- Jahr:2016
Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.
Antwort1
Ja, das ist möglich und zwar mit einer benutzerfreundlichen Syntax.
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentEnvironment{myenv}{m} % <--- choose a better name
{
% process the keys
\keys_set:nn { myenv } { #1 }
% print them
\par\addvspace{\topsep}
\noindent\makebox[4em][l]{\textbullet\ \textbf{Title:}}~\l_myenv_title_tl
\\*
\noindent\makebox[4em][l]{\textbullet\ \textbf{Year:}}~\l_myenv_year_tl
\\*
\ignorespaces
}
{
\par\addvspace{\topsep}
}
% define the keys
\keys_define:nn { myenv }
{
title .tl_set:N = \l_myenv_title_tl,
year .tl_set:N = \l_myenv_year_tl,
title .value_required:n = true,
year .value_required:n = true,
}
\ExplSyntaxOff
\begin{document}
\begin{myenv}{
title = This is a title,
year = 2016,
}
Lorem ipsum dolor sit amet, consectetur adipisci elit,
sed eiusmod tempor incidunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrum exercitationem
ullam corporis suscipit laboriosam, nisi ut aliquid ex ea
commodi consequatur.
\end{myenv}
\end{document}