LaTeX3 - 在“多列”环境中增加整数的问题

LaTeX3 - 在“多列”环境中增加整数的问题

我无法在multicols环境中增加整数。这是一个不需要的输出,有两个零而不是两个 2...

在此处输入图片描述

这是我的 M(不是)WE。我在这里做了哪些愚蠢的事情?

\documentclass[a4paper, 12pt]{article}

\usepackage{graphicx}
\usepackage{multicol}

\usepackage{expl3}
\usepackage{xparse}


\ExplSyntaxOn

\int_new:N \l__test_max_step_int
\int_new:N \l__test_this_step_int

\DeclareDocumentCommand\screensteps{vvv}{
    \int_set:Nn \l__test_max_step_int{#1}
    \int_set:Nn \l__test_this_step_int{0}
    
% Lets' print the material...
%   \int_do_while:nn {\l__test_this_step_int < \l__test_max_step_int} {
        \begin{multicols}{2}
            \centering
            
            \int_incr:N \l__test_this_step_int
            \par\emph{Étape \ \int_use:N \l__test_this_step_int.}
        
            \columnbreak
        
            \int_incr:N \l__test_this_step_int
            \par\emph{Étape \ \int_use:N \l__test_this_step_int.}
        \end{multicols} 
    
        % JUST TO SHOW THE PROBLEM
        \begin{multicols}{2}
            \centering
            
            \par\emph{Étape \ \int_use:N \l__test_this_step_int.}
        
            \columnbreak
        
            \par\emph{Étape \ \int_use:N \l__test_this_step_int.}
        \end{multicols}
%    }
}

\ExplSyntaxOff


\begin{document}

\screensteps{8}{numworks/?.png}{.6}

\end{document}

答案1

您正在使用本地分配,但 LaTeX 环境会形成组。如果要转义它们,则需要使用全局变量和\int_gincr:N

答案2

整数变量必须全局增加。另一方面,你可以使用不同的循环来避免全局设置。

\documentclass[a4paper, 12pt]{article}

\usepackage{graphicx}
\usepackage{multicol}

\usepackage{expl3}
\usepackage{xparse}


\ExplSyntaxOn

\NewDocumentCommand\screensteps{vvv}
 {
  \int_step_inline:nn { \int_div_truncate:nn { #1+1 } { 2 } }
   {
    \begin{multicols}{2}
    \centering
    \projetmbc_etape:nnn { 2*##1-1 } { #2 } { #3 }
    \columnbreak
    \int_compare:nF { 2*##1 > #1  }
     {
      \projetmbc_etape:nnn { 2*##1 } { #2 } { #3 }
     }
    \end{multicols}
   }
 }
\cs_new_protected:Nn \projetmbc_etape:nnn
 {
  \par\emph{Étape ~ \int_to_arabic:n { #1 }.}
 }
\ExplSyntaxOff


\begin{document}

\section{Even}
\screensteps{8}{numworks/?.png}{.6}

\section{Odd}
\screensteps{7}{numworks/?.png}{.6}

\end{document}

在此处输入图片描述

相关内容