
를 사용할 때 renewcommand
때로는 특정 명령에 대한 원래 소스 코드가 무엇인지 먼저 확인하여 chapter
의도하지 않은 변경을 하지 않도록 하고 싶을 때가 있습니다. 로드된 패키지가 많을 때 패키지의 소스 코드를 살펴보며 답을 찾는 것이 그리 간단하지 않을 때가 있습니다. 특정 명령을 정의하는 데 사용되는 소스 코드를 인쇄할 수 있는 방법이 있습니까?
답변1
\meaning
, 를 사용\show
하면 매크로의 의미를 알 수 있습니다. (주제별 TeXbook 또는 TeX 참조)\the
, 를 사용하여\showthe
레지스터 값을 가져옵니다. (주제별 TeXbook 또는 TeX 참조)로그 파일에서 더 많은 정보를 얻으려면 , (주제별 TeXbook 또는 TeX 참조) 및 패키지를 사용하십시오
\tracingcommands
.\tracingmacros
trace
eTeX의
\ifdefined
,\ifcsname
(eTeX 매뉴얼 참조) 또는 LaTeX 명령\@ifundefined
(참조source2e
) 또는\ifx\foo\undefined
트릭을 사용하여 매크로가 정의되었는지 확인하십시오.LaTeX 매크로의 정의를 확인하려면 LaTeX 명령
\CheckCommand
( 참조 )을 사용하십시오.clsguide
답변2
예, 를 사용하면 \show\mycommand
매크로 정의가 \mycommand
콘솔( .log
파일)에 인쇄됩니다.
예를 들어, 컴파일
\documentclass{book}
\begin{document}
test
\show\chapter
\end{document}
출력
> \chapter=\long macro:
->\if@openright \cleardoublepage \else \clearpage \fi \thispagestyle {plain}\gl
obal \@topnum \z@ \@afterindentfalse \secdef \@chapter \@schapter .
콘솔에. 출력 정렬은 코드에 입력할 때와 동일하지 않습니다. 따라서 소스를 직접 볼 때 정확한 구조(제대로 들여쓰기된 경우)를 보는 것이 더 쉬울 때도 있습니다. 다음은 소스 항목입니다.book.cls
을 위한 \chapter
:
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
또한 를 사용하면 \show
해당 매크로에 대해 한 수준의 확장만 표시된다는 점에 유의하세요. 위의 예를 사용하면 와 쌍을 통해 적절한 범주 코드 수정을 사용하여 및 (예를 들어 ) 내의 \show\@chapter
후속 호출의 의미를 확인해야 합니다 .\show\@schapter
\makeatletter
\makeatother
\chapter
\meaning
비슷한 맥락으로 사용될 수 있습니다.
로부터TeX 책(10페이지):
TeX를 실행하는 동안 제어 시퀀스의 의미를 표시할 수 있습니다. 제어 시퀀스가
\show\cs
어디에 있는지 입력하면\cs
TeX는 현재 의미로 응답합니다. 예를 들어 는 원시적이기 때문에\show\input
결과는 입니다. 반면에 수익률은> \input=\input.
\input
\show\thinspace
> \thinspace=macro: ->\kern .16667em .
\thinspace
의 약어로 정의된 것을 의미합니다\kern .16667em
. 입력하면\show\kern
그것이 기본인지 확인할 수 있습니다\kern
. 결과는\show
터미널과.log
TeX를 실행한 후 얻는 파일에 나타납니다.
답변3
당신이 사용할 수있는texdef
터미널에서 정의를 인쇄합니다. LaTeX 정의와 함께 사용하려면 옵션을 사용하여 호출 -t latex
하거나 해당 별칭을 사용해야 합니다 latexdef
(별칭이 시스템에 정의된 경우).
정의를 확인 \chapter
하려면 texdef -t latex -c book chapter
. 옵션을 사용하여 호출해야 하는 이유는 찾고 있는 것으로 보이는 가 해당 클래스에 정의되어 있기 -c book
때문입니다 . \chapter
정의를 찾을 파일도 확인하려면 전체 경로에 대한 -f
옵션 을 추가하세요. -F
내 시스템에서 texdef -t latex -c book -F chapter
반환됨
\chapter first defined in "/usr/local/texlive/2011/texmf-dist/tex/latex/base/book.cls".
\chapter:
\long macro:->\if@openright \cleardoublepage \else \clearpage \fi \thispagestyle {plain}\global \@topnum \z@ \@afterindentfalse \secdef \@chapter \@schapter
사용 가능한 옵션을 보거나 texdef
이에 대해 자세히 알아보려면 를 사용하여 해당 설명서에 액세스할 수 있습니다 texdoc texdef
.