LaTeX에서 컴파일 된 PDF의 변수 대신 내용이 사용되는 문자열 변수를 어떻게 정의 할 수 있습니까?
소프트웨어에 기술 문서를 작성하고 있고 프리앰블 또는 다른 곳에서 패키지 이름을 정의하여 이름이 변경되면 많은 장소에서 패키지를 교체 할 필요가없고 한 곳에서만 바꾸고 싶다고 가정 해 봅시다. .
LaTeX에서 컴파일 된 PDF의 변수 대신 내용이 사용되는 문자열 변수를 어떻게 정의 할 수 있습니까?
소프트웨어에 기술 문서를 작성하고 있고 프리앰블 또는 다른 곳에서 패키지 이름을 정의하여 이름이 변경되면 많은 장소에서 패키지를 교체 할 필요가없고 한 곳에서만 바꾸고 싶다고 가정 해 봅시다. .
답변:
사용 \def
명령 :
\def \variable {Something that's better to use as a variable}
\def
경고없이 기존 매크로 를 재정의하므로 다양한 미묘한 오류가 발생할 수 있습니다. 하나이를 극복과 같은 네임 스페이스 변수를 사용 my_var
하거나 다시 가을 \newcommand
, \renewcommand
대신 명령.
variable
가 변화하기 쉽다 는 의미는 아닙니까? :)
\def
. 대신, 사용하려는 모든 변수를 "초기화"하고 \newcommand
(있는 경우에도) 모범 사례를 \@empty
작성하여를 사용하여 변수를 수정하는 것이 가장 \renewcommand
좋습니다. \newcommand
오류가 발생하거나 적어도 경고가 발생 하기 때문에 변수가 이미 종료되었는지 알려줍니다 .
\def
수학 모드에서는 작동 하지만 작동 \newCommandName
하지 않습니다. (예, \def\mathExpression{\pi^2 + \sin x}
)
변수의 거리를 설명하기위한, 사용할 것이다 \newlength
(그리고하여 값을 조작 \setlength
, \addlength
, \settoheight
, \settolength
및 \settodepth
).
마찬가지로 \newcounter
문서 전체에서 증가해야하는 섹션 및 그림 번호와 같은 항목에 액세스 할 수 있습니다 . 나는 과거에 이것을 사용하여 다른 그림과 별개로 번호가 매겨진 코드 샘플을 제공했습니다 ...
또한 \makebox
나중에 다시 사용하기 위해 (그리고 \settolength
... 와 함께 사용하기 위해) 약간의 배치 된 문서를 저장할 수 있습니다 .
\newlength{\hcolw}
와는 \setlength{\hcolw}{0.47\textwidth}
유용 할 것이다.
을 사용하려면을 사용하여 명령을 \newcommand
포함 \usepackage{xspace}
하고 정의 할 수도 있습니다 \newcommand{\newCommandName}{text to insert\xspace}
. 이를 통해 \newCommandName
보다 오히려 사용할 수 있습니다 \newCommandName{}
.
자세한 내용은 http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html