マクロがあります:
\newcommand{\sEmph}[1]{\textbf{\textcolor{NavyBlue}{#1}}}
そうすると、次のことができます:
Some text is in \sEmph{blue}, and some in black.
結果は次のようになります:
しかし、中括弧を省略すると、次のように文字 b だけが青になります。
Some text is in \sEmph blue, and some in black.
質問:マクロを単語で動作させる方法はありますか?使うことなくブレース?
答え1
行ってもいい
\def\zz#1 {\textcolor{blue}{#1} }
引数は\zz
スペースで区切られる
\zz word like this
青色になりますword
が、明示的なスペースで区切る必要があります。
\zz word\ like this
青になりword\ like
、
... \zz word}..
エラーが発生します。
LaTeX の主な設計目標は、すべてのコマンド、オプションの引数、必須{}
の引数[]
などに一貫した構文を提供することです。そのため、LaTeX はこれらの区切られた引数を実際にはサポートしておらず、通常、ドキュメントの最上位レベルでそれらを使用することはお勧めできません。
答え2
簡単な解決法は次のとおりです:
\def\sEmph#1+{\textbf{\textcolor{NavyBlue}{#1}}}
ですが、単語を終了するには + 文字を使用する必要があります。(La)TeX で単語を非文字で終了する文字列として認識させる必要がある場合は、はるかに複雑になります。