add tag
JeT
**My question**

`ignorenonframetext` in `beamer` enables to have only what's between `\begin{frame}` and `\end{frame}`. But in `Beamerarticle`, how can we skip code between `\begin{frame}` and `\end{frame}` (i.e. it keeps only `nonframetext` in article mode) and without adding overlay on each frame ?

I don't see an equivalent to (non existing) `ignoreframe` option in  beamerarticle.

I'd really like to avoid the heavy overlays `\begin{frame}<presentation>`

NB: question posted [here](https://tex.stackexchange.com/questions/547405/ignoreframe-option-in-beamerarticle) but given my previous question, it made probably more sense to put it here too.

**Context**

I use `beamerarticle` (in `\mode<article>`) to write in parallel a book and slides from each chapter.

The workflow that consists in keeping both
- text to be used in article (for a report or a book)
- and frames (based on the text) in the same file 
works very well. 

Text is consistent with slides and I don't have to be schizophrenic with 2 files, one for text i could use in article and one for frames.

Thanks to [here](https://topanswers.xyz/tex?q=1089), I can include slides with a format that differentiates what's in textonly/article and what's in frame/beamer and monitor the consistency article/slides.


Is there an equivalent to (non existing) `ignoreframe` option ?

 
 
Top Answer
samcarter
Similar to the approach in https://groups.google.com/d/msg/de.comp.text.tex/ycdX_TPNjjM/sK17Tse1AgAJ one could add the `beamer` overlay specification as default in article mode:


```
\documentclass[11pt]{article}
%\documentclass{beamer}

\usepackage[envcountsect]{beamerarticle}


\makeatletter
\mode
<article>
{
  \long\def\beamer@@@@frame<#1>[#2]{%
    \global\let\insertframetitle=\@empty%
    \global\let\insertframesubtitle=\@empty%
    \beamer@slideinframe=1\relax%
    \refstepcounter{framenumber}%
    \beamer@slideinframe=0\relax%
    \beamer@anotherslidefalse%
    \beamer@masterdecode{beamer,#1}%
    \ifbeamer@anotherslide%
      \let\beamer@howtotreatframe\beamer@dosingleframe%
    \else% no slides in frame
      \let\beamer@howtotreatframe\beamer@donoframe%
    \fi%
    \beamer@slideinframe=1\relax%
    \beamer@howtotreatframe}
}


\makeatother

\begin{document}

test

\begin{frame}
    \frametitle{Title of the frame}
    \framesubtitle{Subtitle of the frame}

    \begin{itemize}[<+->]
        \item first
        \item Second
        \item third
    \end{itemize}

\end{frame}

\begin{frame}<beamer>
    \frametitle{Title of the frame}
    \framesubtitle{Subtitle of the frame}

    \begin{itemize}[<+->]
        \item first
        \item Second
        \item third
    \end{itemize}

\end{frame}

\end{document}
```

(one could probably shorten the code a bit with some xpatch magic...)

*Caveat:*

Frames will even be hidden if they are explicitly labelled for the article, e.g. `\begin{frame}<article>` won't work

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.