problema con documentclass book e abstract

  • Creatore
    Topic
  • #7609
    Up
    0
    Down
    ::


    Salve, sto seguendo la guida di “Scrivere la tesi di Laurea con Latex” di Lapo Mori, ma sto incontrando un problema, mi spiego:

    sto usando
    `\documentclass[10pt,a4paper,twoside,openright]{book}`

    e quindi non ho a disposizione l’ambiente abstract, quindi come è scritto sulla guida lo definisco così:

    `\ newenvironment { abstract }%
    {\cleardoublepage\fncyblank\null\vfill\begin{center} %
    \bfseries\abstractname\end{center}} %
    {\vfill\null}
    `

    e poi lo utilizzo:

    `
    \begin{abstract}
    %sommario
    \end{abstract}
    `

    solamente che quando vado a compilarlo con pdflatex, ottengo un errore:

    `
    [PDFLaTeX] tesi.tex => tesi.pdf (pdflatex)
    [PDFLaTeX] concluso con stato di uscita 1
    ./tit2.tex:0:Overfull \vbox (30.67912pt too high) has occurred while \output is active []
    tesi.tex:52:Undefined control sequence. ^^I\begin{abstract}
    [PDFLaTeX] 1 error, 0 warnings, 1 badbox
    `

    Chiedo a qualcuno più esperto di me quali possono essere le cause, dato che io mi sono limitato solamente a seguire la guida e non saprei dove intrevenire…

    grazie per qualsiasi suggerimento,
    samuele.

Visualizzazione 10 filoni di risposte
  • Autore
    Risposte
    • #7610
      Up
      0
      Down
      ::

      Salve, sto seguendo la guida di “Scrivere la tesi di Laurea con Latex” di Lapo Mori, ma sto incontrando un problema, mi spiego:

      sto usando`\documentclass[10pt,a4paper,twoside,openright]{book}`e quindi non ho a disposizione l’ambiente abstract, quindi come è scritto sulla guida lo definisco così:`\ newenvironment { abstract }%
      {\cleardoublepage\fncyblank\null\vfill\begin{center} %
      \bfseries\abstractname\end{center}} %
      {\vfill\null}`…`[PDFLaTeX] tesi.tex => tesi.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      ./tit2.tex:0:Overfull \vbox (30.67912pt too high) has occurred while \output is active []
      tesi.tex:52:Undefined control sequence. ^^I\begin{abstract}
      [PDFLaTeX] 1 error, 0 warnings, 1 badbox`Chiedo a qualcuno più esperto di me quali possono essere le cause, dato che io mi sono limitato solamente a seguire la guida e non saprei dove intrevenire…

      E come pensi che LaTeX capisca una definizione come la tua?
      `\newenvironment{abstract}`senza spazi!!! 😈 😀
      E niente spazi anche prima dei segni “%”.

      Ciao
      Enrico

    • #7611
      Up
      0
      Down
      ::


      ok, hai ragione, ho tolto gli spazi, adesso il codice è:
      `
      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%
      `

      ma l’errore è sempre lo stesso:
      `
      [PDFLaTeX] tesi.tex => tesi.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      ./tit2.tex:0:Overfull \vbox (30.67912pt too high) has occurred while \output is active []
      tesi.tex:55:Undefined control sequence. ^^I\begin{abstract}
      [PDFLaTeX] 1 error, 0 warnings, 1 badbox
      `

    • #7612
      Up
      0
      Down
      ::

      ok, hai ragione, ho tolto gli spazi, adesso il codice è:
      `
      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%
      `

      ma l’errore è sempre lo stesso:
      `
      [PDFLaTeX] tesi.tex => tesi.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      ./tit2.tex:0:Overfull \vbox (30.67912pt too high) has occurred while \output is active []
      tesi.tex:55:Undefined control sequence. ^^I\begin{abstract}
      [PDFLaTeX] 1 error, 0 warnings, 1 badbox
      `

      Mi pare un errore strano. Puoi riportare un esempio minimo? Togli tutto ciò che non serve (caricamento di pacchetti, definizioni, eccetera) finché l’errore rimane uguale.
      Ciao
      Enrico

    • #7613
      Up
      0
      Down
      ::


      ..ok, per togliermi il dubbio che sia qualche pacchetto esterno o altra roba a dare noia a quella parte di codice ho cercato di vedere cosa succede creando un esempio ad-hoc.

      L’esempio che mi sono scritto è questo:
      `
      \documentclass[10pt,a4paper]{book}

      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%

      \begin{document}

      \begin{abstract}
      %sommario
      Questo è il sommario
      \end{abstract}

      \end{document}
      `

      E il responso di pdflatex è:
      `
      [PDFLaTeX] prova.tex => prova.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      prova.tex:10:Undefined control sequence. \begin{abstract}
      prova.tex:10:Undefined control sequence. \begin{abstract}
      [PDFLaTeX] 2 errors, 0 warnings, 0 badboxes
      `

      ..non credo che la definizione dell’ambiente sia sbagliata, in quanto sta su una guida che si trova ovunque su internet, sicuramente sto sbagliando io da qualche parte, ma non riesco a capire dove…

      samuele.

    • #7614
      Up
      0
      Down
      ::

      ..ok, per togliermi il dubbio che sia qualche pacchetto esterno o altra roba a dare noia a quella parte di codice ho cercato di vedere cosa succede creando un esempio ad-hoc.

      L’esempio che mi sono scritto è questo:`\documentclass[10pt,a4paper]{book}

      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%

      \begin{document}

      \begin{abstract}
      %sommario
      Questo è il sommario
      \end{abstract}

      \end{document}`E il responso di pdflatex è:`[PDFLaTeX] prova.tex => prova.pdf (pdflatex)
      [PDFLaTeX] concluso con stato di uscita 1
      prova.tex:10:Undefined control sequence. \begin{abstract}
      prova.tex:10:Undefined control sequence. \begin{abstract}
      [PDFLaTeX] 2 errors, 0 warnings, 0 badboxes`..non credo che la definizione dell’ambiente sia sbagliata, in quanto sta su una guida che si trova ovunque su internet, sicuramente sto sbagliando io da qualche parte, ma non riesco a capire dove…

      Quello non è il responso di pdflatex, ma del front-end che stai usando (TeXnic Center?). Il log ti dice infatti che
      (1) il comando \fncyblank non è definito
      (2) il comando \abstractname non è definito

      La cura per il primo è di scoprire perché Lapo si è dimenticato di darne la definizione nel suo manuale (gli errori si scoprono solo dopo, no?). E provare a scriversene una corretta secondo le sue intenzioni`\newcommand{\fncyblank}{\fancyhead{}\fancyfoot{}%
      \renewcommand{\headrulewidth{0pt}}`
      La cura per il secondo è caricare babel:`\usepackage[italian]{babel}`
      Per poi scoprire che non funziona correttamente! 👿 Devi correggere anche la definizione dell’ambiente abstract, sostituendo il secondo \null con \clearpage. 😀

      Se Lapo ci legge, può prendere i dovuti provvedimenti.

      Ciao
      Enrico

    • #7615
      Up
      0
      Down
      ::


      Per la prima questione, il codice che mi sono scordato di mettere nell’articolo è`\usepackage{fancyhdr}
      \newcommand{\fncyblank}{\fancyhf{}}`
      Invece non ho capito la seconda questione. A me il seguente codice funziona bene.

      `\documentclass[10pt,a4paper]{book}

      \usepackage[italian]{babel}

      \usepackage{fancyhdr}
      \newcommand{\fncyblank}{\fancyhf{}}

      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%

      \begin{document}

      \begin{abstract}
      %sommario
      Questo è il sommario
      \end{abstract}

      \end{document}`

    • #7616
      Up
      0
      Down
      ::

      Per la prima questione, il codice che mi sono scordato di mettere nell’articolo è`\usepackage{fancyhdr}
      \newcommand{\fncyblank}{\fancyhf{}}`
      Invece non ho capito la seconda questione. A me il seguente codice funziona bene.

      `\documentclass[10pt,a4paper]{book}

      \usepackage[italian]{babel}

      \usepackage{fancyhdr}
      \newcommand{\fncyblank}{\fancyhf{}}

      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\null}%

      \begin{document}

      \begin{abstract}
      %sommario
      Questo è il sommario
      \end{abstract}

      \end{document}`

      A me no. Viene il numero di pagina in alto a destra. Se invece aggiungi \pagestyle{fancy} (altrimenti caricare fancyhdr è inutile) viene una bella riga in alto. Se usi`\newcommand{\fncyblank}{\fancyhf{}\renewcommand{\headrulewidth}{0pt}}`la riga non sparisce. Se cambi il secondo \null con \clearpage, ecco che la riga sparisce. Perché? Non conosco troppo bene fancyhdr, ma il problema mi sembra che stia nel fatto che la pagina è costruita dopo che l’ambiente è finito. Alcune assegnazioni di fancyhdr sono globali, quella della linea no.
      Ciao
      Enrico

    • #7617
      Up
      0
      Down
      ::


      scusate, io oltretutto avevo personalizzato gli headings in questo modo:

      `
      \documentclass[10pt,a4paper,twoside,openright]{book}
      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{fancyhdr}
      \usepackage[pdftex]{graphicx}
      \usepackage{capt-of}
      \DeclareGraphicsExtensions{.png,.jpg}
      \usepackage{chngpage}
      \usepackage{indentfirst}
      \usepackage{titletoc}

      %interlinea doppia
      \linespread{1.3}

      %mette gli headings
      \pagestyle{fancy}
      \renewcommand{\chaptermark}[1]{
      \markboth{\MakeUppercase{
      \chaptername}\ \thechapter.
      \ #1}{}}
      \fancyhead{} % cancella tutti i campi
      \fancyhead[LO]{\leftmark}
      \fancyhead[RE]{\rightmark}
      \fancyhead[RO,LE]{\thepage}
      \renewcommand{\headrulewidth}{0.1pt}

      %mette la scritta “Capitolo” ai capitoli nell'indice
      \titlecontents{chapter}[3pc]{\addvspace{1pc}}{\contentsmargin{0pt}
      \bfseries\makebox[0pt][r]{\textbf{\chaptername}\large\enspace\thecontentslabel.\enspace}\large}
      {\contentsmargin{0pt}\large}{\hfill\contentspage}[\addvspace{.5pc}]

      %definisce fncyblank
      \newcommand{\fncyblank}{\fancyhf{}\renewcommand{\headrulewidth}{0pt}}

      %definisce abstract
      \newenvironment{abstract}%
      {\cleardoublepage\fncyblank\null\vfill\begin{center}%
      \bfseries\abstractname\end{center}}%
      {\vfill\clearpage}%`

      effettivamente usando questi comandi per l’abstract, esso viene generato correttamente senza linee in alto e numeri di pagina, il problema è che poi anche nelle pagine successive spariscono il titolo, il capitolo e il numero di pagina dall’header…

      samuele.

    • #7618
      Up
      0
      Down
      ::


      I comandi che stai usando rimuovono tutte le testatine ed i pié di pagina, dopo l’abstract devi riattivarli (in modo analogo a come li hai tolti). Mi rendo conto che questa parte non era spiegata bene nell’articolo e dunque la modificherò appena possibile e ti farò sapere.

    • #7619
      Up
      0
      Down
      ::


      Ecco la soluzione
      `\usepackage{fancyhdr}
      \pagestyle{empty}

      \newenvironment{abstract}%
      {\cleardoublepage\null \vfill\begin{center}%
      \bfseries \abstractname \end{center}}%
      {\vfill\null}


      \begin{document}

      \begin{abstract}

      \end{abstract}

      \fncyfront
      \tableofcontents

      \mainmatter
      \pagestyle{fancy}
      \fncymain

      \end{document}`

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


        Scusatemi se riprendo questo thread. Nella Mica tanto breve intro, c’è una specie di “sommario” (ma forse è piuttosto un’introduzione) per ogni capitolo. Penso di aver riprodotto l’effetto con
        `\documentclass[a4paper,11pt]{book}

        \usepackage{lipsum}

        \newenvironment{sommario}%
        {\sffamily\small}{}

        \begin{document}

        \chapter{Prova}

        \begin{sommario}
        \lipsum[1]
        \end{sommario}

        \section{Sezione}
        \lipsum[2]

        \end{document}
        `visto che la classe book non ha l’ambiente abstract, che comunque è sttao progettato per fare una cosa diversa da quella che vorrei fare io.

        Dite che la mia solzuione può andare?

        Grazie,
        L.

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

    Go to top