Wie schreibe ich ein parametergesteuertes Makro?

Wie schreibe ich ein parametergesteuertes Makro?

Eine konkrete Frage lautet:

Ich hoffe, dass ich ein Makro definieren kann, das zwischen verschiedenen Schriftarten wechseln kann. Wir gehen davon aus, dass dieses Makro den Namen hat. \myfontsWenn ich also eingebe {\myfonts throughout his life, Einstein published hundreds of books and articles.}, ist die Schriftart die Standardschriftart Minion Pro. Wenn ich diesem Makro jedoch einen Parameter übergebe, z. B. {\myfonts{palatino} ...}, wird dies zur PalatinoSchriftart.

Zu dieser Frage habe ich jetzt keine Ahnung.

Wenn Sie in LaTeX sagen \documentclass{article}, wird a4paperund 10ptals Standard verwendet, wenn Sie jedoch eingeben , wird es in und \documentclass[b5paper,11pt]{article}geändert . Mich interessiert Folgendes: Wie kann ich das erreichen?b5paper11pt

Antwort1

Bildbeschreibung hier eingeben

mit []abgegrenzten Argumenten und standardmäßigen Plain-Schriftarten:

\def\myfonts{\futurelet\tmp\xmyfonts}
\def\xmyfonts{\ifx\tmp[\expandafter\argmyfonts\else\noargmyfonts\fi}
\def\argmyfonts[#1]{\csname myfonts#1\endcsname}
\def\noargmyfonts{\rm}
\def\myfontsa{\tt}
\def\myfontsb{\it}


{\myfonts abc de}
{\myfonts[a] abc de}
{\myfonts[b] abc de}

\bye

verwandte Informationen