2009-05-20 2 views
2

私は新しいコマンドを割り当てて、バリアブルテキストと次の単語の間のスペースが不足しているPAR \の先頭にそれを呼び出します。パー\のtestcmdのfoobarの\LaTeXの newcommand パー問題

\ newcommand {\ testcmd} {これはテストである}

レンダリングされる:

これはtestfoobarです。

\ par foo \ testcmd bar。これはテストバーですFOO:として

は細かい描画します。

誰もが前に、このに遭遇し、解決策を持っていますか?

おかげ

答えて

4

私はここで起こっている正確な事を知りませんが、バックそのスペースを取得するには、いくつかの方法があります。

  1. \newcommand{\testcmd}{This is a test } % <- space before closing brace
  2. par \testcmd{} foobar % <- note {}
  3. 最も詳細しかし、あまりにも最も堅牢な方法:

    \ USEPACKAGE {} xspace

    \ newcommand {\ testcmd} {これはテスト用の\ xspaceある}

+1

TeXのレクサーは、コマンドを終了するための空白をすべて考慮して、すべてをゴブリングするということです。そうでなければ、すべてのコマンド呼び出しの後にスペースを注意する必要があります。 –

1

実際にははるかに単純な答えはに次のようになります。foobarの前に余分な

\newcommand{\testcmd}{This is a test} 

\par \testcmd \ foobar. 

お知らせ "\"(スラッシュとスペース)。余分なパッケージは必要ありません。

+4

私はタイトルと姓の間に改行を置かないようにするために "Mr. Smith"を "Mr.〜Smith"と書くのが慣習的だと思います。 – las3rjock

+0

>通常、ラテックスは、「〜あなたは\「ミスター\スミス」とスペースをエスケープのいずれかによって、またはで改行なしスペースを挿入することにより、このような状況で 間の文間隔を望んでいないことを示すために氏を可能に〜スミス。 〜は、タイトルと名前の間、または引用のような省略形の途中で改行を防ぐため、しばしば好ましい方法です。 Hmはそのオプションを知りませんでした。情報に感謝します。 – bastijn

関連する問題