표기법을 정직하게 유지하는 매크로
newcommand, NewDocumentCommand, 공유 매크로 파일입니다.
표기법을 정직하게 유지하는 매크로
모든 논문에는 실수, 기대 연산자, 적절한 크기의 막대가 있는 절대값 등 반복되는 표기법이 있습니다. 40자리에 \mathbb{R}'를 입력하고 나중에 지도교수가 \mathbf{R}`를 선호한다면 40개를 편집해야 하고 하나를 놓칠 것입니다. 매크로는 해당 표기법을 한 번 정의된 단일 명명된 명령으로 바꿉니다. 정의를 변경하면 전체 문서가 이어집니다. 이것이 표기법을 정직하게 유지하는 방법입니다. 소스가 자체 동기화에서 벗어날 수 없습니다.
newcommand로 명령 정의하기
\newcommand{\R}{\mathbb{R}}\newcommand{\E}[1]{\mathbb{E}\left[#1\right]}\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}첫 번째 정의는 가장 간단한 종류입니다. \R은 이제 순수한 약칭이며, 아무 곳에나 \R을 입력하면 \mathbb{R}이 생성됩니다.
두 번째 형식은 인수를 사용합니다. 이름 뒤의 [1]은 \E가 하나의 인수를 허용함을 선언하고 #1은 확장에서 해당 인수가 있는 위치를 표시합니다. 따라서 \E{X}는 \mathbb{E}\left[X\right]가 됩니다. 정의는 간결함 그 이상입니다. \left[ 및 \right] 쌍은 대괄호가 내부의 내용에 맞게 커지도록 하므로 \E{\frac{X}{n}}는 자동으로 큰 괄호를 얻습니다. \abs 매크로는 절대값에 대한 올바른 수직 막대 쌍인 \lvert 및 \rvert와 동일한 작업을 수행합니다. 최대 9개의 인수를 선언하고 이를 #1부터 #9까지 참조할 수 있습니다.
명령이 이미 존재하는 경우 \newcommand는 해당 명령의 재정의를 거부하고 오류와 함께 중지하여 자동으로 무언가가 중단되는 것을 방지합니다. 의도적으로 기존 명령을 바꾸려면 \renewcommand를 대신 사용하세요.
최신 인터페이스
현재 LaTeX는 더욱 풍부한 정의 명령도 제공합니다.
\NewDocumentCommand{\citepair}{mm}{\cite{#1}, \cite{#2}}\NewDocumentCommand는 개수 대신 인수 사양 문자열을 사용합니다. 여기서 mm은 두 개의 필수 인수를 의미하므로 \citepair{knuth84}{lamport94}는 두 키를 모두 인용합니다. 사양 언어는 \newcommand가 할 수 있는 것보다 더 나아갑니다. o는 대괄호 안에 선택적 인수를 선언하고, s는 별 변형을 감지하고, O{default}는 선택적 인수에 기본값을 제공합니다. 단순한 대체 이상의 기능을 원하시면 이 인터페이스를 이용하세요.
정의를 공유하세요
여러 장에서 macros.sty를 공유하세요. 정의를 그 하나의 파일에 넣고 각 문서의 \usepackage{macros}로 로드하면 논문의 모든 장과 슬라이드 및 종이 버전이 모두 표기법에 동의합니다. 공동 작업자가 참여할 때 텍스트에서 리버스 엔지니어링하는 대신 규칙을 배우기 위해 짧은 파일 하나를 읽습니다. 이는 자연스럽게 다중 파일 설정과 짝을 이룹니다.
이름 지정에 대한 팁: 매크로에 \bigbars와 같은 모양 기반 이름보다는 \abs 또는 \norm과 같은 의미 있는 이름을 지정하십시오. 이름은 표기법의 의미를 말해야 하므로 정의는 모양을 자유롭게 변경할 수 있습니다. 그리고 두 번 사용하는 것에 대해 매크로를 정의하지 마세요. 보상은 세 번째 사용 시부터 시작됩니다.