仅包括特定环境

仅包括特定环境

我希望排版一份文档并且只在输出中包含一个特定环境的出现。

我尝试过使用comment包并将 放在\begin{comment}之后\begin{document}\end{comment}之前\end{document}。然后我重新定义了我想要包含的环境,使其以 开头\end{comment}和以 结尾\begin{comment}。这样,只有这个环境应该被取消注释。它编译得很好,但没有输出任何页面。

另一个选择可能是使用tagging包,但据我所知,这可以让你排除某些部分。我想做相反的事情,只包括某些部分。

编辑:背景是我正在写一篇语言学论文,论文中有大量带注释和编号的例子(带有详细的词素逐个翻译的句子)。总共有大约 100 个例子分布在文本中,它们都位于包example的环境中covington。我想生成一个仅包含例子的文档,以便更仔细地校对它们,并根据转录的录音进行检查。

答案1

您可以使用xcomment包。将要排版的环境放在\xcomment宏的参数中,例如:

\xcomment{enumerate}   %% only enumerate environment is typeset

代码:

\documentclass{article}
\usepackage{xcomment}
 \xcomment{enumerate}   %% only enumerate environment is typeset
\begin{document}
  \begin{enumerate}
    \item Enumerate item
  \end{enumerate}
  \begin{itemize}
    \item itemize item
  \end{itemize}
  \begin{figure}
    A figure
  \end{figure}
  \begin{table}
    A table
  \end{table}      
\end{document}

在此处输入图片描述

答案2

如果你的文档不是那么大,你可以使用environ包裹

\documentclass{article}
\usepackage{environ}

% environ: 2013/04/01 v0.3 and earlier
\makeatletter
\providecommand{\env@itemize@save@env}{}
\providecommand{\env@itemize@process}{}
\providecommand{\env@figure@save@env}{}
\providecommand{\env@figure@process}{}
\providecommand{\env@table@save@env}{}
\providecommand{\env@table@process}{}
\makeatother

\RenewEnviron{itemize}{}% De-activate itemize
\RenewEnviron{figure}[1][]{}% De-activate figure
\RenewEnviron{table}[1][]{}% De-activate table

\begin{document}

\begin{enumerate}
  \item Enumerate item
\end{enumerate}

\begin{itemize}
  \item itemize item
\end{itemize}

\begin{figure}
  A figure
\end{figure}

\begin{table}
  A table
\end{table}

\end{document}

相关内容