如何在同一行输出不同的命令?

如何在同一行输出不同的命令?

我正在尝试创建一个自定义标题命令,输出如下内容:

在 MyCity,dd-mm-yyyy 由 Someone 和 Something

为此,我有自定义命令来定义每个部分

\newcommand{\myCity}[1]{\def\@myCity{#1}}
\newcommand{\myDate}[1]{\def\@myDate{#1}}

还有另一个命令来输出所有内容

\newcommand{\makeThings}{

\ifdefined\@myCity

    \textbf{\@myCity}\textit{\@charDeathCity,\@charDeathDate})

\fi

\ifdefined\@myDate

    \textit{, \@myDate})

\fi

}

我不知道如何将 \makeThings 命令的所有输出放在同一行中。事实上,每个 if 都将输出在不同的行中。有人能帮我一下吗?

答案1

空行与以下内容相同\par

\makeatletter
\newcommand{\myCity}[1]{\def\@myCity{#1}}
\newcommand{\myDate}[1]{\def\@myDate{#1}}

\newcommand{\makeThings}{%
  \ifdefined\@myCity
    \textbf{\@myCity}\textit{\@charDeathCity,\@charDeathDate}) % space here
  \fi
  \ifdefined\@myDate
    \textit{, \@myDate})% no space here
  \fi
}
\makeatother

相关内容