パラメータ駆動型マクロの書き方は?

パラメータ駆動型マクロの書き方は?

具体的な質問は次のとおりです。

異なる書体に切り替えることができるマクロを定義できればと思います。このマクロの名前は と仮定する\myfontsと、 と入力すると{\myfonts throughout his life, Einstein published hundreds of books and articles.}、書体はデフォルトの になりますMinion Pro。ただし、そのマクロに、たとえば というパラメータを渡すと{\myfonts{palatino} ...}、書体になりますPalatino

今のところこの質問に対する答えは分かりません。

LaTeX では、 と入力すると、と がデフォルトとして\documentclass{article}使用されますが、 と入力すると、とに変更されます。これについて疑問があります。どうすればこれを実現できますか?a4paper10pt\documentclass[b5paper,11pt]{article}b5paper11pt

答え1

ここに画像の説明を入力してください

[]区切りの引数と、デフォルトでプレーンなフォントを使用します。

\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

関連情報