[Risolto]Definizione nuovo ambiente

  • Creatore
    Topic
  • #95791
    Up
    0
    Down
    ::


    Nella definizione di nuovi ambienti con il comando \newenviroment è possibile fare in modo che l’ambiente abbia come intestazione di pagina una scritta del tipo “TAV.1” e, nel caso il contenuto superi la pagina di lunghezza, modifichi tale intestazione con la scritta “Continuo TAV.1”?

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #95792
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Se leggi la documentazione di longtable, quell’ambiente fa tutto quello che desideri, tranne inserire qualcosa nella testatina. Ma se per intestazione intendi la prima riga della tabella con il titolo ripetuto ed eventualmente la parola “continuo”, quell’ambiente lo fa.
        La documentazione viene letaa dando da terminale il comando texdoc longtable; la documentazione stessa contiene un esempio del genere di quello che credo di aver capito che tu desideri fare.

      • #95793
        Up
        0
        Down
        ::


        Non avevo pensato di utilizzare le tabelle, ma credo potrebbe andare bene come soluzione, consulterò la documentazione e farò qualche tentativo. Grazie!

      • #95794
        Up
        0
        Down
        ::


        Causa vacanze, solo ieri ho potuto dedicare un po’ di tempo a verificare se longtable sia adatto al mio scopo, per il momento mi sembra si possa adattare in mancanza di altro, che ho provato a cercare senza trovare, continuerò a dedicarmici per adattarlo alle mie esigenze.

      • #95795
        Up
        0
        Down
        ::


        Dopo qualche tentativo sono riuscito ad adattare l’ambiente longtable al mio scopo, usando questo pacchetto però mi sono sorte due curiosità:

        1. Esiste un comando, tipo \textwidth, contenente la larghezza di una determinata colonna in una tabella? Così da poterlo utilizzare per definire altre misure?
        2. E’ possibile fare in modo che in una tabella l’ultima riga si allunghi sino ad occupare tutta la pagina, a prescindere dal contenuto? In pratica inserendo uno spazio verticale vuoto. Ho provato inserendo il comando \vspace{\fill} ma non va bene, ho sostituito \fill con \textheight ma neanche va bene, la tabella contiene già delle righe a cui si va ad aggiungere l’altezza definita da \textheight facendo allungare la tabella oltre la pagina.

        PS: riguardo al punto 2, so che può far storcere il naso da un punto di vista tipografico, ma se fosse possibile, mi tornerebbe molto comodo.

      • #95796
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Indipendentemente dal fatto che quello che hai penato possa essere o non essere tipograficamante adeguato, sarei curioso di spare eprvhé vorresti allungare di fatto una tablela che occupa solo parte di una pagina ad allungarsi fino a fine pagina; Sapendo che cosa vuoi fare si può anche cercare una soluzione. ma non è facile.

          L’ambiente tabular è una sovrastruttura dell comando nativo di TeX \halign, che costruisce una tabella mettendo delle celle in riga e poi mettendo le righe una sull’altra.

          TeX ha un comando nativo che si chiama \valingn, che costruisce una tabella allineando delle cele epr colonne, e poi allineando le colonne una accanto all’altra. Questo ocmando nativo sembra molto meno usato di \halign, tanto che non esiste una sovrastruttura LaTeX che ne faccia uso in modo un po’ più user friendly. Ho visto un’applicazione solo sul testo di Enrcio “Appunti di programmazione in TeX e LaTeX” che era scaricabile dal suo sito; ora non so se il sito sia di nuovo accessibile, ma non è veramente essenziale; era solo per dirti che la cosa forse è possibile in modo automatico ricorrendo a quellcomando nativo; altrimenti forse si possono trovare dei trucchi di vario genere, ma senza sapere che cosa vuoi fare è difficile.

        • #95797
          Up
          0
          Down
          ::


          Utilizzo l’ambiente longtable, insieme a dei semplici comandi da me definiti, per scrivere delle sceneggiature per fumetti.

          Avrei bisogno di allungare la tabella in modo che il piede di questa, dove viene indicato se la tavola continua nella pagina successiva o termina, arrivi a fondo pagina, cosa che per una sceneggiatura di questo tipo sarebbe più corretta.

          Riguardo la larghezza delle colonne, mi servirebbe perché per i dialoghi, utilizzo il comando tabular (non ho trovato un modo migliore per dividere una colonna in due) per avere il nome di chi parla a sinistra e il parlato a destra, solo che il parlato sulla destra sporge rispetto al testo delle altre righe di qualche millimetro oltre il margine.

        • #95798
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Mmmmm; non ho capito il tabular dentro longtable, ma forse non è importante; ma sarebbe utile un esempio minimo compilabile (completo da \documentclass a \end{document} con un esempio della tua longtable contente uno o più tabula, che contenga almeno due o tre righe di longtable.
            Potrebbe essere interssante.

            On realtà longtable non arriva fino a findo paigna se deve essere tagliata prima, ma può contenere una intestazione inferiore dove c’è scritto che la longtable continua.

          • #95799
            Up
            0
            Down
            ::


            Questo è un file di esempio. Ovviamente non badate troppo ai comandi che ho definito, immagino che le stesse cose si sarebbe potute fare in un modo migliore.

            [attachment=1169]esempio.tex[/attachment]

            Attachments:
            You must be logged in to view attached files.
          • #95800
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sì, probabilmente ci osno modi migliori per fare quello che vuoi, ma ti ho messo qualche piccola modifica artigianale per allargare un poco la tabella a due colonne, in modo che abbia gli stessi margini della celladella longatable, e ho messo dei ilastirni per distanziare un pochilo gli elementi della sceneggiatura.`\documentclass[a4paper,12pt,oneside]{book}%modello per la scrittura di sceneggiature di fumetti
              \synctex=1
              \pdfpagewidth=\paperwidth
              \pdfpageheight=\paperheight
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}
              \usepackage[italian]{babel}
              \usepackage{longtable}

              \raggedbottom
              \newcounter{tav}%crea il contatore per le tavole
              \setcounter{tav}{0}%lo setta al valore iniziale
              %Definizione del comando per la numerazione delle tavole
              \newcommand*{\tab}{\textbf{TAVOLA \stepcounter{tav}\thetav}}
              %comandi da definire:numero vignetta, dialogo, effetti.
              \newcommand*{\vign}[1]{\rule{0pt}{3ex}\textbf{#1} –}%numerazione vignetta
              \newcommand*{\pers}[1]{\rule{0pt}{3ex}\textsc{#1} }%nome personaggio per dialoghi
              \newcommand*{\notd}[1]{(\textit{#1}) }%note per dialoghi
              %dialogo
              \newcommand*{\parole}[1]{\rule{0pt}{3ex}– \textbf{#1}}
              \newcommand*{\balloon}[1]{\begin{tabular}{@{}p{\dimexpr0.5\textwidth-\tabcolsep}p{\dimexpr0.5\textwidth-\tabcolsep}@{}}
              #1 \\
              \end{tabular}}
              \newcommand*{\nv}{\\[0.25cm]}

              %Inserire autore e titolo
              \author{Nome Cognome}
              \title{TITOLO \\ \footnotesize{\textit{note al titolo}}}
              \date{\today \\ \footnotesize{\textit{note}}}
              \pagestyle{myheadings}
              \markboth{Titolo}{Titolo}

              \begin{document}
              \maketitle
              %\nv L'interruzione di riga, chiude la singola vignetta
              \begin{longtable}{p{\textwidth}}
              \caption*{\tab} \\
              \textit{Griglia di riferimento a 12 (3×4)} \\[0.25cm] \endfirsthead
              \textit{Seguito tavola \thetav.} \\[0.25cm] \endhead
              \textit{Conclusione tavola \thetav.} \\ \endlastfoot
              \textit{La tavola \thetav continua alla pagina seguente.} \\ \endfoot%Piede pagine tranne ultima

              \vign{1/2} Descrizione della scena relativa alla prima vignetta. Descrizione della scena relativa alla prima vignetta. Descrizione della scena relativa alla prima vignetta. Descrizion della scena relativa alla prima vignetta.

              \balloon{\pers{Nomepersonaggio} & \parole{dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo dialogo}}\nv

              \vign{3} Descrizione della scena relativa alla seconda vignetta. Descrizone della scena relativa alla seconda vignetta. Descrizione della scena relativa alla seconda vignetta. Descrizion della scena relativa alla seconda vignetta.

              \balloon{\pers{nome} \notd{pensa} & \parole{bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla }}\nv

              \end{longtable}

              \end{document}

              Non so se r=era quello che desideravi.
              `

            • #95801
              Up
              0
              Down
              ::


              Grazia mille! Le modifiche vanno più che bene.

              Giusto per imparare una cosa nuova, potresti spiegarmi il significato delle modifiche che hai apportato nelle seguenti righe?

              `\rule{0pt}{3ex}`

              `\newcommand*{\balloon}[1]{\begin{tabular}{@{}p{\dimexpr0.5\textwidth-\tabcolsep}p{\dimexpr0.5\textwidth-\tabcolsep}@{}}
              #1 \\
              \end{tabular}}`

              Grazie ancora!

            • #95802
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Il primo è la diefinzione di un pilastrino, un \rule (una riga) di larghezza nulla e di altezza pari a 3ex; questo valore “maginco” l’ho deteminato per esprienza e qualche proca; Un come sai 1ex è l’altezza di una lettera minuscola senza ascendenti come una x; da cui il nome.

                @() è una @-espressione che sostituisce lo spazio ai lati di una calla con quello che c’è tra graffe, in questo caso niente.
                \dimexpr è un comando che permette di eseguire il calcolo che è indicato subito dopo; esiste il pacchetto calc che fa le stesse cose, ma il pacchetto al suo interno usa questi comandi \dimexpr cper calcolare una espressione fra dimensioni; \numexpr per calcoare una espressione fra numeri interi, eccetera. L’eccetera sta indicare che al livello di processore possono essere eseguite operazioni anche su altre entità che sono poco conosciute dagli utenti di LaTeX, ma che servono a chi deifnisce macro o cra pacchetti di macro;.

                Sono cose documentate (spero bene) nella guida tematica Il LaTeX Refernece Manual commentato che ho tradotto in italiano e commentato, aggiungendo fra le altre cose informazioni su estensioni del motote di composizione che nella guida di Leslie Lamport, il papà di LaTeX, non c’erano perché la guida, nella sua seconda edizione fu scritta nel 1994.

                Passi la voglia di farsi réclame da soli, ma senza secondi fini io raccomanderei che ogni utente di LaTeX che si cimenti con la definizione di nuove macro ttenga questa guida tematica sempre a portata di mano; magari stampata, oppure in una finestra aperta accanto alla finestra di lavoro o facilmente riportabile sullo schermo con un solo click, perché secondo me non è male saperne un po’ di più di come funzioni LaTeX, proprio per scrivere delle macro funzionanti e che facciano, possibilmente, quello che vogliamo noi. siccome non riusciamo a tenere a mente tutto quanto, avere la guida in una finestra facilmente accessibile, o su carta a prtata di mano è sempre una cosa buona; io stesso lo faccio in continuazione.

              • #95803
                Up
                0
                Down
                ::


                Grazie OldClaudio, sia per le correzioni al mio file che per le spiegazioni.

                PS: riguardo la possibilità di allungare la tabella in modo da avere il piede a fondo pagina, si può fare qualcosa?

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

            Go to top