Risposte nei forum create
-
AutoreRisposte
-
::
samiel” post=98613Sii! Ho fatto un paio di prove sul mio testo lungo, sia con @book/@inbook
sia con @collection/@incollection (che poi ho adottato per tutte le sillogi).
Hai fatto un lavoraccio!! Ma conti di inserire la correzione non in forma di patch,
ma proprio come revisione di philosophy appena appuri dove sta il problema
all’interno del codice? Vale la pena di postare su stackexchange?grazie ancora
mI serio le modifiche negli stili. Aspetto solo qualche tempo per vedere se possono esserci problemi.
Ciao
Ivan
::ernded” post=98601È banale scrivere una macro che stampa tre asterischi centrati lasciando un ` \bigskip ` prima e dopo la riga stessa ma come si può fare in modo che gli asterischi non compaiano se la riga che li contiene è la prima o l’ultima di una pagina?
Ciao
Grazie
ErnestoForse con
`\newcommand{\asterischi}{\par\nobreak\bigskip *** \bigskip}`
?Ciao
Ivan
::samiel” post=98603Con endnotes stesso problema, anche se poi
il testo viene stampato correttamente.
Con le note a piè di pagina invece nessun problema.m
Il problema è di enotez/endnotes. Non mi preoccuperei più di tanto anche se sarebbe meglio non avere quell’avviso senza un buon motivo.
Ciao
Ivan
::
Ora dovremmo esserci:
`\begin{filecontents}{\jobname.bib}
@inbook{ kuhn:1980,
author = “Thomas Kuhn”,
title = “Logica della scoperta o psicologia della ricerca?”,
crossref = “lakatos:1980”,
}@book{ kuhn:1981,
author = “Thomas Kuhn”,
title = “La rivoluzione copernicana”,
publisher = “Einaudi”,
location = “Torino”,
year = “1981”,
edition = “3”,
}@book{ kuhn:1982,
author = “Thomas Kuhn”,
title = “La struttura delle rivoluzioni scientifiche”,
publisher = “Einaudi”,
location = “Torino”,
year = “1978”,
edition = “4”,
}@book{ kuhn:1985,
author = “Thomas Kuhn”,
title = “La tensione essenziale”,
publisher = “Einaudi”,
location = “Torino”,
year = “1985”,
}@book{ kuhn:2000,
author = “Thomas Kuhn”,
title = “Dogma contro critica”,
publisher = “Cortina”,
location = “Milano”,
year = “2000”,
}@book{ kuhn:2008,
author = “Thomas Kuhn”,
title = “Le rivoluzioni scientifiche”,
publisher = “Il Mulino”,
location = “Bologna”,
year = “2008”,
}@book{ lombardi:1991,
author = “Tiziana Lombardi”,
title = “Thomas Kuhn e la ricerca storiografica relativa alla
rivoluzione copernicana”,
publisher = “Gruppo Editoriale Internazionale”,
location = “Roma”,
year = “1995”,
}@book{ lakatos:1980,
title = “Critica e crescita della conoscenza”,
editor = “Imre Lakatos and Alan Musgrave”,
publisher = “Feltrinelli”,
location = “Milano”,
year = “1980”,
edition = “3”,
}@inbook{ masterman:1980,
author = “Mary Masterman”,
title = “La natura di un paradigma”,
crossref = “lakatos:1980”,
pages = “129-163”,
}
\end{filecontents}\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{csquotes}
\usepackage[
backend=biber,
style=philosophy-verbose,%
firstinits=true,
sorting=nyt]
{biblatex}\addbibresource{\jobname.bib}
\makeatletter
\newbibmacro*{usedriver:book}{%
\renewbibmacro*{bbx:savehash}{}%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\addsemicolon\space}\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\newunit\newblock
\usebibmacro{pageref}%
}\newbibmacro*{usedriver:collection}{%
\renewbibmacro*{bbx:savehash}{}%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{editor+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\addsemicolon\space}\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\newunit\newblock
\usebibmacro{pageref}%
}\DeclareCiteCommand{\bbx@crossref@inbook}%
{}%
{\ifciteseen{%
\ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit*{\addcomma\space}\printtext{%
\printfield[citetitle]{labeltitle}%
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
{%
\DeclareNameAlias{sortname}{default}%
\usebibmacro{usedriver:book}%
}%
}%
{}%
{}%\DeclareCiteCommand{\bbx@crossref@incollection}%
{}%
{\ifciteseen{%
\ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit{\addspace}%
\usebibmacro{editorstrg}%
\setunit*{\addcomma\space}\printtext{%
\printfield[citetitle]{labeltitle}%
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
{%
\DeclareNameAlias{sortname}{default}%
\usebibmacro{usedriver:collection}%
}%
}%
{}%
{}%
\makeatother%%% ridefinisco il formato per usare il numero dell'edizione in apice
\DeclareFieldFormat{edition}{%
\ifinteger{#1}
{\textsuperscript{#1}}
{#1\isdot\setunit{\addcomma\space}}}
%% imposto l'ordine (e i separatori) dei dati
\renewbibmacro*{publisher+location+date}{%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\space}%
\usebibmacro{date}%
\printfield{edition}%
\newunit}
%% elimino la prima occorrenza del campo “edition”
\usepackage{xpatch}
\newcommand{\replaceedition}[1]{%
\xpatchbibdriver{#1}
{\printfield{edition}%
\newunit}
{}%
{}
{\typeout{failed to patch driver #1}}
}
\replaceedition{book}
\replaceedition{collection}
\replaceedition{inbook}
\replaceedition{incollection}
\replaceedition{manual}
%% aggiungo le specifiche per philosophy-verbose
\xpatchbibmacro{incollection:full}
{\printfield{edition}%
\newunit}
{}%
{}
{}
\xpatchbibmacro{inbook:full}
{\printfield{edition}%
\newunit}
{}%
{}
{}
\xpatchbibmacro{usedriver:collection}
{\printfield{edition}%
\newunit}
{}%
{}
{}
\xpatchbibmacro{usedriver:book}
{\printfield{edition}%
\newunit}
{}%
{}
{}
\begin{document}\nocite{*}
\printbibliography
\end{document}`
Ciao
Ivan
10 Dicembre 2014 alle 22:40 in risposta a: Personalizzare alcuni aspetti della bibliografia (2) #98895::samiel” post=98588allora ammesso che non trovi la soluzione, prima di postare
su stacjexchange bisogna determinare se è un problema
che riguarda solo e specificamente philosophy-verbose.
cosa in cui purtroppo no sono in grado di darti una manom
Prova questo. A me funziona. Va testato e in seguito creato il codice anche per @collection/@incollection.
Rimane un workaround pazzesco. Probabilmente la soluzione è dietro l’angolo, ma non riesco a trovarla.
In fondo si tratterebbe soltanto di trovare il modo per citare una voce senza però che la voce successiva veda quella citazione.`\makeatletter
\newbibmacro*{usedriver:book}{%
\renewbibmacro*{bbx:savehash}{}%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\addsemicolon\space}\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\newunit\newblock
\usebibmacro{pageref}%
}\DeclareCiteCommand{\bbx@crossref@inbook}%
{}%
{\ifciteseen{%
\ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit*{\addcomma\space}\printtext{%
\printfield[citetitle]{labeltitle}%
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
{%
\DeclareNameAlias{sortname}{default}%
\usebibmacro{usedriver:book}%
}%
}%
{}%
{}%
\makeatother
`Ciao
Ivanp.s.
Il problema non riguarda philosophy-classic perché in quel caso il comando che gestisce crossref non esegue alcuna citazione ma semplicemente i chiama una macro.
Come ipotizzato, è stato un indizio. Non ho dovuto far altro che eliminare la citazione che dava problemi e al suo posto metterci la macro usedriver:book.
Speriamo che funzioni.
10 Dicembre 2014 alle 21:27 in risposta a: Personalizzare alcuni aspetti della bibliografia (2) #98893::Lorloz” post=98591Ciao a tutti,
mi ricollego a questa discussione, che ha posto alcune questioni che mi interessavano molto mentre cercavo di personalizzare la mia bibliografia per ottenere uno stile non lontano dal modello einaudiano (maiuscoletto con iniziali minuscole per autori citati).
La soluzione proposta è perfetta e funzionante, e la sto adottando con buonissimi risultati: colgo anche l’occasione per ringraziare chi si è impegnato per venire incontro alle esigenze di noi utenti meno esperti.L’unico neo è che, nel caso di voce di bibliografia inserita nel corpo del testo in nota si nota che lo spazio che precede il nome dell’autore è eccessivo.
Suppongo dipenda dal fatto che la soluzione che adottiamo è una “forzatura” rispetto al sistema di citazione standard con le iniziali maiuscole, e che lo spazio extra sia appunto quello che il programma “prevede” per inserire armoniosamente una lettera che ha una dimensione maggiore.
Esiste, secondo voi, un sistema per ovviare a questo problema?Non ho mai notato quanto dici. Ma forse non mi è chiara una cosa: qualcosa o è nel corpo del testo o è in nota 🙄
Potresti mostrare un esempio minimo compilabile che riproduce il problema?Ciao
Ivan
::samiel” post=98584PS cmq il problema affligge solo philosophy-verbose. con philosophy-classic tutto regolare
Questo potrebbe essere un indizio. Domani controllo, anche se stasera avevo deciso di gettare la spugna.
Ciao
IvanP.s.
Dovrei avere il tuo indirizzo da qualche parte sul pc. Ora sono su ipad.
::samiel” post=98581Per me non c’è problema, ma vuoi postare tu su stackexchange o preferisci lo faccia io?
Tu sei in grado di spiegare bene le ragioni per cui philosophy non c’entra,
assai meglio di quanto possa fare io.In ogni caso aggiungo un’osservazione (forse la scoperta dell’acqua calda). Vedi
`\begin{filecontents*}{\jobname.bib}
@incollection{ kuhn:1980,
author = “Thomas Kuhn”,
title = “Logica della scoperta o psicologia della ricerca?”,
booktitle = “Critica e crescita della conoscenza”,
editor = “Imre Lakatos and Alan Musgrave”,
publisher = “Feltrinelli”,
location = “Milano”,
year = “1980”,
pages = “69-93”,
}
@book{ kuhn:1982,
author = “Thomas Kuhn”,
title = “La struttura delle rivoluzioni scientifiche”,
publisher = “Einaudi”,
location = “Torino”,
year = “1978”,
}
@book{ kuhn:1985,
author = “Thomas Kuhn”,
title = “La tensione essenziale”,
publisher = “Einaudi”,
location = “Torino”,
year = “1985”,
}
@collection{ lakatos:1980,
title = “Critica e crescita della conoscenza”,
editor = “Imre Lakatos and Alan Musgrave”,
publisher = “Feltrinelli”,
location = “Milano”,
year = “1980”,
}
@incollection{ masterman:1980,
author = “Mary Masterman”,
title = “La natura di un paradigma”,
crossref = “lakatos:1980”,
pages = “129-163”,
}
\end{filecontents*}\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[babel,italian=guillemets]{csquotes}
\usepackage[style=philosophy-verbose,backend=biber,scauthors=true,%
classical=true,firstinits=true,commacit=true,volnumformat=strings,%
volumeformat=romansc,sorting=nyt,citepages=omit]{biblatex}
\addbibresource{\jobname.bib}
\nocite{*}\begin{document}
\printbibliography
\end{document}`
Nel primo @incollection (kuhn) ho messo la citazione per intero per evitare il problema
trattino?/no! nome autore! Nel secondo caso (masterman) ho usato crossref., Ora, la menzione
della collection risulta diversa:— «Logica della scoperta o psicologia della ricerca?», in Critica e crescita
della conoscenza, a cura di I. Lakatos e A. Musgrave, Feltrinelli, Milano
1980, pp. 69-93.Feltrinelli, Milano 1980.
Masterman, M., «La natura di un paradigma», in I. Lakatos e A. Musgrave
(a cura di), Critica e crescita della conoscenza, Feltrinelli, Milano 1980,
pp. 129-163.cioè nel primo caso titolo e poi curatori, nel secondo curatori e poi titolo.
Non so se vada bene così, se c’è una ragione per questa difformità…m
La difformità è giustificata. Se non c’è crossref ovvero se c’è una sola voce che richiama un’altra attraverso crossref, la forma è quella del tuo primo esempio. Se ci sono almeno due voci con crossref a una stessa voce, quest’ultima viene messa in bibliografia e anche nelle due voci assume la forma di una entry bibliografica: curatori, titolo,… La ragione sta nel reperimento della voce.
Meglio se scrivi tu su stackexchange. Eventualmente prepariamo assieme un messaggio in privato.
Ciao
Ivan
::samiel” post=98578Ho capito in astratto la cosa. Con crossref viene interpretato come autore l’editor,
per cui alla successiva occorrenza l’autore reale è visto come nuovo e pertanto
inserito ancora con il nome completo. Capisco anche che in senso lato non si tratta
di un baco tecnico, ma è comunque un uso anomalo rispetto alle consuetudini
editoriali e al fatto che il lettore capisce benissimo anche se si usa (come si usa sempre)
il solo trattino lungo. E più di questo non capisco, se entriamo nel fatto tecnico;
anche da stackexchange nessuna proposta fattiva. Ma ars longa e longa pure
la tua vita texnica e non… 🙂È una situazione sicuramente anomala, che andrebbe corretta. Abbiamo capito il motivo di quello che succede, ma rimane il fatto che là il trattino ci va. Sono anche sicuro che su tex.stackexchange c’è qualcuno che saprebbe risolvere il problema. Sarebbe bene postare l’ultimo codice che ho inviato perché mostra che il problema non ha a che fare con philosophy.
Ciao
Ivan
::
Ecco un altro codice minimale che chiarifica la questione:
`
\begin{filecontents}{\jobname.bib}
@inbook{ kuhn:1980,
author = “Thomas Kuhn”,
title = “Logica della scoperta o psicologia della ricerca?”,
crossref = “lakatos:1980”,
pages = “69-93”,
}@book{ kuhn:1981,
author = “Thomas Kuhn”,
title = “La rivoluzione copernicana”,
publisher = “Einaudi”,
location = “Torino”,
year = “1981”,
edition = “3”,
}@book{ kuhn:1982,
author = “Thomas Kuhn”,
title = “La struttura delle rivoluzioni scientifiche”,
publisher = “Einaudi”,
location = “Torino”,
year = “1978”,
edition = “4”,
}@book{ kuhn:1985,
author = “Thomas Kuhn”,
title = “La tensione essenziale”,
publisher = “Einaudi”,
location = “Torino”,
year = “1985”,
}@book{ kuhn:2000,
author = “Thomas Kuhn”,
title = “Dogma contro critica”,
publisher = “Cortina”,
location = “Milano”,
year = “2000”,
}@book{ kuhn:2008,
author = “Thomas Kuhn”,
title = “Le rivoluzioni scientifiche”,
publisher = “Il Mulino”,
location = “Bologna”,
year = “2008”,
}@book{ lombardi:1991,
author = “Tiziana Lombardi”,
title = “Thomas Kuhn e la ricerca storiografica relativa alla
rivoluzione copernicana”,
publisher = “Gruppo Editoriale Internazionale”,
location = “Roma”,
year = “1995”,
}@book{ lakatos:1980,
title = “Critica e crescita della conoscenza”,
editor = “Imre Lakatos and Alan Musgrave”,
publisher = “Feltrinelli”,
location = “Milano”,
year = “1980”,
edition = “3”,
}@inbook{ masterman:1980,
author = “Mary Masterman”,
title = “La natura di un paradigma”,
crossref = “lakatos:1980”,
pages = “129-163”,
}\end{filecontents}
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{csquotes}
\usepackage[
backend=biber,
style=verbose-trad2,%
sorting=nyt]
{biblatex}\addbibresource{\jobname.bib}
\makeatletter
\DeclareCiteCommand{\bbx@crossref@inbook}%
{}%
{\usedriver
{\DeclareNameAlias{sortname}{default}}%
{\thefield{entrytype}}}%
{}%
{}%\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\iffieldundef{crossref}
{\usebibmacro{inbook:full}}%
{\bbx@crossref@inbook{\thefield{crossref}}}%
}\newbibmacro*{inbook:full}{
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}\makeatother
\nocite{*}
\begin{document}
\printbibliography
\end{document}
`
Come si può vedere, lo stile caricato è verbose-trad2 che, per quanto riguarda la bibliografia coincide con lo stile authortitle. verbose-trad2 è quello su cui si basa philosophy-verbose. È stato ridefinito il driver @inbook in questo modo. Se è presente il campo crossref, la voce @inbook, subito dopo la macro “in:”, che è quella che stampa, per l’appunto, la stringa “in:”, esegue il comando \bbx@crossref@inbook il quale, a sua volta, non fa altro che stampare la voce completa attraverso il comando
\usedriver{…}{\thefield{entrytype}}. Questi codici sono più semplici di quelli contenuti in philosophy, ma sono sufficienti per capire che non si tratta di un vero e proprio baco degli stili, come anch’io avevo inizialmente pensato, ma di un comportamento coerente. Coerente ma non gradito, nemmeno da me 🙁 Quindi possiamo anche chiamarlo baco 🙄La voce
— “Logica della scoperta o psicologia della ricerca?” In: Imre Lakatos and Alan Musgrave, eds. Critica e crescita della conoscenza. 3rd ed. Milano: Feltrinelli, 1980.
di fatto, contiene al suo interno la voce relativa a Imre Lakatos and Alan Musgrave, che viene citata internamente attraverso \bbx@crossref@inbook. Quindi la successiva voce, ovvero
Kuhn, Thomas. La rivoluzione copernicana. 3rd ed. Torino: Einaudi, 1981
come ultima citazione vede proprio quella del testo curato da Imre Lakatos and Alan Musgrave. Se non ci fosse crossref, quest’ultima voce non sarebbe citata, anche se presente, e il problema non si porrebbe.
Ora, la macro che stampa il nome dell’autore, esegue un condizionale che, semplificando, funziona così. Se i campi fullhash (che contiene i nomi della voce corrente) e \bbx@lasthash (che contiene i nomi della voce precedente) sono uguali allora stampa un trattino, altrimenti stampa la lista dei nomi (nell’esempio, il nome completo di Kuhn). Nel nostro caso, l’ultima lista di nomi è appunto Imre Lakatos and Alan Musgrave, che è diversa da quella della voce corrente (Thomas Kuhn) e quindi il nome viene ripetuto.Ho provato in tutti i modi a cambiare il contenuto di \bbx@lasthash ma senza successo.
Che si tratti di un problema che va risolto è evidente da questa considerazione. Se scriviamo due voci @inbook una delle quali usa il campo crossref e l’altra no, ci accorgiamo che il problema c’è solo nel primo caso, pur essendo le due voci identiche nell’output. È solo diverso il modo in cui sono generate. Per rendersene conto è sufficiente compilare l’esempio sopra modificando la voce
`@inbook{ kuhn:1980,
author = “Thomas Kuhn”,
title = “Logica della scoperta o psicologia della ricerca?”,
crossref = “lakatos:1980”,
pages = “69-93”,
}
`
in questa
`@inbook{ kuhn:1980,
author = “Thomas Kuhn”,
title = “Logica della scoperta o psicologia della ricerca?”,
booktitle = “Critica e crescita della conoscenza”,
editor = “Imre Lakatos and Alan Musgrave”,
publisher = “Feltrinelli”,
location = “Milano”,
year = “1980”,
edition = “3”,
pages = “69-93”,
}`Ciao
Ivan
::
1) non si tratta di un vero baco, come avevo detto precedentemente. Il motivo per cui non viene messo il trattino al posto del nome è che la voce precedente contiene una citazione a un’altra voce, attraverso il campo crossref. Quindi, dal punto di vista della voce successiva, l’ultimo autore citato è quello relativo alla voce richiamata con crossref. Essendo questo diverso, non viene messo il trattino nella voce successiva. Il comportamento è quindi coerente, anche se non accettabile in toto.
Detto questo, non ho la più pallida idea di come risolvere il problema. La teoria è questa: serve un comando che, dopo la citazione della voce contenuta in crossref, elimini l’ultimo nome in memoria ovvero faccia si che l’ultimo nome in memoria sia quello della voce madre che contiene il campo crossref. In rete non ho trovato nulla. Serve un esempio veramente minimo, da sottoporre eventualmente a qualche guru.Per il secondo punto, nel tuo caso, risolvi con
`
\DeclareCiteCommand{\bbx@crossref@inbook}%
{}%
{\ifciteseen{%
\ifthenelse{\value{listtotal}=2}%
{\printnames[][-\value{maxnamesincross}]{labelname}}%
{\printnames[][-\value{minnamesincross}]{labelname}}%
\setunit*{\addcomma\space}\printtext{%
\printfield[citetitle]{labeltitle}%
\iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
{\setunit{\addspace\midsentence}}%
\bibstring{cited}}}%
{\usedriver{\DeclareNameAlias{sortname}{scdefault}}{\thefield{entrytype}}}}%
{}%
{}%
`
Questo codice funziona solo se si imposta l’opzione scauthorsbib. Correggerò meglio negli stili.Ciao
Ivan
::samiel” post=98542
Provato a compilare due volte?
Sì, anche tre…. E poi altra cosa che mi pare strana,
sempre con crossref:T. Kuhn, La struttura delle rivoluzioni scientifiche, Einaudi, Torino 19784 .
— Logica della scoperta o psicologia della ricerca?, in I. Lakatos e A. Musgrave, a cura di, Critica e crescita della conoscenza,
Feltrinelli, Milano 1980 , pp. 69-93.
T. Kuhn, La rivoluzione copernicana, Einaudi, Torino 19813 .
— La tensione essenziale, Einaudi, Torino 1985.
— Dogma contro critica, Cortina, Milano 2000.
— Le rivoluzioni scientifiche, Il Mulino, Bologna 2008.
I. Lakatos e A. Musgrave, a cura di, Critica e crescita della conoscenza, Feltrinelli, Milano 19803 .
T. Lombardi, Thomas Kuhn e la ricerca storiografica relativa alla rivoluzione copernicana, Gruppo Editoriale Internazionale,
Roma 1995.
M. Masterman, La natura di un paradigma, in I. LAKATOS et al., Critica e crescita della conoscenza, cit., pp. 129-163.Nel testo di Kuhn, @inbook o @incollection che sia, il nome dei curatori Lakatos – Musgrave è citato in minuscolo entrambi i nomi,
invece in quello successivo della Masterman c’è solo Lakatos (con “et al.”) tutto in maiuscoletto. Perché questa differenza?È un baco di philosophy. Serio, ad una prima lettura.
Serve comunque esempio minimo, perché non ho la voce relativa a MastermanCiao
Ivan
-
AutoreRisposte