[Risolto forse meglio!] Spazio sopra subsubsection

  • Creatore
    Topic
  • #17501
    Up
    0
    Down
    ::


    Salve,
    in un documento LaTeX, in una subsection ho inserito una serie di subsubsection. Quando creo il pdf il risultato è che i titoli delle subsubsection sono attaccati (verticalmente) al testo immediatamente prima.

    Come si può modificare quest’aspetto?

    Grazie.

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #17502
      Up
      0
      Down
      ::

      Salve,
      in un documento LaTeX, in una subsection ho inserito una serie di subsubsection. Quando creo il pdf il risultato è che i titoli delle subsubsection sono attaccati (verticalmente) al testo immediatamente prima.

      Come si può modificare quest’aspetto?

      Non mi risulta. Che classe usi? Hai impiegato qualche pacchetto che modifica la composizione dei titoli? Puoi fare un esempio minimo?

      Ciao
      Enrico

    • #17503
      Up
      0
      Down
      ::

      i titoli delle subsubsection sono attaccati (verticalmente) al testo immediatamente prima.
      Come si può modificare quest’aspetto?

      Che classe usi? Hai impiegato qualche pacchetto che modifica la composizione dei titoli? Puoi fare un esempio minimo?

      Le classi:
      `\documentclass[a4paper,oneside,10pt,italian]{book}

      \usepackage[italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{url,amsfonts,epsfig}

      \usepackage{graphicx}
      \DeclareGraphicsRule{.png}{bmp}{.bb}{}

      \usepackage{listings}
      \usepackage{xcolor}
      \lstset{
      backgroundcolor=\color{lightgray},
      postbreak=\space, breakindent=5pt, breaklines
      } `

      La visualizzazione “strana” avviene qui:

      `
      \subsection{Creazione del language model}
      I passi fondamentali per la creazione di un language model…

      \subsubsection{1. text2wfreq}

      \begin{lstlisting}
      cat corpus | text2wfreq > corpus.wfreq
      \end{lstlisting}

      Il comando text2wfreq prendi in input un file di testo…

      \subsubsection{2. wfreq2vocab}

      \begin{lstlisting}
      cat corpus.wfreq | wfreq2vocab -top 20000 > corpus.vocab
      \end{lstlisting}`

      Questo è quello che mi appare:


    • #17504
      Up
      0
      Down
      ::

      [quote]i titoli delle subsubsection sono attaccati (verticalmente) al testo immediatamente prima.
      Come si può modificare quest’aspetto?

      Che classe usi? Hai impiegato qualche pacchetto che modifica la composizione dei titoli? Puoi fare un esempio minimo?

      Le classi:
      `\documentclass[a4paper,oneside,10pt,italian]{book}

      \usepackage[italian]{babel}
      \usepackage[utf8]{inputenc}
      \usepackage{url,amsfonts,epsfig}

      \usepackage{graphicx}
      \DeclareGraphicsRule{.png}{bmp}{.bb}{}

      \usepackage{listings}
      \usepackage{xcolor}
      \lstset{
      backgroundcolor=\color{lightgray},
      postbreak=\space, breakindent=5pt, breaklines
      } `

      La visualizzazione “strana” avviene qui:

      `
      \subsection{Creazione del language model}
      I passi fondamentali per la creazione di un language model…

      \subsubsection{1. text2wfreq}

      \begin{lstlisting}
      cat corpus | text2wfreq > corpus.wfreq
      \end{lstlisting}

      Il comando text2wfreq prendi in input un file di testo…

      \subsubsection{2. wfreq2vocab}

      \begin{lstlisting}
      cat corpus.wfreq | wfreq2vocab -top 20000 > corpus.vocab
      \end{lstlisting}`[/quote]
      Non ci crederai, ma la colpa è dell’ambiente lstlisting subito dopo il titolo della subsubsection. Se infatti ci metti del testo, l’effetto sparisce. Prova a guardare la documentazione di listings, magari c’è scritto; se no, sarebbe il caso di segnalarlo all’autore.

      Come risolvere? Metti \leavevmode prima di \begin{lstlisting}.

      Un paio di altre osservazioni: il pacchetto epsfig è obsoleto e non va chiamato mai. Né va dato il comando \DeclareGraphicsRule: pdflatex sa benissimo come operare sulle immagini png.

      Se poi vuoi numerare automaticamente la subsubsection, ma non portarti dietro anche tutti gli altri numeretti, scrivi nel preambolo
      `\setcounter{secnumdepth}{3}
      \renewcommand{\thesubsubsection}{\arabic{subsubsection}}`
      Se proprio vuoi il punto dopo il numero, cosa che non ti consiglio per uniformità con il resto del documento, puoi usare la seguente magia:
      `\makeatletter
      \let\@orig@seccntformat\@seccntformat
      \renewcommand\@seccntformat[1]{%
      \expandafter\ifx\csname the#1\endcsname\thesubsubsection
      \thesubsubsection.
      \else
      \@orig@seccntformat{#1}%
      \fi}
      \makeatother`
      Ciao
      Enrico

    • #17505
      Up
      0
      Down
      ::

      Non ci crederai, ma la colpa è dell’ambiente lstlisting subito dopo il titolo della subsubsection. Se infatti ci metti del testo, l’effetto sparisce.

      Sì, me ne sono accorto stamattina. Ho provato a fare un testo piccolo di prova e in effetti non mi dava errori.

      Prova a guardare la documentazione di listings, magari c’è scritto; se no, sarebbe il caso di segnalarlo all’autore.

      Come risolvere? Metti \leavevmode prima di \begin{lstlisting}.

      Ok, funziona. Giusto per capire, cos’è che fa esattamente \leavevmode?

      Un paio di altre osservazioni: il pacchetto epsfig è obsoleto e non va chiamato mai. Né va dato il comando \DeclareGraphicsRule: pdflatex sa benissimo come operare sulle immagini png.

      In effetti erano residui di un vecchio file. Li tolgo.
      graphicx serve, o tolgo anche quello?

      Se poi vuoi numerare automaticamente la subsubsection, ma non portarti dietro anche tutti gli altri numeretti, scrivi nel preambolo
      `\setcounter{secnumdepth}{3}
      \renewcommand{\thesubsubsection}{\arabic{subsubsection}}`

      Ero ancora indeciso, comunque grazie del suggerimento e dell’aiuto 😀

    • #17506
      Up
      0
      Down
      ::

      Come risolvere? Metti \leavevmode prima di \begin{lstlisting}.

      Ok, funziona. Giusto per capire, cos’è che fa esattamente \leavevmode?

      Fa cominciare un capoverso, senza però inserire il rientro. Ritengo che il problema abbia a che fare con la valutazione di \everypar, roba da TeXnici. L’importante è aver trovato un rimedio.

      Ciao
      Enrico

    • #17507
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        graphicx serve, o tolgo anche quello?

        Il comando \includegraphics richiede graphicx: se nel tuo documento ci sono immagini, è difficile fare a meno di questo pacchetto.

        Ciao,
        L.

      • #17508
        Up
        0
        Down
        ::


        Ho scritto io un “bug report” a Brooks Moses.

        Un modo migliore per risolvere il problema potrebbe essere scrivere questo nel preambolo, dopo aver caricato listings:
        `\makeatletter
        \let\@@@lstlisting\lstlisting
        \def\lstlisting{\@nobreakfalse\@@@lstlisting}
        \makeatother`
        Naturalmente, se cominci un listing subito dopo un titolo, è bene dare l’opzione aboveskip=0pt:
        `\begin{lstlisting}[aboveskip=0pt]`
        in modo da eliminare lo spazio in più.

        Non uso molto listings (anzi per niente), quindi sarebbe bene che qualcuno provasse a vedere se ci sono effetti indesiderati.

        Ciao
        Enrico

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

    Go to top