可省略的参数的字体大小

可省略的参数的字体大小

(这个问题可能以前有人问过;我不知道如何搜索它。)

假设我有:

\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}

在此处输入图片描述

相关内容