6

私のマクロが\newcommand{\k}{king\xspace}. 次に、「...と言った\ k」の間隔。良くなるよ。しかし、\k\k の途中にスペースを入れたくない場合はどうすればよいでしょうか? 「キングキング」が欲しい。「キングキング」ではありません。

これを行う方法はありますか?

4

3 に答える 3

5

\unskip以前に挿入されたスキップ (スペースを含む)\K\unskip\Kを削除するため、それを削除したい奇妙な場合に使用しても十分です。

ここに画像の説明を入力

\documentclass{article}
\usepackage{xspace}% http://ctan.org/pkg/xspace
\newcommand{\K}{king\xspace}
\begin{document}
Here is the \K. Here is the \K\K. Here is the \K\unskip\K.
\end{document}
于 2012-11-01T19:05:16.670 に答える
4

の全体的なポイントは\xspace、単語の間にスペースを追加し、句読点の前にスペースを追加しないことです。したがって、マクロの 2 つの使用の間にスペースを入れたくない場合は、使用しないでください\xspace{}ただし、もちろん、これには最後にa を使用する必要があります。

\documentclass{article}
\newcommand{\K}{king}%

\begin{document}
At end of sentence \K.\par
In between \K\K{} you want one long word.
\end{document}
于 2011-10-14T00:30:08.127 に答える
3

xspace のドキュメントによると、これを処理する方法は、マクロ呼び出しの直後に {} を使用することです。

 \k{}\k

xspace の最近のバージョンでは、マクロの後にスペースを生成してはならない追加のマクロを指定することもできます。

 \xspaceaddexceptions{\k}

これを \xspaceaddexceptions{\textsuperscript} に使用したかったのですが、私のショップには xspace v1.06 があり、それが十分に最近のものではないため、うまくいきませんでした。だから私は使用しました:

 \newcommand{\unix}{\textsc{unix}\xspace}
 \unix{}\textsuperscript{\textregistered}

私が使用しているフォントには太字の小さな大文字がないため、太字のセクション見出しを除いてうまくいきました。はぁ...

于 2014-03-03T18:03:14.377 に答える