display:none
Tenho um arquivo LaTeX grande e quero ocultar a maior parte do seu conteúdo no PDF, mas preservar a numeração original dos teoremas, etc.
O comment
ambiente não ajuda, porque não processa o conteúdo de forma alguma. Só pode ser usado para ocultar texto fora dos teoremas.
\hphantom
ou \vphantom
não envolva ambientes como \begin{theorem}
.
Para ser mais preciso, suponha que eu tenha o seguinte:
% I want to hide from here ...
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
% ... to here
\begin{theorem}
Second
\end{theorem}
Quero ver apenas o segundo teorema com a numeração original em PDF: Theorem 1.1.2
.
Minha pergunta é muito parecida comEste, mas o autor dessa pergunta trabalha com o Sage e a resposta aceita, pelo que entendi, é específica do Sage.
Se não houver uma maneira genérica de conseguir esse efeito, ficaria feliz se houvesse maneiras de ocultar os seguintes objetos:
- Títulos de seções/subseções
- Teoremas/lemas, etc.
- Figuras
Também pensei em "redirecionar" a saída para outro arquivo (não o PDF), mas não consegui encontrar uma solução.
A última alternativa seria"codificar" os números dos teoremas, mas quero evitar isso.
Responder1
Apenas uma tentativa que pode funcionar se tudo o que você deseja excluir estiver dentro do argumento de um comando ou agrupado em um ambiente. E se você souber exatamente o que deseja excluir.
A imagem da esquerda está sem esconder, a da direita está com.
A ideia é redefinir todos os comandos e ambientes para engolir o conteúdo dos argumentos mas ainda fazer a contra-aritmética.
\documentclass{article}
\usepackage{environ}
\newtheorem{theorem}{Theorem}
\newenvironment{hide}%
{\renewcommand\section[1]{\refstepcounter{section}}%
\renewcommand\subsection[1]{\refstepcounter{subsection}}%
\RenewEnviron{theorem}{\refstepcounter{theorem}}%
}%
{}
\begin{document}
% i want to hide from here ...
\begin{hide}
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
\end{hide}
% ... to here
\begin{theorem}
Second
\end{theorem}
\subsection{Subsection 1.2}
\section{Section 2}
\begin{theorem}
Third
\end{theorem}
\end{document}
Responder2
Se você executar este documento, descomentar includeonly e executá-lo novamente, obterá um documento de página única com (apenas) o teorema 2 na página 2.
\begin{filecontents}{zzzz1.tex}
\section{Section 1}
\subsection{Subsection 1.1}
\begin{theorem}
First
\end{theorem}
\end{filecontents}
\begin{filecontents}{zzzz2.tex}
\begin{theorem}
Second
\end{theorem}
\end{filecontents}
\documentclass{article}
\newtheorem{theorem}{Theorem}
%\includeonly{zzzz2}
\begin{document}
% i want to hide from here ...
\include{zzzz1}
% ... to here
\include{zzzz2}
\end{document}
Responder3
Gosto da resposta de Gernot, mas já tinha começado com isso antes de ver a dele, então é melhor postá-la:
\documentclass{article}
\newif\ifskipstuff
\skipstufffalse
%\skipstufftrue
\usepackage{amsmath}
\begin{document}
\ifskipstuff
\refstepcounter{section}
\refstepcounter{subsection}
\refstepcounter{equation}
\else
\section{Section 1}
\subsection{Subsection 1.1}
\begin{equation}
First
\end{equation}
\fi
\section{A Section}
\subsection{Subsection}
\begin{equation}
Second
\end{equation}
\end{document}
A desvantagem é que você precisa aumentar todos os contadores manualmente, sempre. Não é muito bom (especialmente se você tiver muitas coisas na \else
cláusula. Talvez isso possa ser ainda mais refinado (incluindo as \ifskipstuff
verificações dentro de ambientes redefinidos, talvez, para que eles façam suas próprias verificações). A vantagem é que você pode definir globalmente se você deseja incluir seu material ou não, alternando entre \skipstufffalse
e \skipstufftrue
, respectivamente. Bem, isso pode ser uma vantagem, dependendo do seu caso de uso.
\skipstufftrue
:
\skipstufffalse
: