Una pregunta específica es la siguiente:
Espero poder definir una macro que pueda cambiar a diferentes tipos de letra. Suponemos que esta macro tiene nombre
\myfonts
, por lo que, si escribo{\myfonts throughout his life, Einstein published hundreds of books and articles.}
, el tipo de letra será el predeterminadoMinion Pro
. Pero si paso un parámetro a esa macro, por ejemplo,{\myfonts{palatino} ...}
se convertirá en elPalatino
tipo de letra.
No tengo idea de esta pregunta ahora.
En LaTeX, si dice \documentclass{article}
, tomará a4paper
y 10pt
como valor predeterminado, pero si escribe \documentclass[b5paper,11pt]{article}
, se cambiará a b5paper
y 11pt
. Tengo curiosidad sobre esto: ¿Cómo puedo lograrlo?
Respuesta1
usando []
argumentos delimitados y las fuentes simples por defecto:
\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