Что не так в этой арифметике с циклами?

Что не так в этой арифметике с циклами?

Я хочу зациклить фигуры 4x2 на многих страницах в beamer. Настройка номера страницы не работает page=\numexp \ii * 2 \relax. Код

\documentclass{beamer}
\usepackage{pgffor}    
\usepackage{graphicx}                                                          
\usepackage{subcaption} % http://tex.stackexchange.com/a/37597/13173

\begin{document}
\begin{frame}[allowframebreaks]
    \foreach \ii in {1,...,4}{
    \begin{figure}
    \centering% not \center!
    \begin{subfigure}{0.5\textwidth}
      \includegraphics[scale=0.2, page=\ii]{{Rplots.bland.altman.1}.pdf}
      \caption{Image \ii.}
    \end{subfigure}
    \begin{subfigure}{0.5\textwidth}
      \includegraphics[scale=0.2, page=\numexp \ii * 2 \relax]{{Rplots.bland.altman.1}.pdf}
      \caption{Image \ii.}
    \end{subfigure}
    \end{figure}
    }
\end{frame}
\end{document}

Вывод для меня не имеет смысла; попытки решить его с помощью этого метода \newcounter{ii}не помогают.

! Undefined control sequence.
\GPT@page ->\numexp 
                    \ii * 2 \relax 
l.23 \end{frame}

Выход с\the\numexp ...

...
? 
! You can't use `the character 1' after \the.
\ii ->1

l.23 \end{frame}

? 
! Missing \endcsname inserted.
<to be read again> 
                   \relax 
l.23 \end{frame}

? 
! Missing { inserted.
<to be read again> 
                   *
l.23 \end{frame}

? 
! Missing \endcsname inserted.
<to be read again> 
                   \relax 
l.23 \end{frame}

TeXLive: 2016
ОС: Debian 8.5

решение1

Я преобразовал из beamerв article, просто чтобы иметь возможность использовать demoрежим graphicx. Но было две проблемы, как я сказал в своем комментарии:

  1. \numexpr, не \numexpявляется правильным синтаксисом, и

  2. вам нужно \the\numexpr, чтобы сделать его удобоваримым для чего-то, ищущего строку. (чтобы увидеть это, попробуйте вывести \numexpr 0\relaxв документе вместо \the\numexpr 0\relax)

Как отметил автор публикации, установка subfigureширины 0.45\textwidthпозволяет разместить две цифры в строке.

Вот МВЭ.

\documentclass{article}%{beamer}
\usepackage[demo]{graphicx}
\usepackage{pgffor,subcaption}                                                            

\begin{document}
%\begin{frame}[allowframebreaks]
    \foreach \ii in {1,...,4}{
    \begin{figure}
    \centering% not \center!
    \begin{subfigure}{0.45\textwidth}
      \includegraphics[scale=0.2, page=\ii]{{Rplots.bland.altman.1}.pdf}
      \caption{Image \ii.}
    \end{subfigure}
    \begin{subfigure}{0.45\textwidth}
      \includegraphics[scale=0.2, page=\the\numexpr \ii * 2 \relax]{{Rplots.bland.altman.1}.pdf}
      \caption{Image \ii.}
    \end{subfigure}
    \end{figure}
    }
%\end{frame}
\end{document}

введите описание изображения здесь

Связанный контент