Risposte nei forum create
-
AutoreRisposte
-
::
Ho provato il tuo stile, che mi sembra funzioni bene e sia molto simile al mio.
Ti dico solo le cose che mi sembra si discostino dalle usanze comuni.
Innanzitutto grazie di cuore Gus!
– N. Cognome: so che lo preferisci, ed è chiaro, ma si tende, essendo l’ordine alfabetico, a mettere sempre Cognome, N.; non solo in inglese.
Convengo che Cognome, N. sia più comodo, natbib_ita fa così, ma è veramente veramente veramente brutto… Poi, se ci sono più autori, viene fuori “Rossi M., Verdi A. e Bianchi N.”, con il punto che litiga con la virgola consecutiva -non un bel vedere. Eleganza o comodità? Che cosa facciamo???
– In @incollection il titolo del libro collettaneo, essendo un libro, deve essere in corsivo e non fra caporali;
Giusto.
– In italiano, normalmente l’editor si segnala con “a cura di” (fra parentesi dopo il nome o senza prima) e non con “curatore”;
D’accordo.
– Niente virgola fra Città e Data? (intendo: è una scelta, che va bene, o una dimenticanza?)
E’ una scelta, motivata dall’unico fatto che ho visto parecchi libri fare così. Nessun motivo “logico”, intendo. Anzi, forse la data è più comodo metterla subito dopo l’autore, come fa natbib_ita, così il lettore non deve arrivare il fondo alla voce bibliografica per trovare la data. Non l’ho fatto perché non l’ho praticamente mai visto, se non in natbib_ita.
– forse per una svista, gli articoli finoscono tutti con virgola invece che punto.
A me non succede, le voci di ogni articolo sono separate da virgole e alla fine di ciascun articolo c’è un bel punto.
Grazie ancora per la tua attenzione e per le preziose osservazioni.
L.
::Quanto all’argomento in discussione: la tipografia francese (che su queste cose è pignolissima) usa le cifre romane maiuscole.
Beh, coincidenza, il dubbio mi è venuto guardando le didascalie delle opere del Louvre (in questi giorni c’è una mostra di Girodet): gran pannelli al muro, tipograficamente molto eleganti, e \textsc per i secoli, ci metto la mano sul fuoco…
Certo, non è un’auctoritas!
In conclusione, accetto i vostri consigli e metto tutto in maiuscolo!
Grazie a Lapo, Gus ed Enrico,
L.Per Gus: che \textsc{x} e {\small X} non siano la stessa cosa si vede anche dalla spaziatura, che è diversa. Se confronti le righe:
`Nel XXVII secoloNel \textsc{XXVII} secolo
Nel {\small XXVII} secolo
Nel \textsc{xxvii} secolo
`
hanno tutte lunghezza diversa.
::Benchè il alcuni (vecchi) articoli italiani mi sia sembrato di vederlo, lo standard internazionale (non solo inglese) è sicuramente di ignorare l’address per le riviste.
Per come inserirlo lo stesso, non so se sia facile o meno, ma ricordo qualcosa nella documentazione di Bibtex (forse mi sbaglio?).
Ciao Gus! Perfetto, se lo standard tipografico è quello, niente da dire: mi allineo volentieri.
BibTeX prevede, per i record article, i campi “author”, “title”, “journal”, “year” (obbligatori) e “volume”, “number”, “pages”, “month” e “note” (opzionali). Gli altri campi vengono ignorati. Quindi non vedo un modo di infilarci un “address” a ragion veduta.
Mi resta la curiosità di capire il perché di questo ostracismo per l’”address”… a me sembra un’info utile, soprattutto per riviste poco conosciute, ma certo ci deve essere qualcosa che mi sfugge… 🙄
Grazie dei tuoi consigli, preziosi come sempre!
Lorenzo
::BibTeX divide un nome in “First von Last”, interpretando qualunque stringa cominci con lettera minuscola come “von”. Quindi il tuo autore è, agli occhi di BibTeX, “B. Van” (First) “der” (von) “Pol” (Last).
Il modo di mettere le maiuscole è, guardando su google, piuttosto vario per questo autore; io propendo per “B. van der Pol”. In ogni caso, il tuo problema si dovrebbe risolvere scrivendo`author={Van der Pol, B.}`È quasi sempre meglio scrivere il campo author come “von Last, First”, per evitare ambiguità.
Beh.. che dire… chiarissimo ed illuminante… come sempre!
Grazie mille e buon anno.
Lorenzo
::E’ vero, però credo che questo valga per parti di testo speciali come titoli, campi del frontespizio, ecc. Se si tratta di testo normale (come nel tuo caso) io non andrei a modificare niente. Ho provato le tre alternative e sono sicuro che se in un libro trovassi \textsc{} o {\small } mi ci cadrebbe subito l’occhio, il che non è mai auspicabile. Non credo che esistano delle convenzioni al riguardo, tuttavia io sono dell’idea che più il testo è omogeneo, migliore è la resa visiva. Opinione strettamente personale.
Molto bene. Dico così perché in testi tipograficamente molto curati ho visto usare, per i numeri romani, un corpo più piccolo di quello “normale”. Ad ogni modo, a meno che altri membri dello Staff non vorranno dire la loro -in questioni come questa avere più punti di vista non guasta- mi atterrò senz’altro a quanto mi dici.
Grazie,
L.
::Personalmente userei la soluzione più semplice, ovvero la prima.
Grazie per la risposta. Però mi pare di aver letto che parole tutte in maiuscolo tendano ad essere “pesanti”… e che sia meglio invece usare small capitals. Io per la verità fino ad ora ho usato \small, il risultato mi piace di più…
E’ una sciocchezza, lo so!
Grazie ancora,
L.
::
Carissimi, la notte deve avermi portato consiglio…
Basta sostituire il campo
`
AUTHOR = {B. Van der Pol},
`
con
`
AUTHOR = {B. {Van der Pol}},
`
e BibTeX se la smette di trasformare “Van” in “V.” e conseguentemente l’ordinamento alfabetico va a posto.Mi resta ancora la curiosità di capire il motivo di questa “iniziativa” di BibTeX, ma se non altro il problema è sostanzialmente risolto.
L.
::grazie!
io uso la guida di Leslie Lamport e la tableofcontents è descritta in una appendice in fondo al libro… in effetti lo trovo strano…
invece mi dici che cosa è lipsum perchè invece questo comando non compare nemmeno nella sua guidaLipsum è un pacchetto per generare testo fittizio. Scarichi il pacchetto da http://www.ctan.org e lo installi seguendo le istruzioni presenti nel sito di GuIT, qui. Insieme al pacchetto -come di regola- trovi la sua documentazione in pdf.
Ti consiglio vivamente di dare un’occhiata alla Mica tanto breve intro a LaTeX (trovi il link qui sul forum) e di usarla come punto di partenza.
L.
::Sono riuscito a crearmi uno stile bibliografico personalizzato, che trovo “razionale” e che mi soddisfa.
Postalo, se vuoi.
Volentieri. Visto che attualmente non ho la possibilità di mettere il tutto in uno spazio Web esterno al forum, opto per un brutale “copia/incolla” – me ne scuso in anticipo. Mi piacerebbe sapere che cosa ne pensi – se hai tempo e voglia di darci un’occhiata. Il “foglio di stile” abu.bst ottenuto con makebst è il seguente.
`
%%
%% This is file `abu.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `head,exlang,ay,nat,lang,nm-init,ed-au,nmlm,x3,m1,nmft,nmft-sc,nmand-rm,keyxyr,tit-qq,qt-g,qx,bt-qq,atit-u,volp-com,pgsep-s,jwdpg,jwdvol,num-xser,pub-date,pub-xpar,pub-xc,blk-com,italian,pp,abr,xedn,jabr,and-xcom,etal-it,url,url-blk,nfss,,{}')
%% italian.mbs (with options: `exlang,ay,nat,lang,nm-init,ed-au,nmlm,x3,m1,nmft,nmft-sc,nmand-rm,keyxyr,tit-qq,qt-g,qx,bt-qq,atit-u,volp-com,pgsep-s,jwdpg,jwdvol,num-xser,pub-date,pub-xpar,pub-xc,blk-com,italian,pp,abr,xedn,jabr,and-xcom,etal-it,url,url-blk,nfss,,{}')
%% merlin.mbs (with options: `tail,exlang,ay,nat,lang,nm-init,ed-au,nmlm,x3,m1,nmft,nmft-sc,nmand-rm,keyxyr,tit-qq,qt-g,qx,bt-qq,atit-u,volp-com,pgsep-s,jwdpg,jwdvol,num-xser,pub-date,pub-xpar,pub-xc,blk-com,italian,pp,abr,xedn,jabr,and-xcom,etal-it,url,url-blk,nfss,,{}')
%% —————————————-
%% *** ***
%%
%% Copyright 1994-2004 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
% For use with BibTeX version 0.99a or later
%——————————————————————-
% This bibliography style file is intended for texts in
% ITALIAN
% This is an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}…
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}…
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%———————————————————————ENTRY
{ address
author
booktitle
chapter
edition
editor
eid
howpublished
institution
journal
key
language
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label extra.label sort.label short.list }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ “, ” * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
“\newblock ” write$
}
{ output.state before.all =
'write$
{ add.period$ ” ” * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ “empty ” t * ” in ” * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ ” ” * before.all 'output.state :=
}FUNCTION {date.block}
{
skip$
}FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {non.stop}
{ duplicate$
“}” * add.period$
#-1 #1 substring$ “.” =
}FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ “” }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ “” }
{ “\emph{” swap$ * “}” * }
if$
}
FUNCTION {scaps}
{ duplicate$ empty$
{ pop$ “” }
{ “\textsc{” swap$ * “}” * }
if$
}
FUNCTION {bib.name.font}
{ scaps }
FUNCTION {bib.fname.font}
{ bib.name.font }
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {space.word} { " " swap$ * " " * } % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. %------------------------------------------------------------------- % Begin module: % \ProvidesFile{italian.mbs}[2003/11/06 4.2 (PWD/GP)] % The language selected here is ITALIAN FUNCTION {bbl.and} { "e" } FUNCTION {bbl.etal} { "et~al." } FUNCTION {bbl.editors} { "curatori" } FUNCTION {bbl.editor} { "curatore" } FUNCTION {bbl.edby} { "curato da" } FUNCTION {bbl.edition} { "ed." } FUNCTION {bbl.volume} { "vol." } FUNCTION {bbl.of} { "di" } FUNCTION {bbl.number} { "no." } FUNCTION {bbl.nr} { "no." } FUNCTION {bbl.in} { "in" } FUNCTION {bbl.pages} { "pp." } FUNCTION {bbl.page} { "p." } FUNCTION {bbl.chapter} { "cap." } FUNCTION {bbl.techrep} { "Rap. Tecn." } FUNCTION {bbl.mthesis} { "Tesi di laurea" } FUNCTION {bbl.phdthesis} { "Tesi di dottorato" } MACRO {jan} {"gen."} MACRO {feb} {"feb."} MACRO {mar} {"mar."} MACRO {apr} {"apr."} MACRO {may} {"mag"} MACRO {jun} {"giu."} MACRO {jul} {"lug."} MACRO {aug} {"ago."} MACRO {sep} {"set."} MACRO {oct} {"ott."} MACRO {nov} {"nov."} MACRO {dec} {"dic."} % End module: italian.mbs %% Copyright 1994-2004 Patrick W Daly MACRO {acmcs} {"ACM Comput. Surv."} MACRO {acta} {"Acta Inf."} MACRO {cacm} {"Commun. ACM"} MACRO {ibmjrd} {"IBM J. Res. Dev."} MACRO {ibmsj} {"IBM Syst.~J."} MACRO {ieeese} {"IEEE Trans. Software Eng."} MACRO {ieeetc} {"IEEE Trans. Comput."} MACRO {ieeetcad} {"IEEE Trans. Comput. Aid. Des."} MACRO {ipl} {"Inf. Process. Lett."} MACRO {jacm} {"J.~ACM"} MACRO {jcss} {"J.~Comput. Syst. Sci."} MACRO {scp} {"Sci. Comput. Program."} MACRO {sicomp} {"SIAM J. Comput."} MACRO {tocs} {"ACM Trans. Comput. Syst."} MACRO {tods} {"ACM Trans. Database Syst."} MACRO {tog} {"ACM Trans. Graphic."} MACRO {toms} {"ACM Trans. Math. Software"} MACRO {toois} {"ACM Trans. Office Inf. Syst."} MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} MACRO {tcs} {"Theor. Comput. Sci."} FUNCTION {bibinfo.check} { swap$ duplicate$ missing$ { pop$ pop$ "" } { duplicate$ empty$ { swap$ pop$ } { swap$ pop$ } if$ } if$ } FUNCTION {bibinfo.warn} { swap$ duplicate$ missing$ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } { duplicate$ empty$ { swap$ "empty " swap$ * " in " * cite$ * warning$ } { swap$ pop$ } if$ } if$ } FUNCTION {format.url} { url empty$ { "" } { "\urlprefix\url{" url * "}" * } if$ } STRINGS { bibinfo} INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} { 'bibinfo := duplicate$ empty$ 'skip$ { 's := "" 't := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > }
{ s nameptr
“{f.~}{vv~}{ll}{, jj}”
format.name$
bib.name.font
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #1
#1 + =
numnames #3
> and
{ “others” 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ “, ” * t * }
{
s nameptr “{ll}” format.name$ duplicate$ “others” =
{ 't := }
{ pop$ }
if$
t “others” =
{
” ” * bbl.etal emphasize *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 – 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
format.names
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ “” }
if$
}FUNCTION {format.authors}
{ author “author” format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }FUNCTION {format.editors}
{ editor “editor” format.names duplicate$ empty$ 'skip$
{
“,” *
” ” *
get.bbl.editor
*
}
if$
}
FUNCTION {select.language}
{ duplicate$ empty$
'pop$
{ language empty$
'skip$
{ “{\selectlanguage{” language * “}” * swap$ * “}” * }
if$
}
if$
}FUNCTION {format.note}
{
note empty$
{ “” }
{ note #1 #1 substring$
duplicate$ “{” =
'skip$
{ output.state mid.sentence =
{ “l” }
{ “u” }
if$
change.case$
}
if$
note #2 global.max$ substring$ * “note” bibinfo.check
}
if$
}FUNCTION {format.title}
{ title
“title” bibinfo.check
duplicate$ empty$ 'skip$
{
“\enquote{” swap$ *
“}, ” *
select.language
}
if$
}
FUNCTION {end.quote.title}
{ title empty$
'skip$
{ before.all 'output.state := }
if$
}
FUNCTION {end.quote.btitle}
{ booktitle empty$
'skip$
{ before.all 'output.state := }
if$
}
FUNCTION {format.full.names}
{'s :=
“” 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
“{vv~}{ll}” format.name$
't :=
nameptr #1 >
{
nameptr #1
#1 + =
numnames #3
> and
{ “others” 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ “, ” * t * }
{
s nameptr “{ll}” format.name$ duplicate$ “others” =
{ 't := }
{ pop$ }
if$
t “others” =
{
” ” * bbl.etal emphasize *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 – 'namesleft :=
}
while$
}FUNCTION {author.editor.key.full}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}FUNCTION {editor.key.full}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}FUNCTION {make.full.names}
{ type$ “book” =
type$ “inbook” =
or
'author.editor.key.full
{ type$ “proceedings” =
'editor.key.full
'author.key.full
if$
}
if$
}FUNCTION {output.bibitem}
{ newline$
“\bibitem[{” write$
label write$
“)” make.full.names duplicate$ short.list =
{ pop$ }
{ * }
if$
“}]{” * write$
cite$ write$
“}” write$
newline$
“”
before.all 'output.state :=
}FUNCTION {if.digit}
{ duplicate$ “0” =
swap$ duplicate$ “1” =
swap$ duplicate$ “2” =
swap$ duplicate$ “3” =
swap$ duplicate$ “4” =
swap$ duplicate$ “5” =
swap$ duplicate$ “6” =
swap$ duplicate$ “7” =
swap$ duplicate$ “8” =
swap$ “9” = or or or or or or or or or
}
FUNCTION {n.separate}
{ 't :=
“”
#0 'numnames :=
{ t empty$ not }
{ t #-1 #1 substring$ if.digit
{ numnames #1 + 'numnames := }
{ #0 'numnames := }
if$
t #-1 #1 substring$ swap$ *
t #-2 global.max$ substring$ 't :=
numnames #5 =
{ duplicate$ #1 #2 substring$ swap$
#3 global.max$ substring$
“\,” swap$ * *
}
'skip$
if$
}
while$
}
FUNCTION {n.dashify}
{
n.separate
't :=
“”
{ t empty$ not }
{ t #1 #1 substring$ “-” =
{ t #1 #2 substring$ “–” = not
{ “–” *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ “-” = }
{ “-” *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}FUNCTION {word.in}
{ bbl.in
” ” * }FUNCTION {format.date}
{ year “year” bibinfo.check duplicate$ empty$
{
“empty year in ” cite$ * “; set to ????” * warning$
pop$ “????”
}
'skip$
if$
extra.label *
}
FUNCTION {format.btitle}
{ title “title” bibinfo.check
duplicate$ empty$ 'skip$
{
emphasize
select.language
}
if$
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ “can't use both ” swap$ * ” fields in ” * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ “” }
{ bbl.volume volume tie.or.space.prefix
“volume” bibinfo.check * *
series “series” bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ bbl.of space.word * swap$
emphasize * }
if$
“volume and number” number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ series empty$
{ number “number” bibinfo.check }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.prefix “number” bibinfo.check * *
bbl.in space.word *
series “series” bibinfo.check *
}
if$
}
if$
}
{ “” }
if$
}FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
{
output.state mid.sentence =
{ “l” }
{ “t” }
if$ change.case$
“edition” bibinfo.check
” ” * bbl.edition *
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ “-” =
swap$ duplicate$ “,” =
swap$ “+” =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{
bbl.pages swap$
n.dashify
}
{
bbl.page swap$
}
if$
tie.or.space.prefix
“pages” bibinfo.check
* *
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
“, ” *
swap$
n.dashify
pages multi.page.check
'bbl.pages
'bbl.page
if$
swap$ tie.or.space.prefix
“pages” bibinfo.check
* *
*
}
if$
}
if$
}
FUNCTION {format.journal.eid}
{ eid “eid” bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
{
“, ” *
}
if$
swap$ *
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
bbl.volume swap$ tie.or.space.prefix
“volume” bibinfo.check
* *
}
if$
number “number” bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ “there's a number but no volume in ” cite$ * warning$ }
'skip$
if$
swap$
“(” swap$ * “)” *
}
if$ *
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
}FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ bbl.chapter }
{ type “l” change.case$
“type” bibinfo.check
}
if$
chapter tie.or.space.prefix
“chapter” bibinfo.check
* *
pages empty$
'skip$
{ “, ” * format.pages * }
if$
}
if$
}FUNCTION {bt.enquote}
{ duplicate$ empty$ 'skip$
{ “\enquote{” swap$ *
“}, ” *
}
if$
}
FUNCTION {format.booktitle}
{
booktitle “booktitle” bibinfo.check
bt.enquote
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
{
editor “editor” format.names.ed duplicate$ empty$ 'pop$
{
“,” *
” ” *
get.bbl.editor
“, ” *
* swap$
* }
if$
word.in swap$ *
}
if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
'pop$
{ swap$ pop$
“t” change.case$ “type” bibinfo.check
}
if$
}
FUNCTION {format.tr.number}
{ number “number” bibinfo.check
type duplicate$ empty$
{ pop$ bbl.techrep }
'skip$
if$
“type” bibinfo.check
swap$ duplicate$ empty$
{ pop$ “t” change.case$ }
{ tie.or.space.prefix * * }
if$
}
FUNCTION {format.article.crossref}
{
word.in
” \cite{” * crossref * “}” *
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
{ “empty volume in ” cite$ * “'s crossref of ” * crossref * warning$
pop$ word.in
}
{ bbl.volume
swap$ tie.or.space.prefix “volume” bibinfo.check * * bbl.of space.word *
}
if$
” \cite{” * crossref * “}” *
}
FUNCTION {format.incoll.inproc.crossref}
{
word.in
” \cite{” * crossref * “}” *
}
FUNCTION {format.org.or.pub}
{ 't :=
“”
t empty$
{ address “address” bibinfo.check *
}
{ t *
address empty$
'skip$
{ “, ” * address “address” bibinfo.check * }
if$
}
if$
year duplicate$ empty$
{ “empty year in ” cite$ * “; set to ????” * warning$
pop$ “????” }
{ “year” bibinfo.check extra.label * }
if$
t empty$ address empty$ and
{ * }
{ ” ” swap$ * * }
if$
}
FUNCTION {format.publisher.address}
{ publisher “publisher” bibinfo.warn format.org.or.pub
}FUNCTION {format.organization.address}
{ organization “organization” bibinfo.check format.org.or.pub
}FUNCTION {article}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.title “title” output.check
end.quote.title
crossref missing$
{
journal
“journal” bibinfo.check
emphasize
“journal” output.check
format.vol.num.pages output
format.date “year” output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.url output
format.note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors “author and editor” output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ “author and editor” editor either.or.check }
'skip$
if$
}
if$
format.btitle “title” output.check
crossref missing$
{ format.bvolume output
format.number.series output
format.publisher.address output
}
{
format.book.crossref output.nonnull
format.date “year” output.check
}
if$
format.edition output
format.url output
format.note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
format.title “title” output.check
end.quote.title
howpublished “howpublished” bibinfo.check output
address “address” bibinfo.check output
format.date “year” output.check
format.url output
format.note output
fin.entry
}FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors “author and editor” output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ “author and editor” editor either.or.check }
'skip$
if$
}
if$
format.btitle “title” output.check
crossref missing$
{
format.bvolume output
format.chapter.pages “chapter and pages” output.check
format.number.series output
format.publisher.address output
}
{
format.chapter.pages “chapter and pages” output.check
format.book.crossref output.nonnull
format.date “year” output.check
}
if$
format.edition output
format.url output
format.note output
fin.entry
}FUNCTION {incollection}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.title “title” output.check
end.quote.title
crossref missing$
{ format.in.ed.booktitle “booktitle” output.check
end.quote.btitle
format.bvolume output
format.number.series output
format.chapter.pages output
format.publisher.address output
format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.url output
format.note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.title “title” output.check
end.quote.title
crossref missing$
{ format.in.ed.booktitle “booktitle” output.check
end.quote.btitle
format.bvolume output
format.number.series output
format.pages output
publisher empty$
{ format.organization.address output }
{ organization “organization” bibinfo.check output
format.publisher.address output
}
if$
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
format.url output
format.note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
format.btitle “title” output.check
organization “organization” bibinfo.check output
address “address” bibinfo.check output
format.edition output
format.date “year” output.check
format.url output
format.note output
fin.entry
}FUNCTION {mastersthesis}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.btitle
“title” output.check
bbl.mthesis format.thesis.type output.nonnull
school “school” bibinfo.warn output
address “address” bibinfo.check output
format.date “year” output.check
format.url output
format.note output
fin.entry
}FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.title output
end.quote.title
howpublished “howpublished” bibinfo.check output
format.date “year” output.check
format.url output
format.note output
fin.entry
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.btitle
“title” output.check
bbl.phdthesis format.thesis.type output.nonnull
school “school” bibinfo.warn output
address “address” bibinfo.check output
format.date “year” output.check
format.url output
format.note output
fin.entry
}FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
format.btitle “title” output.check
format.bvolume output
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization “organization” bibinfo.check output
format.publisher.address output
}
if$
format.url output
format.note output
fin.entry
}FUNCTION {techreport}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.title
“title” output.check
end.quote.title
format.tr.number output.nonnull
institution “institution” bibinfo.warn output
address “address” bibinfo.check output
format.date “year” output.check
format.url output
format.note output
fin.entry
}FUNCTION {unpublished}
{ output.bibitem
format.authors “author” output.check
author format.key output
format.title “title” output.check
end.quote.title
format.date “year” output.check
format.url output
format.note “note” output.check
fin.entry
}FUNCTION {default.type} { misc }
READ
FUNCTION {sortify}
{ purify$
“l” change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
'len :=
s #1 len substring$ =
{ s len #1 + global.max$ substring$ }
's
if$
}
FUNCTION {format.lab.names}
{ 's :=
“” 't :=
s #1 “{vv~}{ll}” format.name$
s num.names$ duplicate$
#2 >
{ pop$
” ” * bbl.etal emphasize *
}
{ #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal emphasize * } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ "" } { purify$ #-1 #4 substring$ } if$ * 'label := } FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > }
{ s nameptr
“{vv{ } }{ll{ }}{ f{ }}{ jj{ }}”
format.name$ 't :=
nameptr #1 >
{
nameptr #1
#1 + =
numnames #3
> and
{ “others” 't :=
#1 'namesleft := }
'skip$
if$
” ” *
namesleft #1 = t “others” = and
{ “zzzzz” * }
{ t sortify * }
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 – 'namesleft :=
}
while$
}FUNCTION {sort.format.title}
{ 't :=
“A ” #2
“An ” #3
“The ” #4 t chop.word
chop.word
chop.word
sortify
#1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
{ key empty$
{ “to sort, need author or key in ” cite$ * warning$
“”
}
{ key sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
{ key empty$
{ “to sort, need author, editor, or key in ” cite$ * warning$
“”
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.sort}
{ editor empty$
{ key empty$
{ “to sort, need editor or key in ” cite$ * warning$
“”
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
” ”
*
type$ “book” =
type$ “inbook” =
or
'author.editor.sort
{ type$ “proceedings” =
'editor.sort
'author.sort
if$
}
if$
#1 entry.max$ substring$
'sort.label :=
sort.label
*
” ”
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
“” 'next.extra :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ “a” chr.to.int$ 'last.extra.num :=
“” 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra “b” =
{ “a” 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ “{\natexlab{” swap$ * “}}” * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
” ”
*
year field.or.null sortify
*
” ”
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
“\begin{thebibliography}{” number.label int.to.str$ * “}” *
write$ newline$
“\ProvideTextCommand{\guillemotleft}{OT1}{%”
write$ newline$
” \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}”
write$ newline$
“\ProvideTextCommand{\guillemotright}{OT1}{%”
write$ newline$
” \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}”
write$ newline$
“\newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}”
write$ newline$
“\providecommand{\natexlab}[1]{#1}”
write$ newline$
“\providecommand{\url}[1]{\texttt{#1}}”
write$ newline$
“\providecommand{\urlprefix}{URL }”
write$ newline$
“\providecommand{\selectlanguage}[1]{\relax}”
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
“\end{thebibliography}” write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `abu.bst'.
`
::]
La convenzione sul corsivo delle parole straniere (oltre al fatto di riguardare solo quelle “non di uso comune”) è perfettamente compatibile con l’uso delle virgolette. L’unica regola (questa sì piuttosto fissa) è che non si usa mai corsivo e virgolette assieme, cioè una frase in corsivo dentro alle virgolette. Sia corsivo che virgolette servono a “staccare” l’espressione dal resto del testo (per vari motivi, uno dei quali che l’espressione stessa è straniera, per esempio): se questo viene già fatto dalle virgolette, non c’è bisogno del corsivo.Capisco. Quindi, ricapitolando -se ho capito bene:
1. per i libri, titolo in corsivo e casa editrice in tondo;
2. per gli articoli, titolo fra virgolette e in tondo -indipendentemente dalla lingua- e rivista in corsivo.Se è così, grazie ai tuoi consigli, a quelli dello Staff in passati thread e al meraviglioso makebst sono riuscito a crearmi uno stile bibliografico personalizzato, che trovo “razionale” e che mi soddisfa.
Grazie ancora,
L.P.S. Veramente notevole il “tridente” BibTeX + natbib + makebst…
Osservo che nelle pagine del sito di GuIT sulla bibliografia viene esplicitamente menzionato lo stile natbib_ita -che credevo fosse in qualche modo “caldeggiato” dallo Staff- ma che in fin dei conti non è questo gran che…Ora, visto che makebst è abbastanza facile, ma non è banale (soprattutto per un neofita), non sarebbe male che qualcuno dello Staff mettesse a disposizione la sua esperienza per creare un paio di stili già belli e pronti, senza le discrasie e i limti di natbib_ita, adatti a tesisti italiani…
Questione di un attimo, per utenti esperti, ma per il principiante non è banale destreggiarsi tra tutte le domande di makebst e dare le risposte più “adatte”…
L.
::In italiano, uno standard è: autore in tondo, titolo fra virgolette (tipicamente caporali), rivista in corsivo. Ha il vantaggio è distinguere immediatamente libri, il cui titolo va in corsivo, da articoli.
Capisco. Certo, ribadisco che mettere il titolo fra caporali in tondo ha l’inconveniente che, se il titolo è in lingua straniera (in una bibliografia capita spesso di avere articoli sia italiani sia inglesi, per esempio), si viola la convenzione (che uso sempre) di mettere in corsivo tutte le parole e le frasi “straniere”, ma tutto sommato penso che il vantaggio dello standard che mi suggerisci (e che del resto makebst prevede) valga la candela.
Grazie per le tue osservazioni sempre precise e puntuali, annoverami fra i futuri lettori del tuo lavoro.
L.
-
AutoreRisposte