Ripetizione di una parte di testo (abstract o simile)

  • Creatore
    Topic
  • #70113
    Up
    0
    Down
    ::


    Salve a tutti, ritorno sul forum per chiedere un consiglio:

    visto che tante riviste richiedono che venga allegata un cover page che sicuramente andrà perduta dopo l’invio ai referee, sarebbe saggio ripetere titolo e abstract nella pagina successiva prima dell’introduzione.

    C’è la possibilità di scrivere l’abstract tipo:

    \begin{ambiente_per_ripete_testo}\comando_label_text1

    \begin{abstract}
    XXXXXX
    \end{abstract}

    \end{ambiente_per_ripete_testo}

    e poi quando voglio io, richiamare la porzione di testo con \comando_ref_text1

    Si potrebbe certo fare copia incolla, ma ogni volta che faccio una modifica dovrei ripetere l’operazione.

    Grazie.

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #70114
      Up
      0
      Down
      ::

      rudycol” post=69297Salve a tutti, ritorno sul forum per chiedere un consiglio:

      visto che tante riviste richiedono che venga allegata un cover page che sicuramente andrà perduta dopo l’invio ai referee, sarebbe saggio ripetere titolo e abstract nella pagina successiva prima dell’introduzione.

      C’è la possibilità di scrivere l’abstract tipo:

      \begin{ambiente_per_ripete_testo}\comando_label_text1

      \begin{abstract}
      XXXXXX
      \end{abstract}

      \end{ambiente_per_ripete_testo}

      e poi quando voglio io, richiamare la porzione di testo con \comando_ref_text1

      Si potrebbe certo fare copia incolla, ma ogni volta che faccio una modifica dovrei ripetere l’operazione.

      Grazie.

      `\usepackage{environ}
      \NewEnviron{tieniin}[1]{\long\expandafter\gdef\expandafter#1\expandafter{\BODY}}

      \begin{tieniin}{\myabstract} % nel preambolo, ma anche nel documento
      \begin{abstract}
      testo
      \end{abstract}
      \end{tieniin}

      \begin{document}

      \myabstract

      \myabstract`
      Ciao
      Enrico

    • #70115
      Up
      0
      Down
      ::


      Più chiaro e semplice non potevi essere. Funziona. Perfetto.

      Grazie mille Enrico.

    • #70116
      Up
      0
      Down
      ::

      rudycol” post=69302Più chiaro e semplice non potevi essere. Funziona. Perfetto.

      Grazie mille Enrico.

      Be’, adesso però una piccola spiegazione si può dare. \NewEnviron{ambiente} definisce un ambiente che fa una cosa molto semplice: raccoglie tutto quanto c’è fino fra \begin{ambiente} e \end{ambiente} (dopo aver memorizzato gli eventuali argomenti) e lo mette a disposizione come \BODY per il codice che si dà come secondo argomento obbligatorio di \NewEnviron. Perciò diamo come argomento di “tieniin” la macro che vogliamo far diventare equivalente al testo dell’ambiente.

      In realtà si può fare in modo più semplice, in questo caso:
      `\NewEnviron{tieniin}[1]{\global\let#1\BODY}`
      Ciao
      Enrico

    • #70117
      Up
      0
      Down
      ::


      Saluti a tutti.

      Uso Miktex.

      A me non funziona….tanto per cambiare….non trova il testo memorizzato

      Ho provato con:
      `
      \def\SavetextProva{Non è possibile accelerare in uno spazio nullo $S-S_0 \neq 0$.}

      \SavetextProva\\

      \SavetextProva\\

      \SavetextProva\\
      `
      e funziona!

      Trovo strano che nel modo latex non ci sia una forma più raffinata per ripetere parte di codice ovunque, come se provenisse da file esterno, come le immagini ad esempio, o la biblografia.
      Ringrazio anticipatamente.

    • #70118
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Certo che è possibile; basta memorizzare il testo da ripetere in file esterni con estensione ‘tex, e importarli con [tt] \input{}[/tt], niente di diverso da come si importano le figure o altro materiale. Ma LaTeX, lo capisci bene, non sa farlo da solo, bisogna dersi da fare un pochino. Io, per esempio, importo tabelle difficili, che compilo a parte e metto a punto separatamente, e poi le imporarle nel documento che sto componendo con [tt]\input[/tt]. Non vale la pena falro con l’abstract, che si importa più facilmente con copia-incolla; vale la pena di farlo con le bibliografie, è obbligatorio farlo con le immagini.

      • #70119
        Up
        0
        Down
        ::


        Ho gia scomposto l’elaborato in 16 file ….

        Altrimenti ci impiega una vita a compilare…

        Vorrei scrivere gli esercizi da svolgere ….circa 50 e poi richiamarli in capitoli diversi con le soluzioni.

        Il testo dell’esrcizio deve essere lo stesso, altrimenti bisogna modificare ovunque compaia.

        Quindi 50 file?????

        Grazie comunque!

      • #70120
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          O 50 file o un numero indefnito di copia e incolla.
          Se LaTeX lo facesse in automatico ci vorrebbero ugualmente 50 file.

          Se usassi un qualunque word processor, che si chiam Word, OpenOffice Writer, Lobre Office Writer, Pages, eccetera non potresti fare meglio; Non potresti fare meglio nemmeno se usassiimpaginatori professionali come InDesign,Xquark, e simili.

        • #70121
          MatteoF
          Partecipante
            Up
            0
            Down
            ::

            Gaby” post=122005Uso Miktex.
            A me non funziona….tanto per cambiare….non trova il testo memorizzato

            E non sei curioso di sapere perché non ti funziona? Posta un emc, così vediamo dove sta l’inghippo…

            Matteo

          • #70122
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Mi è venuta in mente un’altra soluzione. Leggermente più automatica,ma non tanto; se hai 50 esercisi, i 50 file da immettere sono sempre 50. Però forse una soluzione più comoda, potrebbe fare ricorso all’ambiente filecontents. Per maggiori dettagli guarda la pagina 761 della GuidaGuIT che sicuramante hai già scaricato dalla sezione documentazione di questo sito.

              In sostanza l’ambiente filecontents può essere messo in qualunque punto del o dei file sorgente che usi per il tuo libro; la sintassi di base è la seguente{code}\begin{filecontents[,opzioni>]{ per i file con estensione .tex non sono necessarie; al massimo puoi usare l’opzione overwrite se vuoi consentire di apportare modifiche al codice contenuto dentro l’ambiente..
              Puoi usare questo ambiente in vari modi. nel tuo caso potresti fare così come in questo esempio minimo; nel copro di uno dei sedici capitoli,dove voi inserire l’esercizio 23, scrivi il codice seguente:`\begin{filecontents}[overwrite]{esercisio23.tex}
              Bla bla bla
              \end{filecontents}
              \input{esercizio23}` Naturalmente se vuoi ripetere questa inclusione in un alro capitolo, perché vi mostri la soluzione, in quest’altro capitolo scrivi soltanto`\input{esercizio23}` e il gioco è fatto.

              È ovviamante chiaro che i 50 file degli esercizi contengono solo il codice per comporne il testo, non il preambolo , né \begin {document} né \end {document}, ma questi 50 file alla fine sono tutti dentro al stessa cartella dove conserviil main file del tuo libro.

              Prova,vedrai che tutto sommato è la strada che cercavi; far memorizzare del testo da replicare in altri punti, un po’ meno artificiosa di quel che ti avevo scritto di fare a mano. In realtà, almeno una volta il testo dell’esercizio lo devi comunque scrivere, ma lo puoi riutizzare quante vole vuoi.

            • #70123
              Up
              0
              Down
              ::


              Ti ringrazio …
              Grande Claudio!!!!

              Hai sempre un coniglio nel cilindro da estrarre all’occorrenza!

              Donazione all’associazione più che meritata! ….

              -Gabriele

          Visualizzazione 9 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.

          Go to top