(这个问题可能以前有人问过;我不知道如何搜索它。)
假设我有:
\newcommand{\example}[3] {#1} {#2} {#3}}
并且我知道我希望第一个参数的字体大小为“小”。
这:
\newcommand{\example}[3] \begin{small}{#1}\end{small} {#2} {#3}}
确实如此,但是如果第一个参数为空,我就会收到“没有行结束”错误。
这:
\newcommand{\example}[3] \small{{#1}} {#2} {#3}}
影响其他两个参数的字体大小(变为“小”)。
正确的做法是什么?
答案1
尽管 Steven B. Segletes 已经给出了某种答案,但在评论中,我还是将这个答案发布在一个组中,安全地更改字体大小并使用结束符\par
来更改字体。\par
提供更好的行距,因为字体(大小)更改应该发生在段落中,仅出于印刷原因。
\documentclass{article}
\usepackage{blindtext}
\newcommand{\mysupercommand}[3]{\begingroup\small #1\par\endgroup{#2} {#3}}
\begin{document}
\LARGE
\mysupercommand{First is small}{but the rest}{is not}
\mysupercommand{\blindtext}{\blindtext}{}
\end{document}