이 희생 명령은 좋은 생각입니까?

이 희생 명령은 좋은 생각입니까?

나는 다음 명령을 가지고 있습니다 :

\newcommand{\name}[1]{\edef\name{#1}}

먼저 in으로 호출 \name{Don}하고 이후에는 를 사용하여 Don을 참조할 수 있습니다 \name.한 번만 설정해야 하는 상수를 표현하는 데 적합한 방법입니까?

답변1

나는 다른 명령을 사용합니다. 하나는 이름을 유지하고 다른 명령은 이름을 설정합니다.

\name패키지에서는 내부 매크로( )의 값을 설정하기 위해 외부 버전의 명령( )을 사용하는 것이 일반적입니다 \@name. 이것이 수업에서의 방법 \author\title작업 입니다 article.

\makeatletter
\newcommand{\name}[1]{\gdef\@name{#1}}
\makeatother

그러나 다양한 동작을 나타내기 위해 다양한 유형의 명령을 사용하면 더 명확하고 간단해집니다. 따라서 \name이름으로 확장되고 다음 \setname값을 정의합니다 \name.

\newcommand{\setname}[1]{\gdef\name{#1}}

조판될 자료를 나타내는 명령과 상수를 정의하는 명령을 구별하는 것이 좋습니다. 제 생각에는 LaTeX의 기본 \author및 명령은 실제로 and \title이어야 합니다 . 왜냐하면 실제 조판은 명령을 내릴 때만 발생하기 때문입니다 .\setauthor\settitle\maketitle

답변2

물론이죠. 왜 안 될까요? 당신의 사용, 당신의 선택.

특정 응용 프로그램에 따라 \xdeftake make the (확장된) 재정의를 전역으로 사용하거나 \protected@xdef이름에 "이상한 구성"을 수용하는 것을 고려할 수 있습니다.

관련 정보