Eventuali controindicazioni di \vspace (e dei “cugini” \smallskip, \medskip…)?

  • Creatore
    Topic
  • #117638
    Up
    0
    Down
    ::


    Un caro saluto a tutti, (sperando – off topic – che questo momento difficile sia lieve per ciascuno).

    Avendo spesso necessità di distanziare due capoversi con un piccolo spazio bianco, mi sto trovando bene con \vspace, anche perché – se non ho capito male dalla documentazione – “dimentica” lo spazio aggiunto se il capoverso si dovesse ritrovare all’inizio della nuova pagina.

    Dal momento che dovrò utilizzarlo spesso (anche se non nell’intero documento) mi chiedevo (anzi, vi chiedo) se ci sono controindicazioni in un lungo lavoro con, poniamo, decine e decine di \vspace.

    Grazie, buon lavoro a tutti

    Marzio

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #117639
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        No, credo che tu abbia frianteso la descrizione di \vspace e di \vspace*.

        Se avviene un cambio pagina subito prima di \vspace, lo spazio specificato da quest’ultimo viene scartato, non avrebbe senso a inizio pagina; Per no farlo scartare bisogn usare \vspace*

        Invece i tre comandi \smallbreal, \medbreak e \bigbreak, come puoi controllare andandone a cercare la definizione nel file latex.ltx, aggiugono lo spazio corrispondente a ciascuno di essi solo se agiscono in modo verticale (quindi in generale fra un capoverso e il successivo) e se non sono preceduti da uno spazio esplicito sufficientemente grande, ciò maggiore di quelllo che essi vorrebbero aggiungere: quindi per esempio` blla bla fine di un capoverso.

        \smallskip

        Inizio di un capoverso bal bla bla.`il comando inserisce lo spazio verticale \smallskipamount. Invece `|section{Titolo}

        \smallbreak

        Primo capoverso della sezione bal bla` non inserisce niente, perché lo spazio già presente sotto il titolo è maggiore di \smallskipamount.

        Invece \smallskip, \medskip e \bbigskip sono definiti per mezzo di \vspace e si comportano come \vspace; inseriscono lo spazio solo se non si trovano a inizio pagina.`\def\smallskip{\vspace\smallskipamount}
        \def\medskip{\vspace\medskipamount}
        \def\bigskip{\vspace\bigskipamount}`Le classi definiscono gli ammontari di \smallskipamount e dei suoi compagni; in linea di principo puoi pensa che \bigskipamount sia approssimativamente l’ammontare del corpo normale, \medskipamount la metà e \smallskipamount ancora un’altra metà quindi circaun quarto del corpo normale.

      • #117640
        Up
        0
        Down
        ::


        Grazie.
        Puoi dirmi anche se ci sono controindicazioni se questi comandi vengono usati molte e molte volte nell’intero documento?

      • #117641
        Up
        0
        Down
        ::


        Sì e no…Se nel tuo documento ci sono tanti \vspace può essere sintomo di una cattiva progettazione.
        Ti faccio un esempio banale: poniamo che un autore invece di usare \chapter{} definisca ogni volta il capitolo con:
        `\vspace*{3cm}
        {\bfseries Titolo del capitolo}
        \vspace{5cm}`
        Quei \vspace non è che creino problemi particolari, ma quello non è il modo corretto di procedere.
        Nel tuo caso, senza sapere in quali circostanze sei costretto ad usare \vspace, è difficile dire se è un problema o meno.
        Certo, se quegli spazi cadono a fine pagina e/o se non sono elastici, qualche problema di riempimento puoi averlo.

        Per rispondere alla tua domanda bisogna quindi comprendere meglio la tua situazione.

        Ciao
        Ivan

      • #117642
        Up
        0
        Down
        ::

        ivan” post=118064

        Per rispondere alla tua domanda bisogna quindi comprendere meglio la tua situazione.

        Ciao
        Ivan

        Grazie Ivan,
        mi rendo conto che la mia domanda non era del tutto chiara e mi spiego meglio:
        per il lavoro che sto facendo (una compilazione di testi normativi) in molti casi, ma non in tutti, è necessario separare un capoverso dall’altro di una o due “righe” vuote; ciò sia per la logica del testo, sia per una migliore leggibilità. In altre parti del libro, invece, va bene che i capoversi siano l’uno successivo all’altro senza interruzioni.

        Mai metterei un \vspace a fine capitolo o a fine pagine, perché non ne vedrei alcuna utilità: ciò che mi serve, quando mi serve, è solo distanziare il paragrafo precedente dal successivo.

        Tuttavia, essendo del tutto inesperto, mi sono chiesto se avere “tanti” \vspace lungo l’intero libro potesse in qualche modo costituire un problema durante la compilazione o che so altro.

        Ciao, buona giornata e buon lavoro.

      • #117643
        Up
        0
        Down
        ::


        Se i casi sono tanti potresti valutare di definirti un ambiente che faccia questo lavoro automaticamente.
        Ma per farlo servirebbe un esempio concreto. Magari non è il caso.

        Non vedo problemi nell’usare spazi verticali per separare i paragrafi. Ti consiglio, in ogni caso, di usare spazi elastici.
        Queste le definizioni standard di alcuni comandi di spaziatura verticale:
        `\def\smallskip{\vspace\smallskipamount}
        \def\medskip{\vspace\medskipamount}
        \def\bigskip{\vspace\bigskipamount}
        \newskip\smallskipamount \smallskipamount=3pt plus 1pt minus 1pt
        \newskip\medskipamount \medskipamount =6pt plus 2pt minus 2pt
        \newskip\bigskipamount \bigskipamount =12pt plus 4pt minus 4pt
        `
        e queste le definizioni nel file bk10.clo, che viene caricato dalla classe book con l’opzione 10pt:
        `
        \setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
        \setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
        \setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
        `

        Tu potresti, per esempio, definirti un tuo comando con:
        `\def\mymedskip{\vspace{7pt plus 2.5pt minus 2.5pt}}`
        I valori sono del tutto casuali. 2.5pt in più o in meno sono anch’essi simbolici. Dubito che mezzo punto possa fare la differenza a livello pratico. Era solo per mostrarti che si possono mettere anche valori decimali. Così come puoi usare anche altre unità di misura: em, ex, mm, cm, ecc.

        Ciao
        Ivan

      • #117644
        Up
        0
        Down
        ::

        ivan” post=118076Se i casi sono tanti potresti valutare di definirti un ambiente che faccia questo lavoro automaticamente.
        Ma per farlo servirebbe un esempio concreto. Magari non è il caso.

        Grazie, Ivan

        troppo complicato per me intervenire nel modo che dici tu… forse un giorno avrò imparato.

        Però ti mando un EMC, vedi per favore se ti torna. Grazie

        `
        % **********************************************
        \documentclass[a4paper,10pt,twoside,onecolumn,%twocolumn,
        openright,final,
        %draft
        ]{memoir}
        \usepackage{lmodern}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[french,english,italian]{babel}

        \usepackage{lipsum}

        %altri pacchetti, che qui non interessano

        \begin{document}
        \textbf{Questo è il primo capoverso che, per il suo contenuto, non richiede di essere separato dal successivo, essendoci una continuità logica tra essi (il carattere grassetto è solo per distinguere dal testo casuale che segue)}. \lipsum[1]

        \textbf{Questo è il secondo capoverso che segue al primo e che, come appena detto, è bene che non sia separato da esso, giacché i rispettivi contenuti hanno una continuità logica (anche qui il grassetto è solo per distinguere dal testo casuale di lipsum)}. \lipsum[2]

        \vspace{12pt}
        \textbf{Ed ecco qua un nuovo capoverso, che propone (inizia) un nuovo contenuto che preferisco distinguere anche visivamente da ciò che precede. Sottolineo che si tratta di parti di testo che per varie ragioni redazionali e logiche non giustificherebbero un sezionamento del tipo \texttt{chapter} o \texttt{section} etc. (di nuovo il grassetto, per la solita ragione)}. \lipsum[3]

        \dots e così via.
        \end{document}`

      • #117645
        Up
        0
        Down
        ::


        Mi torna. Ma eviterei in ogni caso di scrivere ogni volta \vspace{12pt}. Meglio definirsi un comando:
        `% **********************************************
        \documentclass[a4paper,10pt,twoside,onecolumn,%twocolumn,
        openright,final,
        %draft
        ]{memoir}
        \usepackage{lmodern}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[french,english,italian]{babel}

        \usepackage{lipsum}

        %altri pacchetti, che qui non interessano

        \def\myparskip{\vspace{12pt plus 2pt minus 2pt}}

        \begin{document}
        \textbf{Questo è il primo capoverso che, per il suo contenuto, non richiede di essere separato dal successivo, essendoci una continuità logica tra essi (il carattere grassetto è solo per distinguere dal testo casuale che segue)}. \lipsum[1]

        \textbf{Questo è il secondo capoverso che segue al primo e che, come appena detto, è bene che non sia separato da esso, giacché i rispettivi contenuti hanno una continuità logica (anche qui il grassetto è solo per distinguere dal testo casuale di lipsum)}. \lipsum[2]

        \myparskip

        \textbf{Ed ecco qua un nuovo capoverso, che propone (inizia) un nuovo contenuto che preferisco distinguere anche visivamente da ciò che precede. Sottolineo che si tratta di parti di testo che per varie ragioni redazionali e logiche non giustificherebbero un sezionamento del tipo \texttt{chapter} o \texttt{section} etc. (di nuovo il grassetto, per la solita ragione)}. \lipsum[3]

        \dots e così via.
        \end{document}`

        Ciao
        Ivan

      • #117646
        Up
        0
        Down
        ::


        Caro Ivan,
        mi sono reso conto che non ti avevo risposto.
        Il nuovo comando, come lo hai definito tu \myparskyp, funziona benissimo.
        Sono sempre, credo oramai definitivamente, con suftesi (seguendo anche il consiglio di OldClaudio) e il risultato è molto buono.

        Grazie ancora

        Marzio

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

    Go to top