tex 파일에서 명령문(정리, 기본형 등)만 인쇄하는 방법은 무엇입니까?

tex 파일에서 명령문(정리, 기본형 등)만 인쇄하는 방법은 무엇입니까?

많은 내용이 포함된 긴 tex 파일이 있다고 가정해 보겠습니다. 논리 구조만 읽기 위해 \begin{theorem}..\end{theorem} 및 \begin{lemma}..\end{lemma} 내부의 텍스트만 인쇄하고 싶습니다.

물론, \show{...}와 같은 다른 모든 부분을 포함하고 모든 콘텐츠를 보려면 \show[1]을 %1로 정의하고 명령문만 보려면 {}로 정의할 수 있습니다.

하지만 저는 좀 더 우아한 해결책을 찾고 있습니다. =) 미리보기 패키지와 같은 것http://www.pirbot.com/mirrors/ctan/macros/latex/contrib/preview/preview.pdf

답변1

atbegshi다음은 패키지 를 기반으로 한 솔루션입니다 answers.

아이디어는 answers정리의 내용, 기본형을 외부 파일(mtfile.tex)에 쓰고 모든 페이지(기본 파일의 모든 내용)를 삭제하는 것 입니다.https://tex.stackexchange.com/a/267555/71471) 그런 다음 외부 파일을 사용하여 정리만 출력합니다.

\onlytrue우리는 정리와 \onlyfalse일반적인 사용을 위해서만 newif 테스트를 사용합니다 .

theorem및 의 원래 정의를 저장하는 데 사용되는 보조 환경입니다 lemma.

\newtheorem{xtheorem}{Theorem}
\newtheorem{xlemma}{Lemma} 

완전한 코드.

\documentclass{article}
\usepackage{lipsum}

\usepackage{atbegshi}
\newcommand{\handlethispage}{}
\AtBeginShipout{\handlethispage}

\newtheorem{xtheorem}{Theorem}
\newtheorem{xlemma}{Lemma}

\newif\ifonly % uncomment next line
%\onlytrue   
\ifonly
\usepackage{answers}
\Newassociation{lemma}{mtlemma}{mtfile}
\Newassociation{theorem}{mttheorem}{mtfile}
\renewenvironment{mttheorem}{\begin{xtheorem}}{\end{xtheorem}}
\renewenvironment{mtlemma}{\begin{xlemma}}{\end{xlemma}}
\Opensolutionfile{mtfile}
\AtBeginDocument{%
\let\handlethispage\AtBeginShipoutDiscard}
\AtEndDocument{%
\clearpage\pagenumbering{arabic}
\let\handlethispage\relax
\Closesolutionfile{mtfile}
\Readsolutionfile{mtfile}}
\else
\newenvironment{theorem}{\begin{xtheorem}}{\end{xtheorem}}
\newenvironment{lemma}{\begin{xlemma}}{\end{xlemma}}
\fi


\begin{document}
\lipsum[1-12]
\begin{lemma}
this is some bla bla in lamma
\end{lemma}
\lipsum[1-12]
\begin{theorem}
some bla bla in lamma
\end{theorem}
\lipsum[1-12]
\begin{lemma}
some bla bla in lamma
\end{lemma}
\end{document}

관련 정보