Конкретный вопрос звучит следующим образом:
Надеюсь, я смогу определить макрос, который может переключаться на разные гарнитуры. Мы предполагаем, что этот макрос называется
\myfonts
, поэтому, если я наберу{\myfonts throughout his life, Einstein published hundreds of books and articles.}
, гарнитура будет по умолчаниюMinion Pro
. Но если я передам параметр этому макросу, например,{\myfonts{palatino} ...}
, он станетPalatino
гарнитурой.
Сейчас я не имею ни малейшего представления об этом вопросе.
В LaTeX, если вы напишете , то по умолчанию \documentclass{article}
будет использоваться a4paper
и , но если вы наберете , то оно будет изменено на и . Мне вот интересно: как этого добиться?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