Amedeo Giacovelli

Risposte nei forum create

Stai visualizzando 15 risposte – dal 1 al 15 (di 36 totali)
  • Autore
    Risposte
  • in risposta a: Funzioni LaTeX3 annidate #85786
    Up
    0
    Down
    ::


    Uhm… mi potrei accontentare della tua risposta ma se non capisco il perchè, rischio nuove empasse e nuove domande. Tu mi dici che “le assegnazioni locali spariscono”, ma locali a cosa? Le variabili di McsDeliberaDefs e McsTabDefs sono diverse. L’effetto che ottengo è di avere celle tutte uguali all’ultima riga inserita, come se (lasciami passare l’esempio) \tl_put_right ponesse in lista il puntatore alla variabili di McsDeliberaDefs anzichè i loro valori, con il risultato che alla fine \tl_use compone una tabella in cui sono presenti gli ultimi valori forniti.

    Grazie per la pazienza

    a

    in risposta a: Variabili dinamiche #85551
    Up
    0
    Down
    ::


    Grazie. A beneficio di tutti riporto di seguito il codice che ho tratto dai vari suggerimenti e che risolve il mio obiettivo (tabelle con numero variabile di colonne e testata opzionale).
    `
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{calc}
    \usepackage{tabularx}
    \usepackage{booktabs}
    \usepackage{xparse}
    \usepackage{xcolor,colortbl}
    \usepackage{soulutf8,color}
    \usepackage{lipsum}
    \usepackage{longtable}

    \newcommand\McsTcw[1]{#1\textwidth-2\tabcolsep}
    \newcommand\McsTh[2][McsColTestTbl]{\cellcolor{#1}\textbf{\textit{#2}}}
    \definecolor{McsColTestTbl}{rgb}{.8,.8,.8}

    \ExplSyntaxOn
    \keys_define:nn { McsTabDefs } {%
    testata .tl_set:N = \l_McsTab_Testata_tl,
    col1 .tl_set:N = \l_McsTab_HColA_tl,
    col2 .tl_set:N = \l_McsTab_HColB_tl,
    col3 .tl_set:N = \l_McsTab_HColC_tl,
    col4 .tl_set:N = \l_McsTab_HColD_tl,
    col5 .tl_set:N = \l_McsTab_HColE_tl,
    dim1 .tl_set:N = \l_McsTab_DimColA_tl,
    dim2 .tl_set:N = \l_McsTab_DimColB_tl,
    dim3 .tl_set:N = \l_McsTab_DimColC_tl,
    dim4 .tl_set:N = \l_McsTab_DimColD_tl,
    dim5 .tl_set:N = \l_McsTab_DimColE_tl,
    }
    \tl_new:N \l_McsTab_TabContens_tl
    \tl_new:N \l_McsTab_TabColDefs_tl
    \int_new:N \l_McsTab_NumCols_tl
    \NewDocumentEnvironment{ McsTabGen } { mm } {%
    \int_set:Nn \l_McsTab_NumCols_tl { #1 }
    \keys_set:nn { McsTabDefs } { #2 }
    \begin{center}
    \small
    \tl_put_right:No \l_McsTab_TabContens_tl {%
    \begin{tabular} {
    p{ \l_McsTab_DimColA_tl }
    p{ \l_McsTab_DimColB_tl }
    p{ \l_McsTab_DimColC_tl }
    p{ \l_McsTab_DimColD_tl }
    p{ \l_McsTab_DimColE_tl }
    }
    }
    \tl_put_right:Nn \l_McsTab_TabContens_tl {%
    \toprule
    \tl_if_empty:NTF \l_McsTab_Testata_tl {} {
    \multicolumn{\l_McsTab_NumCols_tl}{c}{\McsTh{\l_McsTab_Testata_tl}} \\
    \midrule }
    \McsTh{\l_McsTab_HColA_tl} &
    \McsTh{\l_McsTab_HColB_tl}
    }
    \int_compare:nTF { \l_McsTab_NumCols_tl > 2 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColC_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 3 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColD_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 4 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColE_tl} }}{}
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \\ }
    }{
    \tl_use:N \l_McsTab_TabContens_tl
    \bottomrule
    \end{tabular}
    \end{center}
    }
    \NewDocumentEnvironment{ McsTabFive } { m } {\begin{McsTabGen} {5} {#1} }{ \end{McsTabGen} }
    \NewDocumentEnvironment{ McsTabFour } { m } {\begin{McsTabGen} {4} {#1} }{ \end{McsTabGen} }
    \NewDocumentEnvironment{ McsTabThree } { m } {\begin{McsTabGen} {3} {#1} }{ \end{McsTabGen} }
    \NewDocumentEnvironment{ McsTabTwo } { m } { \begin{McsTabGen} {2} {#1} }{ \end{McsTabGen} }

    \NewDocumentCommand{\McsRigaTabFive} { mmmmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 & #4 & #5 \\ }
    }
    \NewDocumentCommand{\McsRigaTabFour} { mmmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 & #4 \\ }
    }
    \NewDocumentCommand{\McsRigaTabThree} { mmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 \\ }
    }
    \NewDocumentCommand{\McsRigaTabTwo} { mm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 \\ }
    }

    \NewDocumentEnvironment{McsLongTabGen} { mm } {%
    \int_set:Nn \l_McsTab_NumCols_tl { #1 }
    \keys_set:nn { McsTabDefs } { #2 }
    \vspace*{-\baselineskip}
    \begin{center}
    \small
    \tl_put_right:No \l_McsTab_TabContens_tl {%
    \begin{longtable} {
    p{ \l_McsTab_DimColA_tl }
    p{ \l_McsTab_DimColB_tl }
    p{ \l_McsTab_DimColC_tl }
    p{ \l_McsTab_DimColD_tl }
    p{ \l_McsTab_DimColE_tl }
    }
    }
    % intestazione iniziale
    \tl_put_right:Nn \l_McsTab_TabContens_tl {%
    \toprule
    \tl_if_empty:NTF \l_McsTab_Testata_tl {} {
    \multicolumn{\l_McsTab_NumCols_tl}{c}{\McsTh{\l_McsTab_Testata_tl}} \\
    \midrule }
    \McsTh{\l_McsTab_HColA_tl} &
    \McsTh{\l_McsTab_HColB_tl}
    }
    \int_compare:nTF { \l_McsTab_NumCols_tl > 2 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColC_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 3 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColD_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 4 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColE_tl} }}{}
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \\ \endfirsthead }
    % intestazione inizio nuova pagina
    \tl_put_right:Nn \l_McsTab_TabContens_tl {%
    \multicolumn{\l_McsTab_NumCols_tl}{l}
    {\begin{footnotesize}\textit{continua~dalla~pagina~precedente}\end{footnotesize}} \\
    \toprule
    \tl_if_empty:NTF \l_McsTab_Testata_tl {} {
    \multicolumn{\l_McsTab_NumCols_tl}{c}{\McsTh{\l_McsTab_Testata_tl}} \\
    \midrule }
    \McsTh{\l_McsTab_HColA_tl} &
    \McsTh{\l_McsTab_HColB_tl}
    }
    \int_compare:nTF { \l_McsTab_NumCols_tl > 2 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColC_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 3 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColD_tl} }}{}
    \int_compare:nTF { \l_McsTab_NumCols_tl > 4 } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { & \McsTh{\l_McsTab_HColE_tl} }}{}
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \\ \midrule \endhead }
    % piede verso nuova pagina
    \tl_put_right:Nn \l_McsTab_TabContens_tl {%
    \multicolumn{\l_McsTab_NumCols_tl}{r}
    {\begin{footnotesize}\textit{continua~nella~prossima~pagina}\end{footnotesize}} \\
    \endfoot
    }
    % piede finale
    \tl_put_right:Nn \l_McsTab_TabContens_tl {%
    \bottomrule
    \multicolumn{\l_McsTab_NumCols_tl}{r}
    {\begin{footnotesize}\textit{si~conclude~dalla~pagina~precedente}\end{footnotesize}} \\
    \endlastfoot
    }
    }{%
    \tl_use:N \l_McsTab_TabContens_tl
    \end{longtable}
    \end{center}
    }
    \NewDocumentEnvironment{ McsLongTabFive } { m } { \begin{McsLongTabGen} {5} {#1} }{ \end{McsLongTabGen} }
    \NewDocumentEnvironment{ McsLongTabFour } { m } { \begin{McsLongTabGen} {4} {#1} }{ \end{McsLongTabGen} }
    \NewDocumentEnvironment{ McsLongTabThree } { m } { \begin{McsLongTabGen} {3} {#1} }{ \end{McsLongTabGen} }
    \NewDocumentEnvironment{ McsLongTabTwo } { m } { \begin{McsLongTabGen} {2} {#1} }{ \end{McsLongTabGen} }
    \NewDocumentCommand{\McsRigaLongTabFive} { mmmmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 & #4 & #5 \\ }
    }
    \NewDocumentCommand{\McsRigaLongTabFour} { mmmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 & #4 \\ }
    }
    \NewDocumentCommand{\McsRigaLongTabThree} { mmm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 & #3 \\ }
    }
    \NewDocumentCommand{\McsRigaLongTabTwo} { mm } {%
    \tl_put_right:Nn \l_McsTab_TabContens_tl { \midrule #1 & #2 \\ }
    }

    \ExplSyntaxOff

    \begin{document}

    \lipsum[1]

    \begin{McsTabFive}{
    testata=Profili autorizzativi,
    col1=Account, dim1=\McsTcw{.15},
    col2=Certificatore, dim2=\McsTcw{.25},
    col3=Dt. rilascio, dim3=\McsTcw{.2},
    col4=Validità, dim4=\McsTcw{.2},
    col5=Note, dim5=\McsTcw{.2}
    }
    \McsRigaTabFive{uuuu}{aaaaa aaaa aaaaaa}{xxx}{XX anni}{xxx}
    \end{McsTabFive}

    \lipsum[2]

    \begin{McsTabFour}{
    col1=Alfa, dim1=\McsTcw{.2},
    col2=Beta, dim2=\McsTcw{.15},
    col3=Gamma, dim3=\McsTcw{.2},
    col4=Delta, dim4=\McsTcw{.3}
    }
    \McsRigaTabFour{aaa}{bbb}{ccc}{ddd}
    \McsRigaTabFour{fff}{ggg}{hhh}{iii}
    \end{McsTabFour}

    \lipsum[3]

    \begin{McsTabThree}{
    testata=Nuova testata,
    col1=Teta, dim1=\McsTcw{.33},
    col2=Micro, dim2=\McsTcw{.33},
    col3=Macro, dim3=\McsTcw{.33}
    }
    \McsRigaTabThree{kkk}{lll}{mmm}
    \McsRigaTabThree{ppp}{qqq}{rrr}
    \end{McsTabThree}

    \lipsum[4]

    \begin{McsLongTabFive}{
    testata=Tabella Lunga con cinque colonne,
    col1=Account, dim1=\McsTcw{.2},
    col2=Certificatore, dim2=\McsTcw{.2},
    col3=Dt. rilascio, dim3=\McsTcw{.2},
    col4=Validità, dim4=\McsTcw{.2},
    col5=Note, dim5=\McsTcw{.2}
    }
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \McsRigaLongTabFive
    {There are three ways to define new functions. All classes define a function to expand to the substitution text. Within the substitution text the actual parameters are substituted for the formal parameters}
    {Sets function to expand to code as replacement text. Within the code , the parameters}
    {Configurazione degli apparati informatici per l'esecuzione di controlli automatizzati}
    {Sessioni di collaudo e certificazione delle soluzioni di ripristino}
    {h sdhg jg ashdg hjshghds ghsdh ghds ghasdhg}
    \end{McsLongTabFive}

    \lipsum[1]

    \end{document}
    `

    in risposta a: Variabili dinamiche #85548
    Up
    0
    Down
    ::



    @Enrico
    : L’idea che avevo era di generalizzare uno schema che mi avevi suggerito tu per costruire una tabella a 5 colonne, indicando, in pratica, il numero di colonne tra i parametri della funzione:
    `
    \begin{McsTabGen}{
    testata=Intestazione tabella,
    ncol=5,
    cpos=1, cont=Teta, dim={.2}, %prima colonna con intestazione “Teta” e dimensione .2
    cpos=2, cont=Alfa, dim={.2}, %seconda colonna con intestazione “Alfa” e dimensione .2
    cpos=3, cont=Beta, dim={.2}, %terza colonna con intestazione “Beta” e dimensione .2
    cpos=4, cont=Gamma, dim={.2}, %quarta colonna con intestazione “Gamma” e dimensione .2
    cpos=5, cont=Omega, dim={.2}, %quinta colonna con intestazione “Omega” e dimensione .2
    }
    \McsRigaTabGen{aaa}{bbb}{ccc}{ddd}{eee}
    \McsRigaTabGen{fff}{ggg}{hhh}{iii}{jjj}
    \end{McsTabGen}
    `
    a

    in risposta a: Variabili dinamiche #85545
    Up
    0
    Down
    ::


    Grazie Robitex. L’articolo del numero 13 l’ho scaricato. Quello del numero 14 è disponibile ai soli associati. In ogni caso consulerò la documentazione LaTeX3 per la parte relativa alle sequence. Ho trovato anche riferimenti al package etoolbox e alle sue macro \csdef e \csuse.

    a

    in risposta a: Problema con un comando con numero variabile di argomenti #84663
    Up
    0
    Down
    ::


    Curiosità: perchè il \begin{tabular} è inserito in \exp_not:n? Ho visto che funziona anche senza

    in risposta a: Problema con un comando con numero variabile di argomenti #84662
    Up
    0
    Down
    ::


    Ottimo. E’ quello che mi serviva. Grazie

    in risposta a: Problema con un comando con numero variabile di argomenti #84660
    Up
    0
    Down
    ::


    Ringrazio tutti per i preziosi consigli e rimbrotti 😀 . Ho installato texlive 2012 ed ora funziona tutto. Per chiudere il topic, con riferimento al codice suggerito da Enrico, i nomi delle diverse variabili utilizzate seguono una certa convenzione che richiama quella utilizzata dal package xparse (e più in generale, credo, da expl3). Ho però notato che questo non è necessario, ovvero posso utilizzare qualunque nome, purchè sintatticamente accettabile (es. \tl_new:N \McsTabFiveCanvas al posto di \tl_new:N \l_amedeo_tab_contents_tl). Vi sono ragioni filologiche per mantenere le convenzioni di expl3 nella nomenclatura di nuove funzioni e variabili?

    Grazie ancora

    a

    in risposta a: Problema con un comando con numero variabile di argomenti #84655
    Up
    0
    Down
    ::


    Scusa Enrico, ho sbagliato nome. La distribuzione Latex sul mio Ubuntu è quella del 2009. Questa serà proverò ad aggiornarla e saprò dire.

    Come documentazione ho trovato un “paper” piuttosto corposo intitolato LaTeX3 Sources prodotto dal gruppo di progetto LaTeX3. Certo, è un pò avaro di esempi ma vi ho trovato le spiegazioni che cercavo, almeno per orientarmi nel codice che hai suggerito.

    Grazie

    a

    in risposta a: Problema con un comando con numero variabile di argomenti #84653
    Up
    0
    Down
    ::


    Grazie Claudio. Non conosco per niente il package xparse e mi piacerebe approfondire (mi avevi già dato un suggerimento in tal senso per la tabella Aggiornamenti). Ho scaricato xparse.pdf ma è davvero molto tecnico. Sai se c’è una guida più umana che spieghi la sintassi d’uso?

    Per inciso, ho tagliato e incollato il tuo esempio in un file di prova. Alla compilazione mi segnala un errore alla riga di chiusura della tabella (\end{McsTabFive}): illegal parameter number in definition of \l_exp_tl.1 \end{McsTabFive}

    a

    in risposta a: Problema con un comando con numero variabile di argomenti #84651
    Up
    0
    Down
    ::


    Ciao a tutti, riprendendo il tema in oggetto e volendo definire un con un numero di parametri superiore a 9 e noto a priori (es. 11), quale è la strada migliore? Alcuni esempi che ho trovato sfruttano la definizione di “variabili” di comodo in cui parcheggiare i valori dei primi 9 argomenti, chiamando quindi un comando a cascata che interpreta i rimenenti parametri ed utilizza le variabili di comodo precedentemente definite. Di seguito la prova che ho fatto:
    `
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{calc}
    \usepackage{tabularx}
    \usepackage{booktabs}

    \newcommand\McsTcw[1]{#1\textwidth-2\tabcolsep}

    \newenvironment{McsTabFive}[9]{%
    \def\McsTabFiveA{#1}
    \def\McsTabFiveB{#2}
    \def\McsTabFiveC{#3}
    \def\McsTabFiveD{#4}
    \def\McsTabFiveE{#5}
    \def\McsTabFiveF{#6}
    \def\McsTabFiveG{#7}
    \def\McsTabFiveH{#8}
    \def\McsTabFiveI{#9}
    \begin{McsTabFiveP}
    }{
    \end{McsTabFiveP}
    }
    \newenvironment{McsTabFiveP}[1]{%
    \begin{small}
    \begin{center}
    \begin{tabular}{
    p{\McsTabFiveB}
    p{\McsTabFiveD}
    p{\McsTabFiveF}
    p{\McsTabFiveH}
    p{#1}}
    \toprule
    {\McsTabFiveA} & {\McsTabFiveC} & {\McsTabFiveE} & {\McsTabFiveG} & {\McsTabFiveI} \\
    }{%
    \bottomrule
    \end{tabular}
    \end{center}
    \end{small}
    }
    \newcommand\McsRigaTabFive[5]{%
    \midrule
    {#1} & {#2} & {#3} & {#4} & {#5} \\
    }

    \begin{document}
    \begin{McsTabFive}{Col1}{\McsTcw{.2}}{Col2}{\McsTcw{.2}}{Col3}{\McsTcw{.2}}{Col4}{\McsTcw{.2}}{Col5}{\McsTcw{.2}}
    \McsRigaTabFive {aaa}{bbb}{ccc}{ddd}{eee}
    \McsRigaTabFive {aaa}{bbb}{ccc}{ddd}{eee}
    \end{McsTabFive}
    \end{document}
    `
    Di funzionare funziona, ma forse vi sono modi più eleganti che non implichino una programmazione spinta.

    Grazie come sempre per ogni contributo.

    a

    in risposta a: Testo colorato #72313
    Up
    0
    Down
    ::


    Perfetto! Grazie Claudio.

    ag

    in risposta a: Testo colorato #72311
    Up
    0
    Down
    ::


    Come spesso accade, l’esempio funziona ma nel caso concreto no. Nella fattispecie vi è un curioso effetto “collaterale” che illustro nel brese esempio di seguito:
    `
    \documentclass{article}
    \usepackage[italian]{babel}

    %\usepackage[utf8x]{inputenc} % INCLUSIONE INCRIMINATA

    \usepackage{soul,color}
    \begin{document}
    Lorem ipsum ì dolor sit amet, consectetur \hl{adipisici elit, sed eiusmod tempor incidunt è ut labore et dolore magna aliqua. Ut enim
    ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut à aliquid ex ea commodi consequat. Quis aute iure reprehenderit in
    voluptate velit esse ù cillum dolore eu fugiat} nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa
    qui officia deserunt mollit anim id est laborum
    \end{document}
    `
    Compilando il codice sopra, si ottiene quanto voluto. Peccato che nel testo non possa inserire lettere accentate. Per poterlo fare, come consueto, includo il package inputenc; così facendo, però, il compilatore produce un curioso ed inspiegabile errore:

    Argument of <> has an extra }.\par volupate volit esse cillum dolore eu fugiat}

    Il pomo della discordia sembra essere l’opzione [utf8x] nell’inclusione del package inputenc, senza la quale, però, le lettere accentate non vengono trattate.

    Vi viene in mente qualche spiegazione?

    Grazie

    a

    in risposta a: Testo colorato #72309
    Up
    0
    Down
    ::


    Ok. Se utile a qualcuno riporto di seguito la soluzione semplice che ho trovato scavando più affondo nei manuali:
    `
    \documentclass{article}
    \usepackage[italian]{babel}
    %——————————————-
    \usepackage{soul,color}
    %——————————————-
    \begin{document}
    Lorem ipsum dolor sit amet, consectetur \hl{adipisici elit, sed
    eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim
    ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
    aliquid ex ea commodi consequat. Quis aute iure reprehenderit in
    voluptate velit esse cillum dolore eu fugiat} nulla pariatur.
    Excepteur sint obcaecat cupiditat non proident, sunt in culpa
    qui officia deserunt mollit anim id est laborum
    \end{document}
    `

    in risposta a: Testo colorato #72306
    Up
    0
    Down
    ::


    Buongiorno a tutti, utilizzo questo topic un pò vecchiotto per riproporre l’argomento anche se per una finalità diversa. Comprendo e appoggio le osservazioni sull’uso del colore, ma avrei bisogno di poter “evidenziare” parti di paragrafi al fine di indicare le parti del testo che necessitano di essere riviste in un secondo momento o da parte di altri redattori (documenti composti a più mani) che non utilizzano LaTeX. Si tratta, tipicamente, di una esigenza legata alla sola fase di stesura e condivisione del documento, non per la pubblicazione.
    Nei vari esempi trovati ho visto che è possibile creare un box colorato con del testo dentro. Non ho trovato nulla che in maniera simile al comando \textcolor, colora lo sfondo del testo e non il testo. In un testo come quello appena scritto, vorrei poter “evidenziare”, ad esempio, da “Comprendo e appoggio..” fino a “…che non utilizzano LaTeX”, un pò come si fa sulla carta con un evidenziatore.

    Avete suggerimenti.

    Come sempre. grazie in anticipo

    a

    in risposta a: Riferimenti incrociati contenenti il testo del riferimento #85330
    Up
    0
    Down
    ::


    Non saprei quale distribuzione utilizzi; ho installato il package per Ubuntu circa sei mesi fa (quando ho “ri-scoperto” LaTeX) attraverso i link del sito del GuIT. Ho comunque risolto la faccenda includendo il package “hyperref” anzichè “nameref”; il primo include il secondo e ho anche i link dinamici nella rappresentazione a video e nell’indice.

    Per replicare agli altri consigli:

    1. fatto, ma non cambia: l’errore persiste
    2. utf8x l’ho messo perchè altrimenti dovevo scrivere tutte le lettere accentate nella modalità classica LaTeX (es. \’e al posto di è); in effetti utilizzo Ubuntu (12.04)
    3. refuso; eliminato \\
    4. fatto, ma non cambia: l’errore persiste

    Anche per pag. al posti di pagina, l’ho sistemato. Immagino che l’osservazione valga anche per altre forme abbreviate come art., num., cap., etc. Sul fatto di indicare il totale delle pagine condivido si tratti soprattutto di un fattore psicologico

Stai visualizzando 15 risposte – dal 1 al 15 (di 36 totali)

Go to top