一個具體問題如下:
我希望我可以定義一個可以切換不同字體的巨集。我們假設這個巨集被命名為
\myfonts
,所以,如果我輸入{\myfonts throughout his life, Einstein published hundreds of books and articles.}
,字體將是預設的Minion Pro
。但是,如果我向該巨集傳遞一個參數,例如 ,{\myfonts{palatino} ...}
它將成為Palatino
字體。
我現在不知道這個問題。
在 LaTeX 中,如果輸入\documentclass{article}
,則會預設使用a4paper
and ,但如果輸入,則會將其變更為and 。我對此很好奇:我怎麼能實現這個目標?10pt
\documentclass[b5paper,11pt]{article}
b5paper
11pt
答案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