Optionales Argument in Klammern (wenn gesetzt)

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: Optionales Argument in Klammern (wenn gesetzt)

von schmendrich » Fr 30. Sep 2011, 10:25

Wunderbar,

dankeschön.

Ich werde Dein letztes Beispiel an meine tatsächlichen Bedürfnisse anpassen.

Grüße
schmendrich

von Mechanicus » Fr 30. Sep 2011, 08:37

Hi,

mit LaTeX-Mitteln:
%%LaTeX
\makeatletter
\newcommand\wer[1]{%
  #1%
   \@ifnextchar[%]
    {\wer@i}{}%
}
\def\wer@i[#1]{~(#1)}
\makeatother
Paket xparse (bietet noch mehr)
\usepackage{xparse}
%xparse
\NewDocumentCommand\wer{mo}{%
  \IfNoValueTF{#2}{#1}{#1 (#2)}
}
Paket xargs:
\usepackage{xargs}
\newcommandx*\wer[2][2]{%
 \ifx\relax#2\relax
   #1
 \else
   #1 (#2)
 \fi
}
Marco

Optionales Argument in Klammern (wenn gesetzt)

von schmendrich » Do 29. Sep 2011, 22:17

Hallo,

ich möchte gern, daß das optionale Argument eines Befehls in Klammern ausgegeben wird.
Wenn das optionale Argument nicht angegeben wird, soll im Text jedoch kein leeres Klammerpaar erscheinen (siehe Minimalbeispiel).

Wie ist das zu erreichen?
\documentclass{article}
\usepackage{xargs}
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}



\newcommandx{\wer}[2][2]{%
#1\\
#2 
}%


\begin{document}

\begin{verbatim}
\newcommandx{\wer}[2][2]{%
#1\\
#2 
}%
\end{verbatim}


\begin{verbatim}
\wer{Hans}[11.02.]
\end{verbatim}



Das Datum in der Hanszeile soll in Klammern gesetzt werden; also so
aussehen:

Hans\\
(11.02.)

Ohne optionales Argument, keine Klammern:

\begin{verbatim}
\wer{Ingo}
\end{verbatim}

Die Ingozeile soll also \emph{nicht} so aussehen:

Ingo\\
()

\end{document}
Grüße
schmendrich

Nach oben