- Questo topic ha 11 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 20 anni, 8 mesi fa da
lorenzo.pantieri.
-
CreatoreTopic
-
26 Dicembre 2005 alle 20:30 #7509
-
CreatoreTopic
-
AutoreRisposte
-
-
27 Dicembre 2005 alle 9:46 #7510
-
27 Dicembre 2005 alle 13:38 #7511::
Io mi guarderei gli stili standard (plain, ecc.) e mi farei un’idea con quelli.
Ottimo suggerimento. Dunque, gli stili plain, plainnat e natbib pongono il titolo in tondo e il nome della rivista in corsivo. Lo stile amsplain fa il contrario: pone in corsivo il titiolo e in tondo la rivista. Nessuno usa virgolette. Tutti hanno l’abitudine (per me incomprensibile) di mettere il nome del titolo tutto in minuscolo. Boh.
Quello che non mi convince è che mettere in tondo il titolo fa sì che -se questo è in lingua straniera- venga meno la convenzione, che uso sempre, di mettere in corsivo le parole straniere. Idem se si mette in tondo la rivista.
Mettere tutto in corsivo è forse un po’ troppo: il corsivo lo si usa per evidenziare ed evidenziare tutto = non evidenziare niente.
Tutto sommato, amsplain è quello che mi dispiace di meno.
Grazie e… se hai altri suggerimenti, ben vangano!
L.
-
27 Dicembre 2005 alle 19:45 #7512::
Esistono, come al solito, varie convenzioni. La bibliografia è uno dei temi più tormentati sotto l’aspetto tipografico.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.
Le maiuscole nel titolo sono un problema tipicamente inglese. In italiano non si usano, in tedesco sono maiuscoli rigorosamente tutti i sostantivi e non altro. In inglese, si tende a mettere le maiuscole (e spesso solo nei libri) per quasi tutte le parole eccetto particelle e connettivi vari.
Queste e altre considerazioni dovrebbero figurare brevemente nel mio documento sulle Norme tipografiche, e più diffusamente in un prossimo (spero) articolo dedicato alle bibliografie.
Ciao,
Gus
-
27 Dicembre 2005 alle 20:32 #7513::
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.
-
28 Dicembre 2005 alle 14:31 #7514::
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.Fra poco manderò le “Norme” alla mailing list; per la cosa sulla bibliografia invece mi servirà più tempo.
Ciao,
Gus
-
28 Dicembre 2005 alle 18:40 #7515::
]
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.
-
29 Dicembre 2005 alle 19:30 #7516::
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.Esatto.
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.
Postalo, se vuoi.
P.S. Veramente notevole il “tridente” BibTeX + natbib + makebst…
Concordo.
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…
Anche a mio parere non è il massimo.
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…
Era quello che avevo intenzione di fare, ma senza nessuna pretesa di fornire degli “standard” che, ripeto, nel caso della bibliografia ancor più che in quello della tipogrfia in generale, sostanzialmente non esistono.
Ciao,
Gus
-
2 Gennaio 2006 alle 5:26 #7517::
…ma senza nessuna pretesa di fornire degli “standard” che, ripeto, nel caso della bibliografia ancor più che in quello della tipogrfia in generale, sostanzialmente non esistono.
Beh, forse è la volta buona 🙂
Ciao.
PS: nel caso tu rivedessi natbib_ita, credo che sarei uno fra i più affezionati utilizzatori 🙂
-
3 Gennaio 2006 alle 10:03 #7518::
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'.
`
-
4 Gennaio 2006 alle 18:00 #7519::
Ciao Lorenzo,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:
– N. Cognome: so che lo preferisci, ed è chiaro, ma si tende, essendo l’ordine alfabetico, a mettere sempre Cognome, N.; non solo in inglese.
– In @incollection il titolo del libro collettaneo, essendo un libro, deve essere in corsivo e non fra caporali;
– In italiano, normalmente l’editor si segnala con “a cura di” (fra parentesi dopo il nome o senza prima) e non con “curatore”;
– Niente virgola fra Città e Data? (intendo: è una scelta, che va bene, o una dimenticanza?)
– forse per una svista, gli articoli finoscono tutti con virgola invece che punto.
Ciao,
Gus
-
4 Gennaio 2006 alle 19:28 #7520::
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.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.