Bibliografia come sezione di un capitolo

  • Creatore
    Topic
  • #17471
    Up
    0
    Down
    ::


    Ciao a tutti,
    ho ricercato nel forum ed in giro per il web una possibile soluzione al mio problema, ma purtroppo nulla di quello che ho trovato mi è stato utile.
    Sto scrivendo la tesi ed è sopravvenuta la necessità di scomporre la bibliografia (che avevo fatto in maniera molto semplice con l’ambiente thebibliography) nei vari capitoli. Utilizzo il pacchetto fancyhdr e la classe book.
    Ho provato nei seguenti modi:
    `
    \clearpage
    \addcontentsline{toc}{section}{\bibname}
    \begin{thebibliography}{99}
    `
    ed in questo modo mi compare come una sezione ma senza il numero iniziale della sezione, quindi nell’indice appare senza la numerazione.
    Avevo trovato anche un’altra strada:
    `
    \clearpage
    \section{Riferimenti bibliografici}
    \renewcommand*{\bibname}{}
    \begin{thebibliography}{99}
    `
    ma pur mettendomi la sezione numerata anche nell’indice, mi lascia la pagina vuota dopo il nome Riferimento bibliografici ed inserisce la bibliografia a pagina nuova. Ho provato anche a metterci un \nopagebreak, ma senza successo.
    Vi sarei molto grato per qualsiasi suggerimento riusciste a darmi. Purtroppo non posso cambiare la bibliografia passando a Bibtex perchè ho tempi strettissimi ed ormai va bene così, solo vorrei riuscire a migliorare questa cosa.
    Grazie mille.

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

      Ciao a tutti,
      ho ricercato nel forum ed in giro per il web una possibile soluzione al mio problema, ma purtroppo nulla di quello che ho trovato mi è stato utile.
      Sto scrivendo la tesi ed è sopravvenuta la necessità di scomporre la bibliografia (che avevo fatto in maniera molto semplice con l’ambiente thebibliography) nei vari capitoli. Utilizzo il pacchetto fancyhdr e la classe book.
      Ho provato nei seguenti modi:
      `\clearpage
      \addcontentsline{toc}{section}{\bibname}
      \begin{thebibliography}{99}`
      ed in questo modo mi compare come una sezione ma senza il numero iniziale della sezione, quindi nell’indice appare senza la numerazione.
      Avevo trovato anche un’altra strada:
      `\clearpage
      \section{Riferimenti bibliografici}
      \renewcommand*{\bibname}{}
      \begin{thebibliography}{99}`
      ma pur mettendomi la sezione numerata anche nell’indice, mi lascia la pagina vuota dopo il nome Riferimento bibliografici ed inserisce la bibliografia a pagina nuova. Ho provato anche a metterci un \nopagebreak, ma senza successo.
      Vi sarei molto grato per qualsiasi suggerimento riusciste a darmi. Purtroppo non posso cambiare la bibliografia passando a Bibtex perchè ho tempi strettissimi ed ormai va bene così, solo vorrei riuscire a migliorare questa cosa.

      L’ambiente thebibliography nella classe book emette un comando \chapter, quindi non hai speranza se non cambiando la definizione.
      `\makeatletter
      \renewenvironment{thebibliography}[1]
      {\section{\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
      {\settowidth\labelwidth{\@biblabel{#1}}%
      \leftmargin\labelwidth
      \advance\leftmargin\labelsep
      \@openbib@code
      \usecounter{enumiv}%
      \let\p@enumiv\@empty
      \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
      {\def\@noitemerr
      {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
      \makeatother`
      Questo codice va nel preambolo. Se non ti va, e non ti darei torto :), puoi metterlo in un file (da tenere nella stessa cartella) che potrai chiamare “modbib.sty”; con il comando \usepackage{modbib} lo carichi. Se scegli questa strada, togli le righe \makeatletter e \makeatother e aggiungi in testa
      `\ProvidesPackage{modbib}`
      Ciao
      Enrico

      Nota: ho corretto “\newenvironment” in “\renewenvironment

    • #17473
      Up
      0
      Down
      ::


      Grande, grazie mille! Ora funziona alla grande…ho dovuto solo rinominare l’ambiente perchè mi diceva che “thebibliography” era già assegnato …. per il resto tutto perfetto 😉

    • #17474
      Up
      0
      Down
      ::

      Grande, grazie mille! Ora funziona alla grande…ho dovuto solo rinominare l’ambiente perchè mi diceva che “thebibliography” era già assegnato …. per il resto tutto perfetto 😉

      Giusto: nel copiare e modificare mi sono dimenticato di trasformare newenviroment in renewenvironment. Correggo subito.

      Ciao
      Enrico

    • #17475
      Up
      0
      Down
      ::


      Ciao!

      Volevo anch´io inserire la bibliografia all´interno di una sezione. Ho copiato la riddifinizione dell´ambiente thebibliography come sopra

      [code]
      \makeatletter
      \renewenvironment{thebibliography}[1]
      {\section{\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
      {\settowidth\labelwidth{\@biblabel{#1}}%
      \leftmargin\labelwidth
      \advance\leftmargin\labelsep
      \@openbib@code
      \usecounter{enumiv}%
      \let\p@enumiv\@empty
      \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
      {\def\@noitemerr
      {\@latex@warning{Empty `thebibliography’ environment}}%
      \endlist}
      \makeatother
      [code]

      ma quando richiamo l´ambiente

      [code]
      \subsection{Reference documents}
      The following documents can be consulted as they contain relevant information:
      \begin{thebibliography}{99}
      \bibitem[R1]{R1} …
      \end{thebibliography}
      [code]

      mi da come errore:
      \undefined control sequence \begin{thebibliography}{99}

      sto usando come ambiente amsbook.
      Grazie in anticipo,
      Annalisa

    • #17476
      Up
      0
      Down
      ::

      Ciao!

      Volevo anch´io inserire la bibliografia all´interno di una sezione. Ho copiato la riddifinizione dell´ambiente thebibliography come sopra

      Hai fatto male, perché quella è la definizione della classe book che è diversa da amsbook.

      mi da come errore:
      \undefined control sequence \begin{thebibliography}{99}

      sto usando come ambiente amsbook.

      Non credo che questo sia il messaggio.

      Ciao
      Enrico

    • #17477
      Up
      0
      Down
      ::


      Grazie per la tempestiva risposta!
      Se invece di book uso amsbook come posso risolvere il problema della bibliografia come sezione di un capitolo?
      L’ambiente thebibliography non viene ridefinito come sopra?

      Ti assicuro che l’errore che mi da e’ quello! (\undefine control sequence….)

      Thanks in advance!

      Lisa

    • #17478
      Up
      0
      Down
      ::

      Grazie per la tempestiva risposta!
      Se invece di book uso amsbook come posso risolvere il problema della bibliografia come sezione di un capitolo?
      L’ambiente thebibliography non viene ridefinito come sopra?

      Ti assicuro che l’errore che mi da e’ quello! (\undefine control sequence….)

      Esempio minimo?

      Ciao
      Enrico

    • #17479
      Up
      0
      Down
      ::


      Questo e` il preambolo:

      `\documentclass[12pt,a4paper,oneside]{amsbook}
      \usepackage{amsmath}
      \usepackage[english]{babel}
      \usepackage{fancyhdr}
      \usepackage{amsfonts}
      \usepackage{amssymb}
      \usepackage[dvips]{graphicx}
      \usepackage{mathrsfs}
      \usepackage{acronym}
      \usepackage{subfigure}

      % redefinition of the bibliography environment
      \makeatletter
      \renewenvironment{thebibliography}[1]
      {\subsection{\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
      {\settowidth\labelwidth{\@biblabel{#1}}%
      \leftmargin\labelwidth
      \advance\leftmargin\labelsep
      \@openbib@code
      \usecounter{enumiv}%
      \let\p@enumiv\@empty
      \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
      {\def\@noitemerr
      {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
      \makeatother`

      e questa e` la sezione in cui inserisco la bibliografia:
      `
      \chapter{Uno}
      \section{Reference documents}
      The following documents can be consulted as they contain relevant information:
      \begin{thebibliography}{99}
      \bibitem[R1]{R1}Annalisa Riccardi, \textit{“Ciao''} 2009.
      \end{thebibliography}
      `

      Any idea why it doesn´t compile?

      Grazie mille!
      Lisa

    • #17480
      Up
      0
      Down
      ::

      Questo e` il preambolo:

      `\documentclass[12pt,a4paper,oneside]{amsbook}
      …`

      Any idea why it doesn´t compile?

      Certo. Il messaggio di errore ti dice che il comando non definito è \@openbib@code che infatti non esiste in amsbook.

      La soluzione con amsbook è tremendamente più semplice:
      `\makeatletter
      \renewcommand{\@bibtitlestyle}{%
      \@xp\section\@xp*\@xp{\bibname}}
      \makeatother`
      al posto di tutta quella roba che mettevi.

      Non mettere opzioni alla chiamata di graphicx e usa il pacchetto subfig invece di subfigure.

      Ciao
      Enrico

    • #17481
      Up
      0
      Down
      ::


      Funziona che e’ una meraviglia, grazie mille!!!!!!!!!!!!!!!

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

Go to top