2009-05-20 3 views
2

새 명령을 지정하고 \ par 앞에 변수를 쓰면 변수 텍스트와 다음 단어 사이의 공백이 누락됩니다.LaTeX newcommand par

\는 newcommand {\ testcmd은}

\ 파 \의 testcmd의는 foobar {테스트입니다}.

다음과 같이 표시됩니다.

이것은 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}

+1

TeX lexer는 공백을 고려하여 명령을 종료하고 모든 것을 공백으로 처리합니다. 그렇지 않은 경우 모든 명령 호출 후 공백에주의해야합니다. –

1

실제로는 훨씬 간단 대답하는 것입니다 {이 테스트 \의 xspace이다} :

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

\par \testcmd \ foobar. 

공지 사항 추가 "\"는 foobar 전 (슬래시 및 스페이스). 추가 패키지가 필요하지 않습니다.

Mr.\ Smith 
etc.\ and 
Proc.\ Amer.\ Math.\ Soc. 
+4

저는 (La) TeX에서 제목과 성 사이에 줄 바꿈을하지 않으려면 "Mr. Smith"를 "Mr. Smith"로 쓰는 것이 관습이라고 생각합니다. – las3rjock

+0

> 일반적으로 latex는 \ "Mr. \ Smith"로 공백을 이스케이프하거나 ~ "Mr."로 구분하지 않는 공백을 삽입하여 이러한 상황에서 문장 간격을 으로하고 싶지 않음을 나타낼 수 있습니다. ~ 스미스. " ~는 흔히 선호되는 방법입니다. 제목과 이름 사이의 줄 바꿈이나 표제와 같은 약어의 중간에 줄을 방지하기 때문입니다. 해당 옵션을 알지 못했습니다. 정보를 제공해 주셔서 감사합니다. – bastijn