LaTeX 문서의 서문에서 명령은 처리되지만 출력되는 모든 항목은 오류로 이어집니다 Missing \begin{document}
.
\documentclass{article}
This leads to an error.
\begin{document}
\end{document}
환경 에서는 tikzpicture
tikz 명령으로 해석될 수 없는 모든 것이 무시됩니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
Something that is ignored
\node {A};
Something that is ignored
\end{tikzpicture}
\end{document}
질문:전용 환경 내에서 유사한 효과를 얻는 가장 쉬운 방법은 무엇입니까? 예를 들어, 문서
\documentclass{article}
\newenvironment{IgnoreOrFlagUnknownStuff}{}{}% ??? to be defined
\newenvironment{A}{\paragraph{A:}}{}
\newcommand\B[1]{\paragraph{B:} #1\par}
\begin{document}
\begin{IgnoreOrFlagUnknownStuff}
Something to ignore or to complain about.
\begin{A}
This is OK.
\end{A}
Something to ignore or to complain about.
\B{This is also OK.}
Something to ignore or to complain about.
\end{IgnoreOrFlagUnknownStuff}
\end{document}
Something to ignore
나머지를 처리하는 동안 문장 에 대해 불평하거나 무시해야 합니다 .
답변1
Enrico의 의견에 따르면 \nullfont
.
\newenvironment{IgnoreUnknownStuff}{\nullfont}{}
Missing character: There is no S in font nullfont!
그러면 로그 파일과 같은 경고가 생성되며 , 이는 설정을 통해 억제할 수 있습니다 \tracinglostchars=0
. 무시된 항목은 여전히 추가 수직 및 수평 공간을 초래할 수 있습니다. 아마도 hmode를 입력 및 종료하고 줄 끝에 공백을 추가하기 때문에 무시된 항목이 완전히 보이지 않게 되는 것은 아닙니다.
\everypar
LaTeX 형식과 같은 무시된 항목에 대해 오류 메시지를 발행하려면 머리말의 문자에 대해 설정하여 hmode를 입력할 때 오류를 생성하는 데 사용할 수 있습니다 \everypar{\ErrorUnknownStuff}
. 무시된 문자가 예상될 때마다 TeX가 vmode에 있는지 확인해야 합니다. 아래 명령을 참고하세요 \par
.
\newenvironment{FlagUnknownStuff}%
{\everypar{\ErrorUnknownStuff}%
\nullfont
\par
\tracinglostchars=0
}{}
\newcommand\ErrorUnknownStuff{\GenericError{}{Unknown Stuff}{}{}}
% Commands and environments that may appear in the environment
\newenvironment{A}{\normalfont\paragraph{A:}}{\par}
\newcommand\B[1]{{\normalfont\paragraph{B:} #1\par}}
\newcommand\C[1]{{\everypar{}\normalfont #1\par}}
\everypar
\everypar{}
hmode를 의도적으로 입력하기 전에 되돌려야 합니다 . 위의 정의에서는 \paragraph
이 작업을 암시적으로 수행하지만 정의에서는 \C
이를 명시적으로 수행해야 합니다.
왼쪽 이미지는 아래 코드의 결과입니다. 환경에 있는 4개의 무시 및 불평 행 각각에 대해 오류가 발행됩니다 FlagUnknownStuff
. 오른쪽 이미지는 무시할 모든 줄을 제거할 때의 출력입니다. 간격의 차이를 확인하세요.
\documentclass{article}
\newenvironment{IgnoreUnknownStuff}{\nullfont}{}
\newenvironment{FlagUnknownStuff}%
{\everypar{\ErrorUnknownStuff}%
\nullfont
\par
\tracinglostchars=0
}{}
\newcommand\ErrorUnknownStuff{\GenericError{}{Unknown Stuff}{}{}}
% Commands and environments that may appear in the environment
\newenvironment{A}{\normalfont\paragraph{A:}}{\par}
\newcommand\B[1]{{\normalfont\paragraph{B:} #1\par}}
\newcommand\C[1]{{\everypar{}\normalfont #1\par}}
\begin{document}
Before.
\begin{IgnoreUnknownStuff}
Something to ignore.
\begin{A}
This is OK.
\end{A}
Something to ignore.
\B{This is also OK.}%
Something to ignore.
\C{This also.}
Something to ignore.
\end{IgnoreUnknownStuff}
In-between.
\begin{FlagUnknownStuff}
Something to ignore and to complain about.
\begin{A}
This is OK.
\end{A}
Something to ignore and to complain about.
\B{This is also OK.}
Something to ignore and to complain about.
\C{This also.}
Something to ignore and to complain about.
\end{FlagUnknownStuff}
After.
\end{document}