仅当提供可选参数时才输入该参数的函数

仅当提供可选参数时才输入该参数的函数

这个想法是创建一个带有可选参数的命令,只有提供该参数时才会写入它。

我尝试在定义命令时简单地使用 [] 作为可选参数:

\newcommand{\partc}[2][]{{
    \bigskip
    \noindent
    \hspace{-0.25cm}
    \fontsize{11pt}{5}
    \color{sectioncolor}
    \textbf{#2}}

    {
    \noindent
    \normalcolor
    \textbf{#1}}
    \bigskip
    }

但似乎仍然会输入一个空行(这实际上似乎合乎逻辑)。我也尝试过if像这样修改它:

\newcommand{\partc}[2][]{{
    \bigskip
    \noindent
    \hspace{-0.25cm}
    \fontsize{11pt}{5}
    \color{sectioncolor}
    \textbf{#2}}

    {
    \if#1
    \noindent
    \normalcolor
    \textbf{#1}}
    \bigskip
    \fi
    }

但它根本不写可选参数。

对此有什么想法吗?

答案1

我不确定该做什么\hspace{-0.25}

\documentclass{article}
\usepackage{xcolor}

\colorlet{sectioncolor}{red!80!blue}

\newcommand{\partc}[2][]{%
  \par\addvspace{\bigskipamount}%
  \noindent\hspace*{-0.25cm}%
  {\color{sectioncolor}\fontsize{11}{13.2}\bfseries#2\par}%
  \if\relax\detokenize{#1}\relax\else
    \noindent\textbf{#1}%
  \fi
  \par\addvspace{\bigskipamount}%
}

\begin{document}

\partc{abc}

\partc[def]{abc}

\end{document}

在此处输入图片描述

我将其修改\fontsize{11pt}{5}为更有意义的内容:当字体大小为 11pt 时,您肯定不希望基线跳跃为 5pt。

相关内容