매개변수 기반 매크로를 작성하는 방법은 무엇입니까?

매개변수 기반 매크로를 작성하는 방법은 무엇입니까?

구체적인 질문은 다음과 같습니다.

다른 서체로 전환할 수 있는 매크로를 정의할 수 있기를 바랍니다. 이 매크로의 이름은 이라고 가정 \myfonts하므로 을 입력하면 {\myfonts throughout his life, Einstein published hundreds of books and articles.}글꼴이 기본값이 됩니다 Minion Pro. 하지만 해당 매크로에 매개변수(예: )를 전달하면 서체 {\myfonts{palatino} ...}가 됩니다 Palatino.

나는 지금 이 질문에 대해 전혀 모른다.

LaTeX에서는 이라고 말하면 and 가 기본값으로 \documentclass{article}적용되지만 를 입력하면 and 로 변경됩니다 . 나는 이것이 궁금합니다. 어떻게 그것을 달성할 수 있습니까?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

관련 정보