Re: Inserire molti files in \input

#93161
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    egreg9″ post=92828

    Sarebbe interessante scrivere la versione LaTeX3 del comando.
    R.

    Eccola! 🙂

    `
    \documentclass{book}

    \usepackage{xparse}

    \ExplSyntaxOn
    \NewDocumentCommand{\insertchap}{ m m }
    {
    \sblindo_insertchap:nn { #1 } { #2 }
    }

    \cs_new_protected:Npn \sblindo_insertchap:nn #1 #2
    {
    \clist_map_inline:nn { #2 }
    {
    \sblindo_input_range:nn { #1 } { ##1 }
    }
    }

    \cs_new_protected:Npn \sblindo_input_range:nn #1 #2
    {
    \seq_set_split:Nnn \l_sblindo_range_seq { – } { #2 }
    \int_compare:nTF { \seq_count:N \l_sblindo_range_seq = 1 }
    {
    \sblindo_input:n { #1 \sblindo_pad:n { #2 } }
    }
    {
    \int_step_inline:nnnn
    { \seq_item:Nn \l_sblindo_range_seq { 1 } } % start
    { 1 } % step
    { \seq_item:Nn \l_sblindo_range_seq { 2 } } % end
    { \sblindo_input:n { #1 \sblindo_pad:n { ##1 } } } % input
    }
    }

    \cs_new:Npn \sblindo_pad:n #1
    {
    \int_compare:nT { #1 < 10 } { 0 } \int_to_arabic:n { #1 } } \cs_new:Npn \sblindo_input:n #1 { \par #1 } \ExplSyntaxOff \begin{document} \insertchap{capitolo}{1-3,5,7-11} \end{document} ` Nella versione finale si sostituisca [tt]\sblindo_input:n[/tt] con [tt]\file_input:n[/tt]. Qui si suppone che i capitoli siano al massimo 99, con numerazione a due cifre. La modifica per il caso senza 0 iniziale è facile. Il primo argomento di [tt]\insertchap[/tt] è il prefisso comune. Ciao Enrico[/quote] Bellissimo ed elegante. W LaTeX3 W Enrico. R. Ps. perfetto per implementare l'inclusione di un insieme di fotografie...

    Go to top