Togliere parentesi ai riferimenti bibliografici

  • Questo topic ha 10 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni fa da OldClaudio.
  • Creatore
    Topic
  • #77201
    Up
    0
    Down
    ::


    Buona sera

    tempo fa avevo aperto un topic riguardante la possibilità di eliminare le parentesi che automaticamente compaiono nel documento ogni qualvolta si cita un riferimento bibliografico: Riferimenti bibliografici “authortitle”.

    mi fu suggerito di utilizzare il seguente codice:

    \usepackage[authoryear]{natbib}
    \setcitestyle{open={},close={}}

    nativamente il mio preambolo presentava questa forma
    \usepackage[bibstyle=philosophy-modern,citestyle=authoryear,useprefix,indexing,backref,natbib,babel=hyphen]{biblatex}

    non sono riuscito ancora ad apportare l’eliminazione delle parentesi come mi è stato richiesto soprattutto perchè non riesco a capire come settare lo stile di citazione all’interno del mio codice.
    io richiamo natbib come opzione del pacchetto biblatex

    grazie per l’attenzione

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

      ameba” post=76370Buona sera

      tempo fa avevo aperto un topic riguardante la possibilità di eliminare le parentesi che automaticamente compaiono nel documento ogni qualvolta si cita un riferimento bibliografico: Riferimenti bibliografici “authortitle”.

      mi fu suggerito di utilizzare il seguente codice:

      \usepackage[authoryear]{natbib}
      \setcitestyle{open={},close={}}

      nativamente il mio preambolo presentava questa forma
      \usepackage[bibstyle=philosophy-modern,citestyle=authoryear,useprefix,indexing,backref,natbib,babel=hyphen]{biblatex}

      non sono riuscito ancora ad apportare l’eliminazione delle parentesi come mi è stato richiesto soprattutto perchè non riesco a capire come settare lo stile di citazione all’interno del mio codice.
      io richiamo natbib come opzione del pacchetto biblatex

      grazie per l’attenzione

      Usa [tt]\textcite[/tt] con biblatex.

      Ciao
      Enrico

    • #77203
      Up
      0
      Down
      ::


      sto già utilizzando \textcite

      ad esempio
      \textcite[30\psq, S221]{dethier:etudes};

      mi produce:
      Dethier (1881, 30 s., S221);

      vorrei ottenere:
      Dethier – 1881, 30 s., S221;

      sempre se questo sia possibile

      è necessario modificare qualche cosa della classe di biblatex creando una variante di \textcite?

    • #77204
      Up
      0
      Down
      ::

      ameba” post=76390sto già utilizzando \textcite

      ad esempio
      \textcite[30\psq, S221]{dethier:etudes};

      mi produce:
      Dethier (1881, 30 s., S221);

      vorrei ottenere:
      Dethier – 1881, 30 s., S221;

      sempre se questo sia possibile

      è necessario modificare qualche cosa della classe di biblatex creando una variante di \textcite?

      Sì. Le parentesi sono inserite dal comando interno \mkbibparens, che ridefinirei così:
      `
      \makeatletter
      \renewrobustcmd{\mkbibparens}[1]{%
      \begingroup
      \blx@blxinit
      \blx@setsfcodes
      –#1
      \endgroup}
      \makeatother
      `

      (Non l’ho provato 😉 )

      Ciao
      Ivan

    • #77205
      Up
      0
      Down
      ::


      Grazie… proverò ad inserirlo… …—… (SOS in morse) lo devo inserire nel preambolo? prima di richiamare biblatex o dopo?

      La sequenza di comandi che mi hai indicato… vorrei interpretarli, sulla rete posso trovare qualcosa? non capisco un accidenti!

      E’ linguaggio LaTeX o TeX?

    • #77206
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Il comando che ti Ha dato Ivan è la ridefinizione di un comando interno di biblatex (blx@ è il tipico prefisso che ricorda il nome del pacchetto e che rende i nomi dei comandi interni “univoci” perché fanno riferimento ad un “name space” identificato da quel prefisso; se tutti coloro che scrivono pacchetti avessero da sempre avuto l’abitudine di usare un name space specifico, ci sarebbero molti casi in meno di incompatibilità fra pacchetti — sì, questi prefissi strani rendono quasi illeggibile il codice a chi non conosce questi “trucchi”, ma non nascondono altro che una protezione alla ridefinizione involontaria dei propri comandi da parte di altri; pensa a quanti \init ci sarebbero che si mettono i bastoni fra le ruote l’uno con l’altro; quanti \setsfcodes (set space factor codes) si intralcerebbero a vicenda).

        \makeatletter e \makeatother servono per usare il segno @ (“at” in inglese, o anche “commercial at”) come se fosse una lettera dell’alfabeto (make at letter) oppure come un altro segno (make at other) e ne parla anche Leslie Lamport, il papà di LaTeX, nel suo manuale.

        È quindi ovvio, direi, che quelle ridefinizioni debbono essere messe nel preambolo, dopo che sono stati caricati i pacchetti che riguardano biblatex, visto che non si può ridefinire ciò che ancora non è stato definito.

        Se vuoi approfondire la programmazione in TeX e LaTeX, sul sito di Enrico c’è una bella guida “Appunti di programmazione in TeX e LaTeX’; però non cercare di fare l’apprendista stregone (come Topolino nel file animato Fantasia; mi pare premio Oscar nel 1936 come miglior film d’animazione — non ci metterei la mano nel fuoco per il premio Oscar, ma ti garantisco che è un capolavoro) se non imparando un poco alla volta, un passo alla volta, e sempre avendo piena coscienza di quello che stai facendo, altrimenti puoi combinare guai seri.

      • #77207
        Up
        0
        Down
        ::


        Iniziaslmente mi veniva segnalato un errore per comando indefinito

        si trattava di un errore di scrittura, il primo comando non era “\makatletter” ma “\makeatletter”

        Corretto questo la compilazione con biblatex makeindex etc è andata si a buon fine ma non è vambiato nulla

        le citazione bibliografiche continuano ad essere nella forma:

        Dethier (1881, 30 s., S221)

        mannaggia

        P.S.

        la compilazione PDFLaTeX va a buon fine ma viene segnalato il seguente messaggio.

        SyncTeX: Can’t rename main.synctex.gz(busy) to main.synctex.gz

      • #77208
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          cancella il file {busy).

          Poi quando hai un errore, non ricompilare senza avere terminato la compilazione precedente; chiudila dando il comando x nella finestrina della console, altrimenti ti rimane aperto il file di sincronizzazione e (stranamente) non puoi aprirne un altro, ma devi riscrivere quello; se lo cancelli dovrebbe andare tutto a posto.

        • #77209
          Up
          0
          Down
          ::


          Grazie della dritta!

          ora rimane da capire come posso ridefinire le citazioni bibliografiche

        • #77210
          Up
          0
          Down
          ::


          Ho trovato questa discussione con indicazioni su come togliere le parentesi dalle citazioni bibliografiche:

          biblatex: How to remove the parentheses around the year in authoryear style?

          non conoscendo TeX/Latex non ho compreso come il codice funzioni…

          una mano?

          P.S.
          E’ citato, tra l’altro, Enrico

        • #77211
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Si la prima risposta e anche la seconda si riferiscono a lavoro di Enrico; ti consiglio la seconda soluzione con xpatch, perché è un capolavoro di Enrico; ma non aspettarti un grande aiuto sulla comprensione di come lavorino quelle macro;; il modo più semplice è proprio quello di usare xpatch perché con un unico comando ti risolve il problema:`\xpatchbibmacro{date+extrayear}{%
            \printtext[parens]%
            }{%
            \setunit{\addperiod\space}%
            \printtext%
            }{}{}`
            In sostanza ridefinisce alcune macro interne, senza crearle ex novo, ma aggiungendo o sostituendo alcune parti; siccome si tratta di macro interne sono scritte in modo abbastanza criptico, e questo è il motivo per il quale alcuni dicono che LaTeX è difficile da usare; sì, talvolta è difficile personalizzare le cose che con grande fatica sono state programmate per fare cose diverse.

            Rassegnati; potrai leggere i codici interni se vorrai, quando sarai diventata molto più esperta; in fondo usare il marj up LaTeX è già un modo per usare il linguaggio LaTeX; per entrare nelle segrete cose dentro “la pancia” di LaTeX e della maggior parte dei pacchetti bisogna solo capire una enorme quantità di comandi interni, che spesso hanno nomi molto criptici e sono male o poco documentati; non è il caso di Enrico; se vuoi leggi i file di descrizione del pacchetto dando da terminale il comando texdoc xpatch

            Ma non pensare che sia semplice capire quello che c’è scritto; prima se vuoi impratichirti leggi , sempre di Enrico, Appunti di programmazione in TeX e LaTeX; ne vale la pena. La sua chiarezza di esposizione è formidabile anche se alcuni degli argomenti trattati sono difficili.

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

        Go to top