- Questo topic ha 10 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 14 anni fa da
OldClaudio.
-
CreatoreTopic
-
20 Agosto 2012 alle 14:37 #77201::
Buona seratempo 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 biblatexgrazie per l’attenzione
-
CreatoreTopic
-
AutoreRisposte
-
-
20 Agosto 2012 alle 15:22 #77202::
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 biblatexgrazie per l’attenzione
Usa [tt]\textcite[/tt] con biblatex.
Ciao
Enrico
-
21 Agosto 2012 alle 6:09 #77203::
sto già utilizzando \textcitead 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?
-
21 Agosto 2012 alle 17:37 #77204::
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
-
22 Agosto 2012 alle 9:19 #77205
-
22 Agosto 2012 alle 10:37 #77206::
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.
-
22 Agosto 2012 alle 14:11 #77207::
Iniziaslmente mi veniva segnalato un errore per comando indefinitosi 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
-
22 Agosto 2012 alle 14:24 #77208::
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.
-
24 Agosto 2012 alle 6:14 #77209
-
26 Agosto 2012 alle 14:18 #77210::
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
-
26 Agosto 2012 alle 16:06 #77211::
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.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.