diff options
author | Karl Berry <karl@freefriends.org> | 2007-09-06 00:08:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-09-06 00:08:55 +0000 |
commit | a8abd64279331cac2c141488b03a710e755e3fad (patch) | |
tree | 52b10a31167e0077005f3039f2e8007a8222078a /Master/texmf-dist/bibtex | |
parent | ead5e3fc51a4bb838c6501f0b5629ee4bdb05f1e (diff) |
apacite update (5sep07)
git-svn-id: svn://tug.org/texlive/trunk@4889 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex')
-rw-r--r-- | Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib | 701 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/apacite/apacite.bst | 1687 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/apacite/apacitex.bst | 1688 |
3 files changed, 2190 insertions, 1886 deletions
diff --git a/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib b/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib index cbaeb444e8d..6d13bbe77c3 100644 --- a/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib +++ b/Master/texmf-dist/bibtex/bib/apacite/apa5ex.bib @@ -1,39 +1,56 @@ -@string{comment = { -% \iffalse meta-comment -% -% This is file `apa5ex.bib'. -% -% Copyright 1994-2005 Erik Meijer and any individual authors listed -% elsewhere in this file. All rights reserved. -% -% This file is part of the `apacite' package. -% ------------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% The list of all files belonging to the `apacite' package, with a -% short description, is given in the file `manifest.txt'. -% -% \fi - +%% +%% This is file `apa5ex.bib', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% apacite.dtx (with options: `bibdb') +%% +%% This is a generated file. +%% +%% Copyright (C) 1994-2007 Erik Meijer and any individual authors listed +%% elsewhere in this file. +%% +%% This file is part of the `apacite' package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% The `apacite' package consists of the files apacite.dtx and +%% apacite.ins, and the following generated files: +%% apacite.sty, apacite.bst, apacitex.bst, apa5ex.bib, +%% apacite.drv, apacdoc.sty, +%% english.apc, dutch.apc, finnish.apc, german.apc, ngerman.apc, +%% greek.apc, norsk.apc, spanish.apc, swedish.apc. +%% +%% This work has the LPPL maintenance status `maintained' +%% +%% The Current Maintainer of this work is Erik Meijer +%% +%% This file may only be distributed together with a copy of the +%% source files of the apacite package, i.e., apacite.dtx and +%% apacite.ins. You may however distribute the apacite package without +%% the generated files. +%% +%% apa5ex.bib +%% [2007/09/03 v4.00 bibliography database for apacite manual] + + +%% %% apa5ex.bib: References from the 5th edition of the Publication Manual %% of the APA, plus a few additional references -%% Written by Erik Meijer <e.meijer@eco.rug.nl> -%% This version: [2005/06/08] +%% Written by Erik Meijer -% Entry labels are section number of the APA manual (5th ed.) -% plus a sequence number within the section. -% -% Note that this ``string'' is used as a comment, because the -% @comment construction of BibTeX does not work: `@'-sign in the -% e-mail address above would be taken as the beginning of an entry. -}} +%% Entry labels are section number of the APA manual (5th ed.) +%% plus a sequence number within the section. @misc{3.94-1, author = {Walker}, @@ -81,7 +98,7 @@ author = {J{\"{o}}reskog, K[arl] G. and S{\"{o}}rbom, D[ag]}, year = {1989}, title = {{LISREL} 7: {A} Guide to the Program and Applications}, - edition = {2nd}, + edition = {2}, address = {Chicago}, publisher = {SPSS} } @@ -108,7 +125,7 @@ title = {Jaarverslag 2002}, englishtitle = {Annual Report 2002}, address = {Amsterdam}, - publisher = {Author}, + publisher = {{\bibcorporate{Koninklijke Nederlandse Schaakbond}}}, note = {Fake entry to study sorting and citing of references with same key, but with different firstkey.} } @@ -121,7 +138,7 @@ title = {Jaarverslag 2003}, englishtitle = {Annual Report 2003}, address = {Amsterdam}, - publisher = {Author}, + publisher = {{\bibcorporate{Koninklijke Nederlandse Schaakbond}}}, note = {Fake entry to study sorting and citing of references with same key, but with different firstkey.} } @@ -134,7 +151,7 @@ title = {Jaarverslag 2002}, englishtitle = {Annual Report 2002}, address = {Amsterdam}, - publisher = {Author}, + publisher = {{\bibcorporate{Koninklijke Nederlandse Schaatsbond}}}, note = {Fake entry to study sorting and citing of references with same key, but with different firstkey.} } @@ -147,7 +164,7 @@ title = {Jaarverslag 2003}, englishtitle = {Annual Report 2003}, address = {Amsterdam}, - publisher = {Author}, + publisher = {{\bibcorporate{Koninklijke Nederlandse Schaatsbond}}}, note = {Fake entry to study sorting and citing of references with same key, but with different firstkey.} } @@ -342,6 +359,13 @@ note = {no example, but rule given in text} } +@misc{3.100-1b, + author = {Author}, + year = {2003 version}, + type = {Unknown}, + note = {no example, but rule given in text} +} + @book{3.100-2, author = {Aristotle}, year = {1931}, @@ -570,7 +594,8 @@ } @misc{4.08-3, - author = {Bulatao, E. {\bibliteral{(with Winford, C. A.)}}}, + author = {Bulatao, E. {\protect\bibliteral{(with + Winford, C.~A.)}\protect\indexskipbracenodot}}, year = {\bibnodate}, type = {Unknown} } @@ -578,7 +603,7 @@ @article{4.09-1, author = {Fowers, B. J. and Olson, D. H.}, year = {1993}, - title = {{ENRICH} {M}arital {S}atisfaction {S}cale: + title = {{ENRICH} {Marital} {Satisfaction} {Scale}: {A} Brief Research and Clinical Tool}, journal = {Journal of Family Psychology}, volume = {7}, @@ -588,7 +613,7 @@ @article{4.10-1, author = {Deutsch, F. M. and Lussier, J. B. and Servis, L. J.}, year = {1993}, - title = {Husbands At Home: {P}redictors of Paternal Participation + title = {Husbands At Home: Predictors of Paternal Participation in Childcare and Housework}, journal = {Journal of Personality and Social Psychology}, volume = {65}, @@ -599,7 +624,7 @@ author = {O'Neil, J. M. and Egan, J.}, year = {1992}, title = {Men's and Women's Gender Role Journeys: - {M}etaphor for Healing, Transition, and Transformation}, + Metaphor for Healing, Transition, and Transformation}, editor = {Wainrib, B. R.}, booktitle = {Gender Issues Across the Life Cycle}, pages = {107--123}, @@ -610,7 +635,7 @@ @article{4.11-1, author = {Buss, D. M. and Schmitt, D. P.}, year = {1993}, - title = {Sexual Strategies Theory: {A}n Evolutionary Perspective + title = {Sexual Strategies Theory: An Evolutionary Perspective on Human Mating}, journal = {Psychological Review}, volume = {100}, @@ -631,7 +656,7 @@ @book{4.12-1, author = {Saxe, G. B.}, year = {1991}, - title = {Cultural and Cognitive Development: {S}tudies in + title = {Cultural and Cognitive Development: Studies in Mathematical Understanding}, address = {Hillsdale, NJ}, publisher = {Erlbaum} @@ -668,21 +693,21 @@ } @misc{4.15-1, - key = {{\APACcitebtitle{Electronic Reference Formats}}}, - title = {Electronic Reference Formats Recommended by the - {A}merican {P}sychological {A}ssociation}, - year = {2000}, - month = oct, - day = {12}, - howpublished = {Retrieved October 23, 2000, from - \url{http://www.apa.org/journals/webref.html}\bibnodot{.}} + key = {{\APACcitebtitle{Electronic Reference Formats}}}, + title = {Electronic Reference Formats Recommended by the + {American} {Psychological} {Association}}, + year = {2000}, + month = oct, + day = {12}, + lastchecked = {October 23, 2000}, + URL = {http://www.apa.org/journals/webref.html} } @article{4.15-2, author = {Eid, M. and Langeheine, R.}, year = {1999}, title = {The Measurement of Consistency and Occasion Specificity - with Latent Class Models: {A} New Model and its + with Latent Class Models: A New Model and its Application to the Measurement of Affect}, journal = {Psychological Methods}, volume = {4}, @@ -690,13 +715,6 @@ howpublished = {Retrieved November 19, 2000, from the PsycARTICLES database} } -@string{comment = { -% -% The rest is from section 4.16. Section number is omitted, -% but A-I are used instead. For the numbered examples, these -% letters are also omitted in favor of ``ex''. -% -}} @article{A-1, author = {Herman, L. M. and Kuczaj, III, S. A. and Holder, M. D.}, @@ -784,7 +802,7 @@ @article{ex7, author = {Brown, L. S.}, year = {1993}, - month = {Spring}, + month = spring, title = {Antidomination Training as a Central Component of Diversity in Clinical Psychology Education}, journal = {The Clinical Psychologist}, @@ -794,7 +812,7 @@ @article{ex8, year = {1993}, - month = {August/September}, + month = aug # "/" # sep, title = {The New Health-Care Lexicon}, journal = {Copy Editor}, volume = {4}, @@ -837,7 +855,7 @@ editor = {Barlow, D. H.}, year = {1991}, title = {Diagnoses, Dimensions, and \emph{DSM-IV}: - {T}he Science of Classification}, + The Science of Classification}, type = {Special issue}, journal = {Journal of Abnormal Psychology}, volume = {100}, @@ -850,14 +868,14 @@ title = {Young Children's Understanding of Pretense}, journal = {Monographs of the Society for Research in Child Development}, volume = {58}, - number = {1, Serial No.~231} + number = {1, Serial No.~231}, } @article{ex14, author = {Battig, W. F. and Montague, W. E.}, year = {1969}, title = {Category Norms for Verbal Items in 56 Categories: - {A} Replication and Extension of the {C}onnecticut + A Replication and Extension of the {Connecticut} Category Norms}, journal = {Journal of Experimental Psychology Monographs}, volume = {80}, @@ -868,7 +886,7 @@ author = {Ganster, D. C. and Schaubroeck, J. and Sime, W. E. and Mayes, B. T.}, year = {1991}, - title = {The Nomological Validity of the {T}ype~{A} Personality + title = {The Nomological Validity of the {Type}~{A} Personality Among Employed Adults}, type = {Monograph}, journal = {Journal of Applied Psychology}, @@ -882,7 +900,7 @@ year = {1991}, title = {{MAP}-2 Expression in Cholinoceptive Pyramidal Cells of Rodent Cortex and Hippocampus is Altered by - {P}avlovian Conditioning}, + {Pavlovian} Conditioning}, type = {Abstract}, journal = {Society for Neuroscience Abstracts}, volume = {17}, @@ -892,8 +910,8 @@ @article{ex17, author = {Nakazato, K. and Shimonaka, Y. and Homma, A.}, year = {{\protect\bibreftext{1992}{1992/1993}}}, - title = {Cognitive Functions of Centenarians: {T}he {T}okyo - {M}etropolitan {C}entenarian {S}tudy}, + title = {Cognitive Functions of Centenarians: The {Tokyo} + {Metropolitan} {Centenarian} {Study}}, journal = {Japanese Journal of Developmental Psychology}, volume = {3}, pages = {9--16}, @@ -905,7 +923,7 @@ @article{ex18, author = {Regier, A. A. and Narrow, W. E. and Rae, D. S.}, year = {1990}, - title = {The Epidemiology of Anxiety Disorders: {T}he Epidemiologic + title = {The Epidemiology of Anxiety Disorders: The Epidemiologic Catchment Area ({ECA}) Experience}, journal = {Journal of Psychiatric Research}, volume = {24}, @@ -925,11 +943,11 @@ @article{ex20, author = {Ising, M.}, year = {2000}, - title = {Intensit{\"{a}}tsabh{\"{a}}ngigkeit evozierter {P}otenzial im - {EEG}: {S}ind impulsive {P}ersonen {A}ugmenter oder - {R}educer?}, + title = {Intensit{\"{a}}tsabh{\"{a}}ngigkeit evozierter {Potenzial} im + {EEG}: Sind impulsive {Personen} {Augmenter} oder + {Reducer}?}, englishtitle = {Intensity Dependence in Event-Related {EEG} Potentials: - {A}re Impulsive Individuals Augmenters or Reducers?}, + Are Impulsive Individuals Augmenters or Reducers?}, journal = {Zeitschrift f{\"{u}}r Differentielle und Diagnostische Psychologie}, volume = {21}, @@ -949,7 +967,7 @@ @article{ex22, author = {Coltheart, M. and Curtis, B. and Atkins, P. and Haller, M.}, year = {1993}, - title = {Models of Reading Aloud: {D}ual-Route and + title = {Models of Reading Aloud: Dual-Route and Parallel-Distributed-Processing Approaches}, journal = {Psychological Review}, volume = {100}, @@ -959,17 +977,17 @@ @book{B-1, author = {Beck, C. A. J. and Sales, B. D.}, year = {2001}, - title = {Family Mediation: {F}acts, Myths, and Future Prospects}, + title = {Family Mediation: Facts, Myths, and Future Prospects}, address = {Washington, DC}, publisher = {American Psychological Association} } @book{ex23, - author = {Mitchell, T. R. and Larson, Jr., J. R.}, + author = {Mitchell, T. R. and Larson, Jr.\hbox{}, J. R.}, year = {1987}, - title = {People in Organizations: {A}n Introduction to + title = {People in Organizations: An Introduction to Organizational Behavior}, - edition = {3rd}, + edition = {3}, address = {New York}, publisher = {McGraw-Hill} } @@ -978,16 +996,17 @@ author = {{\bibcorporate{Australian Bureau of Statistics}}}, year = {1991}, title = {Estimated Resident Population by Age and Sex in - Statistical Local Areas, {N}ew {S}outh {W}ales, {J}une 1990}, + Statistical Local Areas, {New} {South} {Wales}, + {June} 1990}, number = {3209.1}, address = {Canberra, Australian Capital Territory}, - publisher = {Author} + publisher = {{\bibcorporate{Australian Bureau of Statistics}}} } @book{ex25, editor = {Gibbs, J. T. and Huang, L. N.}, year = {1991}, - title = {Children of Color: {P}sychological Interventions with + title = {Children of Color: Psychological Interventions with Minority Youth}, address = {San Francisco}, publisher = {Jossey-Bass} @@ -1017,8 +1036,8 @@ @book{ex26, year = {1993}, - title = {Merriam-{W}ebster's Collegiate Dictionary}, - edition = {10th}, + title = {Merriam-{Webster}'s Collegiate Dictionary}, + edition = {10}, address = {Springfield, MA}, publisher = {Merriam-Webster} } @@ -1027,7 +1046,7 @@ author = {Rosenthal, R.}, year = {1987}, title = {Meta-Analytic Procedures for Social Research}, - edition = {Rev.{}}, + edition = {Rev.\hbox{}}, address = {Newbury Park, CA}, publisher = {Sage} } @@ -1042,37 +1061,22 @@ } @book{ex29, - firstkey = {{American Psychiatric Association}}, - key = {{\APACcitebtitle{DSM-IV}}}, + key = {{\bibDSM{American Psychiatric + Association}{Diagnostic and Statistical Manual + of Mental Disorders}{4th ed.\hbox{}}{DSM-IV}}}, author = {{\bibcorporate{American Psychiatric Association}}}, year = {1994}, title = {Diagnostic and Statistical Manual of Mental Disorders}, - edition = {4th}, + edition = {4}, address = {Washington, DC}, - publisher = {Author} -} - -@misc{ex29-2, - author = {Americana}, - year = {\bibnodate}, - type = {Unknown}, - note = {Test for sorting of American Psychiatric Association - in \BibTeX{} and \MakeIndex{}.} -} - -@misc{ex29-3, - author = {Americans}, - year = {\bibnodate}, - type = {Unknown}, - note = {Test for sorting of American Psychiatric Association - in \BibTeX{} and \MakeIndex{}.} + publisher = {{\bibcorporate{American Psychiatric Association}}} } @book{ex30, editor = {Sadie, S.}, year = {1980}, title = {The New {G}rove Dictionary of Music and Musicians}, - edition = {6th}, + edition = {6}, volume = {1--20}, address = {London}, publisher = {Macmillan} @@ -1120,18 +1124,19 @@ year = {1993}, title = {Guidelines for Reporting and Writing About People with Disabilities}, - edition = {4th}, + edition = {4}, type = {Brochure}, address = {Lawrence, KS}, - publisher = {Author} + publisher = {{\bibcorporate{Research and Training Center on + Independent Living}}} } @incollection{B-2, author = {Massaro, D.}, year = {1992}, title = {Broadening the Domain of the Fuzzy Logical Model of Perception}, - editor = {Pick, Jr., H. L. and van den Broek, P. and Knill, D. C.}, - booktitle = {Cognition: {C}onceptual and Methodological Issues}, + editor = {Pick, Jr.\hbox{}, H. L. and van den Broek, P. and Knill, D. C.}, + booktitle = {Cognition: Conceptual and Methodological Issues}, pages = {51--84}, address = {Washington, DC}, publisher = {American Psychological Association} @@ -1152,10 +1157,10 @@ author = {Auerbach, J. S.}, year = {\BIP}, title = {The Origins of Narcissism and Narcissistic Personality - Disorder: {A} Theoretical and Empirical Reformulation}, + Disorder: A Theoretical and Empirical Reformulation}, editor = {Masling, J. M. and Bornstein, R. F.}, booktitle = {Empirical Studies of Psychoanalytic Theories: - {V}ol.~4. {P}sychoanalytic Perspectives on Psychopathology}, + {Vol}.~4. {Psychoanalytic} Perspectives on Psychopathology}, address = {Washington, DC}, publisher = {American Psychological Association} } @@ -1164,12 +1169,12 @@ author = {Maccoby, E. E. and Martin, J.}, year = {1983}, title = {Socialization in the Context of the Family: - {P}arent-Child Interaction}, - editor = {Mussen (Series Ed.), P. H. and - Hetherington{\bibeditortype{Vol.\ Ed.}}, E. M.}, + Parent-Child Interaction}, + editor = {Mussen (Series Ed.\hbox{}), P. H. and + Hetherington{\bibeditortype{Vol.\ Ed.\hbox{}}}, E. M.}, booktitle = {Handbook of Child Psychology: - {V}ol.~4. {S}ocialization, Personality, and Social Development}, - edition = {4th}, + {Vol}.~4. {Socialization}, Personality, and Social Development}, + edition = {4}, pages = {1--101}, address = {New York}, publisher = {Wiley} @@ -1179,9 +1184,9 @@ author = {Davydov, V. V.}, year = {1972}, title = {De Introductie van het Begrip Grootheid in de Eerste - Klas van de Basisschool: {E}en Experimenteel Onderzoek}, + Klas van de Basisschool: Een Experimenteel Onderzoek}, englishtitle = {The Introduction of the Concept of Quantity in the - First Grade of the Primary School: {A}n Experimental Study}, + First Grade of the Primary School: An Experimental Study}, editor = {Van Parreren, C. F. and Carpay, J. A. M.}, booktitle = {Sovjetpsychologen aan het Woord}, pages = {227--289}, @@ -1193,7 +1198,7 @@ author = {Bergmann, P. G.}, year = {1993}, title = {Relativity}, - booktitle = {The New Encyclopaedia {B}ritannica}, + booktitle = {The New Encyclopaedia {Britannica}}, volume = {26}, pages = {501--508}, address = {Chicago}, @@ -1207,7 +1212,7 @@ editor = {Strachey, J.}, translator = {Strachey, J.}, booktitle = {The Standard Edition of the Complete Psychological - Works of {S}igmund {F}reud}, + Works of {Sigmund} {Freud}}, volume = {19}, pages = {3--66}, address = {London}, @@ -1218,10 +1223,10 @@ @incollection{ex40, author = {Piaget, J.}, year = {1988}, - title = {Extracts from {P}iaget's Theory}, + title = {Extracts from {Piaget}'s Theory}, translator = {Gellerier, G. and Langer, J.}, editor = {Richardson, K. and Sheldon, S.}, - booktitle = {Cognitive Development to Adolescence: {A} Reader}, + booktitle = {Cognitive Development to Adolescence: A Reader}, pages = {3--18}, address = {Hillsdale, NJ}, publisher = {Erlbaum}, @@ -1233,6 +1238,22 @@ originalpublisher = {Wiley} } +@incollection{ex40-t1, + author = {Browne, M[ichael] W.}, + year = {1977}, + title = {Generalized Least Squares Estimators in the Analysis + of Covariance Structures}, + editor = {Aigner, D[ennis] J. and Goldberger, A[rthur] S.}, + booktitle = {Latent Variables in Socio-Economic Models}, + pages = {205--226}, + address = {Amsterdam}, + publisher = {North Holland}, + originalyear = {1974}, + originaljournal = {South African Statistical Journal}, + originalvolume = {8}, + originalpages = {1--24}, +} + @techreport{C-1, author = {Mazzeo, J. and Druesne, B. and Raffeld, P. C. and Checketts, K. T. and Muhlstein, A.}, @@ -1264,19 +1285,19 @@ type = {\bibnotype}, address = {Lincoln}, institution = {University of Nebraska}, - note = {NTIS No.{} PB~91-154~377/AS} + note = {NTIS No.\hbox{} PB~91-154~377/AS} } @techreport{ex43, author = {Mead, J. V.}, year = {1992}, - title = {Looking at Old Photographs: {I}nvestigating the Teacher + title = {Looking at Old Photographs: Investigating the Teacher Tales that Novice Teachers Bring with Them}, type = {Report}, number = {NCRTL-RR-92-4}, address = {East Lansing, MI}, institution = {National Center for Research on Teacher Learning}, - note = {ERIC Document Reproduction Service No.{} ED346082} + note = {ERIC Document Reproduction Service No.\hbox{} ED346082} } @techreport{ex44, @@ -1285,17 +1306,18 @@ firstkey = {{U.S. Department of Health and Human Services [DHHS]}}, key = {{DHHS}}, year = {1992}, - title = {Pressure Ulcers in Adults: {P}rediction and Prevention}, + title = {Pressure Ulcers in Adults: Prediction and Prevention}, type = {AHCPR Publication}, number = {92-0047}, address = {Rockville, MD}, - institution = {Author} + institution = {{\bibcorporate{U.S. Department of Health and + Human Services}}} } @intechreport{ex45, author = {Matthews, K. A.}, year = {1985}, - title = {Assessment of {T}ype~{A} Behavior, Anger, and Hostility + title = {Assessment of {Type}~{A} Behavior, Anger, and Hostility in Epidemiologic Studies of Cardiovascular Disease}, editor = {Ostfield, A. M. and Eaker, E. D.}, booktitle = {Measuring Psychological Variables in Epidemiologic Studies @@ -1319,8 +1341,8 @@ @techreport{ex47, editor = {Shuker, R. and Openshaw, R. and Soler, J.}, year = {1990}, - title = {Youth, Media, and Moral Panic in {N}ew {Z}ealand: - {F}rom Hooligans to Video Nasties}, + title = {Youth, Media, and Moral Panic in {New} {Zealand}: + From Hooligans to Video Nasties}, type = {Delta Research Monograph}, number = {11}, address = {Palmerston North, New Zealand}, @@ -1338,17 +1360,17 @@ type = {Issue Brief}, number = {123}, address = {Washington, DC}, - institution = {Author} + institution = {{\bibcorporate{Employee Benefit Research Institute}}} } @incollection{ex49, author = {Deci, E. L. and Ryan, R. M.}, year = {1991}, title = {A Motivational Approach to Self: - {I}ntegration in Personality}, + Integration in Personality}, editor = {Dienstbier, R.}, - booktitle = {Nebraska {S}ymposium on {M}otivation: {V}ol.~38. - {P}erspectives on Motivation}, + booktitle = {Nebraska {Symposium} on {Motivation}: Vol.~38. + {Perspectives} on Motivation}, pages = {237--288}, address = {Lincoln}, publisher = {University of Nebraska Press} @@ -1373,47 +1395,48 @@ chair = {Rosenthal, T. L.}, symposium = {Reducing Medication in Geriatric Populations}, howpublished = {Symposium conducted at the meeting of the First - International Congress of Behavioral Medicine, - Uppsala, Sweden} + International Congress of Behavioral Medicine}, + address = {Uppsala, Sweden} } @lecture{ex52, author = {Lanktree, C. and Briere, J.}, year = {1991}, month = jan, - title = {Early Data on the {T}rauma {S}ymptom {C}hecklist - for {C}hildren ({TSC-C})}, + title = {Early Data on the {Trauma} {Symptom} {Checklist} + for {Children} ({TSC-C})}, howpublished = {Paper presented at the meeting of the American - Professional Society on the Abuse of Children, - San Diego, CA} + Professional Society on the Abuse of Children}, + address = {San Diego, CA} } @lecture{ex53, author = {Ruby, J. and Fulton, C.}, year = {1993}, month = jun, - title = {Beyond Redlining: {E}diting Software that Works}, + title = {Beyond Redlining: Editing Software that Works}, howpublished = {Poster session presented at the annual meeting of the - Society for Scholarly Publishing, Washington, DC} + Society for Scholarly Publishing}, + address = {Washington, DC} } @phdthesis{ex54, author = {Bower, D. L.}, year = {1993}, title = {Employee Assistant Programs Supervisory Referrals: - {C}haracteristics of Referring and Nonreferring + Characteristics of Referring and Nonreferring Supervisors}, journal = {Dissertation Abstracts International}, volume = {54}, number = {01}, pages = {534B}, - note = {UMI No.{} 9315947} + note = {UMI No.~9315947} } @phdthesis{ex55, author = {Ross, D. F.}, year = {1990}, - title = {Unconscious Transference and Mistaken Identity: {W}hen + title = {Unconscious Transference and Mistaken Identity: When a Witness Misidentifies a Familiar but Innocent Person from a Lineup}, school = {Cornell University}, @@ -1426,7 +1449,7 @@ @phdthesis{ex56, author = {Wilfley, D. E.}, year = {1989}, - title = {Interpersonal Analyses of Bulimia: {N}ormalweight + title = {Interpersonal Analyses of Bulimia: Normalweight and Obese}, school = {University of Missouri}, address = {Columbia} @@ -1435,8 +1458,8 @@ @mastersthesis{ex57, author = {Almeida, D. M.}, year = {1990}, - title = {Fathers' Participation in Family Work: {C}onsequences - for Fathers' Stress and Father-Child Relations}, + title = {Fathers' Participation in Family Work: Consequences + for Fathers' Stress and Father--Child Relations}, school = {University of Victoria}, address = {Victoria, British Columbia, Canada} } @@ -1452,7 +1475,7 @@ @unpublished{ex59, author = {D{\'{e}}pret, E. F. and Fiske, S. T.}, year = {1993}, - title = {Perceiving the Powerful: {I}ntriguing Individuals Versus + title = {Perceiving the Powerful: Intriguing Individuals Versus Threatening Groups}, howpublished = {Unpublished manuscript}, organization = {University of Massachusetts at Amherst} @@ -1476,8 +1499,8 @@ @misc{ex62, editor = {Klombers, N.}, year = {1993}, - month = {Spring}, - title = {{ADAA} {R}eporter}, + month = spring, + title = {{ADAA} {Reporter}}, note = {Available from the Anxiety Disorders Association of America, 6000 Executive Boulevard, Suite 513, Rockville, MD 20852} @@ -1508,7 +1531,7 @@ @article{ex64, author = {Kraus, S. J.}, year = {1992}, - title = {Visions of Psychology: {A} Videotext of Classic Studies}, + title = {Visions of Psychology: A Videotext of Classic Studies}, type = {Review of the motion picture {\APACcitebtitle{Discovering Psychology}}}, journal = {Contemporary Psychology}, @@ -1517,8 +1540,9 @@ } @misc{ex65-1, - author = {Scorsese, M. {\bibliteral{(Producer)}\protect\bibskipbracenodot} - and Lonergan, K. {\bibliteral{(Writer/Director)}}}, + author = {Scorsese, M. {\protect\bibliteral{(Producer)}\protect\bibskipbracenodot} + and Lonergan, K. + {\protect\bibliteral{(Writer/Director)}\protect\indexskipbracenodot}}, year = {2000}, title = {You Can Count On Me}, type = {Motion picture}, @@ -1527,10 +1551,11 @@ } @misc{ex65-2, - author = {Harrison, J. {\bibliteral{(Producer)}\protect\bibskipbracenodot} - and Schmiechen, R. {\bibliteral{(Director)}}}, + author = {Harrison, J. {\protect\bibliteral{(Producer)}\protect\bibskipbracenodot} + and Schmiechen, R. + {\protect\bibliteral{(Director)}\protect\indexskipbracenodot}}, year = {1992}, - title = {Changing Our Minds: {T}he Story of {E}velyn {H}ooker}, + title = {Changing Our Minds: The Story of {Evelyn} {Hooker}}, type = {Motion picture}, note = {Available from Changing Our Minds, Inc., 170 West End Avenue, Suite 25R, New York, NY 10023} @@ -1542,25 +1567,26 @@ key = {{APA}}, year = {2000}, title = {Responding Therapeutically to Patient Expressions of - Sexual Attraction: {A} Stimulus Training Tape}, + Sexual Attraction: A Stimulus Training Tape}, type = {Motion picture}, note = {Available from the American Psychological Association, 750 First Street, NE, Washington, DC 20002-4242} } @misc{ex66, - author = {Crystal, L. {\bibliteral{(Executive Producer)}}}, + author = {Crystal, L. {\protect\bibliteral{(Executive + Producer)}\protect\indexskipbracenodot}}, year = {1993}, month = oct, day = {11}, - title = {The {M}ac{N}eil/{L}ehrer News Hour}, + title = {The {MacNeil}/{Lehrer} News Hour}, type = {Television broadcast}, address = {New York and Washington, DC}, publisher = {Public Broadcasting Service} } @misc{ex67, - editor = {Miller, {\bibliteral{R\protect\bibeditortype{Producer}}}}, + editor = {Miller, {\bibinitial{R\bibeditortype{Producer}}}}, year = {1989}, title = {The Mind}, type = {Television series}, @@ -1569,8 +1595,9 @@ } @incollection{ex68, - author = {Hall, B. {\bibliteral{(Writer)}\protect\bibskipbracenodot} - and Bender, J. {\bibliteral{(Director)}}}, + author = {Hall, B. {\protect\bibliteral{(Writer)}\protect\bibskipbracenodot} + and Bender, J. + {\protect\bibliteral{(Director)}\protect\indexskipbracenodot}}, year = {1991}, title = {The Rules of the Game}, type = {Television series episode}, @@ -1605,7 +1632,7 @@ } @misc{ex70, - author = {Costa, Jr. {\bibliteral{(Speaker)}}, P. T.}, + author = {Costa, Jr.\hbox{} {\protect\bibliteral{(Speaker)}}, P. T.}, year = {1988}, title = {Personality, Continuity, and Changes of Adult Life}, type = {Cassette Recording}, @@ -1626,102 +1653,100 @@ } @article{ex71-2, - author = {VandenBos, G. and Knapp, S. and Doe, J.}, - year = {2001}, - title = {Role of Reference Elements in the Selection of Resources - by Psychology Undergraduates}, - journal = {Journal of Bibliographic Research}, - volume = {5}, - pages = {117--123}, - howpublished = {Retrieved October 13, 2001, from - \url{http://jbr.org/articles.html}\bibnodot{.}} + author = {VandenBos, G. and Knapp, S. and Doe, J.}, + year = {2001}, + title = {Role of Reference Elements in the Selection of Resources + by Psychology Undergraduates}, + journal = {Journal of Bibliographic Research}, + volume = {5}, + pages = {117--123}, + lastchecked = {October 13, 2001}, + url = {http://jbr.org/articles.html} } @article{ex72, - author = {Fredrickson, B. L.}, - year = {2000}, - month = mar, - day = {7}, - title = {Cultivating Positive Emotions to Optimize Health - and Well-Being}, - journal = {Prevention \& Treatment}, - volume = {3}, - pages = {Article 0001a}, - howpublished = {Retrieved November 20, 2000, from - \url{http://journals.apa.org/prevention/volume3/ - pre0030001a.html}\bibnodot{.}} + author = {Fredrickson, B. L.}, + year = {2000}, + month = mar, + day = {7}, + title = {Cultivating Positive Emotions to Optimize Health + and Well-Being}, + journal = {Prevention \& Treatment}, + volume = {3}, + pages = {Article 0001a}, + lastchecked = {November 20, 2000}, + url = {http://journals.apa.org/prevention/volume3/pre0030001a.html} } @article{ex73, - author = {Crow, T. J.}, - year = {2000}, - title = {Did \emph{Homo} {\emph{Sapiens}} Speciate on the - {\emph{Y}} Chromosome?}, - journal = {Psycoloquy}, - volume = {11}, - howpublished = {Retrieved March 25, 2001, from - \url{ftp://ftp.princeton.edu/harnad/Psycoloquy/2000.volume.11/ - psyc.00.11.001.language-sex-chromosomes.1.crow}\bibnodot{.}} + author = {Crow, T. J.}, + year = {2000}, + title = {Did \emph{Homo} {\emph{Sapiens}} Speciate on the + {\emph{Y}} Chromosome?}, + journal = {Psycoloquy}, + volume = {11}, + lastchecked = {March 25, 2001}, + url = {ftp://ftp.princeton.edu/harnad/Psycoloquy/ + 2000.volume.11/psyc.00.11.001. + language-sex-chromosomes.1.crow} } @article{ex74, - author = {Glueckauf, R. L. and Whitton, J. and Baxter, J. and Kain, J. - and Vogelgesang, S. and Hudson, M. and others}, - year = {1998}, - month = jul, - title = {Videocounseling for Families of Rural Teens with - Epilepsy---{P}roject Update}, - journal = {Telehealth News}, - volume = {2}, - number = {2}, - howpublished = {Retrieved June 6, 2000, from - \url{http://www.telehealth.net/subscribe/newslettr_4a.html#1}\bibnodot{.}} + author = {Glueckauf, R. L. and Whitton, J. and Baxter, J. and Kain, J. + and Vogelgesang, S. and Hudson, M. and others}, + year = {1998}, + month = jul, + title = {Videocounseling for Families of Rural Teens with + Epilepsy---{P}roject Update}, + journal = {Telehealth News}, + volume = {2}, + number = {2}, + lastchecked = {June 6, 2000}, + url = {http://www.telehealth.net/subscribe/newslettr_4a.html#1} } @misc{ex75, - author = {{\bibcorporate{Greater New Milford (Ct) Area Healthy - Community 2000, - Task Force on Teen and Adolescent Issues}}}, - firstkey = {{Greater New Milford (Ct) Area Healthy Community 2000, - Task Force on Teen and Adolescent Issues [TFTAI]}}, - key = {{TFTAI}}, - year = {\bibnodate}, - title = {Who Has Time for a Family Meal? {Y}ou Do!}, - howpublished = {Retrieved October 5, 2000, from - \url{http://www.familymealtime.org}\bibnodot{.}} + author = {{\bibcorporate{Greater New Milford (Ct) Area Healthy + Community 2000, + Task Force on Teen and Adolescent Issues}}}, + firstkey = {{Greater New Milford (Ct) Area Healthy Community 2000, + Task Force on Teen and Adolescent Issues [TFTAI]}}, + key = {{TFTAI}}, + year = {\bibnodate}, + title = {Who Has Time for a Family Meal? {You} Do!}, + lastchecked = {October 5, 2000}, + url = {http://www.familymealtime.org} } @incollection{ex76, - author = {{\bibcorporate{Benton Foundation}}}, - year = {1998}, - month = jul, - day = {7}, - title = {Barriers to Closing the Gap}, - booktitle = {Losing Ground Bit by Bit: {L}ow-Income Communities in the - Information Age}, - chapter = {2}, - howpublished = {Retrieved August 18, 2001, from - \url{http://www.benton.org/Library/Low-Income/ - two.html}\bibnodot{.}} + author = {{\bibcorporate{Benton Foundation}}}, + year = {1998}, + month = jul, + day = {7}, + title = {Barriers to Closing the Gap}, + booktitle = {Losing Ground Bit by Bit: Low-Income Communities in the + Information Age}, + chapter = {2}, + lastchecked = {August 18, 2001}, + url = {http://www.benton.org/Library/Low-Income/two.html}, } @misc{ex77, - year = {\bibnodate}, - title = {{GVU}'s 8th {WWW} User Survey}, - howpublished = {Retrieved August 8, 2000, from - \url{http://www.cc.gatech.edu/gvu/user_surveys/ - survey-1997-10/}\bibnodot{.}} + year = {\bibnodate}, + title = {{GVU}'s 8th {WWW} User Survey}, + lastchecked = {August 8, 2000}, + url = {http://www.cc.gatech.edu/gvu/user_surveys/survey-1997-10/} } @misc{ex78, author = {Chou, L. and McClintock, R. and Moretti, F. and Nix, D. H.}, year = {1993}, - title = {Technology and Education: {N}ew Wine in New Bottles: - {C}hoosing Pasts and Imagining Educational Futures}, + title = {Technology and Education: New Wine in New Bottles: + Choosing Pasts and Imagining Educational Futures}, howpublished = {Retrieved August 24, 2000, from Columbia University, Institute for Learning Technologies Web site: - \url{http://www.ilt.columbia.edu/publications/papers/ - newwine1.html}\bibnodot{.}} + \url{http://www.ilt.columbia.edu/ + publications/papers/newwine1.html}\bibnodot{.}} } @misc{ex79, @@ -1739,26 +1764,26 @@ } @misc{ex80, - author = {{\bibcorporate{United States Sentencing Commission}}}, - firstkey = {{United States Sentencing Commission [USSC]}}, - key = {{USSC}}, - year = {\bibnodate}, - title = {{\APACSortNoop{Nineteen Ninety-Seven}}1997 Sourcebook of - Federal Sentencing Statistics}, - howpublished = {Retrieved December 8, 1999, from - \url{http://www.ussc.gov/annrpt/1997/sbtoc97.htm}\bibnodot{.}} + author = {{\bibcorporate{United States Sentencing Commission}}}, + firstkey = {{United States Sentencing Commission [USSC]}}, + key = {{USSC}}, + year = {\bibnodate}, + title = {{\APACSortNoop{Nineteen Ninety-Seven}}1997 Sourcebook of + Federal Sentencing Statistics}, + lastchecked = {December 8, 1999}, + url = {http://www.ussc.gov/annrpt/1997/sbtoc97.htm} } @misc{ex81, - author = {{\bibcorporate{Canarie, Inc.}}}, - year = {1997}, - month = sep, - day = {27}, - title = {Towards a {C}anadian Health {IWAY}: {V}ision, Opportunities - and Future Steps}, - howpublished = {Retrieved November 8, 2000, from - \url{http://www.canarie.ca/press/publications/pdf/health/ - healthvision.doc}\bibnodot{.}} + author = {{\bibcorporate{Canarie, Inc.}}}, + year = {1997}, + month = sep, + day = {27}, + title = {Towards a {Canadian} Health {IWAY}: Vision, Opportunities + and Future Steps}, + lastchecked = {November 8, 2000}, + url = {http://www.canarie.ca/press/publications/pdf/ + health/healthvision.doc} } @techreport{ex82, @@ -1766,10 +1791,9 @@ year = {1995}, title = {Extensions to the Delta Rule of Associative Learning}, type = {Indiana University Cognitive Science Research Report}, - number = {14}, - howpublished = {Abstract retrieved October 21, 2000, from - \url{http://www.indiana.edu/~kruschke/ - deltarule_abstract.html}\bibnodot{.}} + number = {14\BmakeAbstractRetrieved}, + lastchecked = {October 21, 2000}, + url = {http://www.indiana.edu/~kruschke/deltarule_abstract.html}, } @lecture{ex83, @@ -1780,19 +1804,19 @@ title = {Two-Handed Direct Manipulation on the Responsive Workbench}, howpublished = {Paper presented at the 1997 Symposium on Interactive 3D - Graphics. Abstract retrieved June 12, 2000, from - \url{http://www.graphics.stanford.edu/papers/ - twohanded/}\bibnodot{.}} + Graphics\BmakeAbstractRetrieved}, + lastchecked = {June 12, 2000}, + url = {http://www.graphics.stanford.edu/papers/twohanded/}, } @lecture{ex84, author = {Tan, G. and Lewandowsky, S.}, year = {1996}, title = {A Comparison of Operator Trust in Humans Versus Machines}, - howpublished = {Paper presented at the CybErg 96 virtual conference. - Retrieved May 16, 2000, from - \url{http://www.curtin.edu.au/conference/cyberg/centre/ - outline.cgi/frame?dir=tan}\bibnodot{.}} + howpublished = {Paper presented at the CybErg 96 virtual conference}, + lastchecked = {May 16, 2000}, + url = {http://www.curtin.edu.au/conference/cyberg/ + centre/outline.cgi/frame?dir=tan}, } @misc{ex85, @@ -1803,8 +1827,7 @@ title = {Seeing with Sound}, type = {\bibmessage}, number = {1}, - howpublished = {Message posted to - \url{news://sci.psychology.consciousness}\bibnodot{.}} + url = {news://sci.psychology.consciousness} } @misc{ex86, @@ -1815,9 +1838,7 @@ title = {News Resources for Visual Cognition}, type = {\bibmessage}, number = {31}, - howpublished = {Message posted to - \url{http://groups.yahoo.com/group/visualcognition/message/ - 31}\bibnodot{.}} + url = {http://groups.yahoo.com/group/visualcognition/message/31} } @misc{ex87, @@ -1825,12 +1846,11 @@ year = {2000}, month = nov, day = {20}, - title = {{YAHC}: {H}andle {P}arameters, {DOI} {G}enres, etc.}, + title = {{YAHC}: {Handle} {Parameters}, {DOI} {Genres}, etc.}, type = {\bibmessage}, howpublished = {Message posted to Ref-Links electronic mailing list, - archived at - \url{http://www.doi.org/mail-archive/ref-link/ - msg00088.html}\bibnodot{.}} + archived at \url{http://www.doi.org/mail-archive/ + ref-link/msg00088.html}\bibnodot{.}} } @article{ex88, @@ -1841,24 +1861,24 @@ journal = {Journal of Applied Psychology}, volume = {78}, pages = {443--449}, - howpublished = {Retrieved October 23, 2000, from PsycARTICLES database} + howpublished = {Retrieved October 23, 2000, from the PsycARTICLES database} } @newspaper{ex89, - author = {Hilts, P. J.}, - year = {1999}, - month = feb, - day = {16}, - title = {In Forecasting Their Emotions, Most People Flunk Out}, - journal = {New York Times}, - howpublished = {Retrieved November 21, 2000, from - \url{http://www.nytimes.com}\bibnodot{.}} + author = {Hilts, P. J.}, + year = {1999}, + month = feb, + day = {16}, + title = {In Forecasting Their Emotions, Most People Flunk Out}, + journal = {New York Times}, + lastchecked = {November 21, 2000}, + url = {http://www.nytimes.com} } @article{ex90, author = {Fournier, M. and {\lowercase{D}}e Ridder, D. and Bensing, J.}, year = {1999}, - title = {Optimism and Adaptation to Multiple Sclerosis: {W}hat Does + title = {Optimism and Adaptation to Multiple Sclerosis: What Does Optimism Mean?}, journal = {Journal of Behavioral Medicine}, volume = {22}, @@ -1870,39 +1890,48 @@ author = {{\bibcorporate{U.S. General Accounting Office}}}, year = {1997}, month = feb, - title = {Telemedicine: {F}ederal Strategy is Needed to Guide Investments}, + title = {Telemedicine: Federal Strategy is Needed to Guide Investments}, type = {Publication}, number = {GAO/NSAID/HEHS-97-67}, howpublished = {Retrieved September 15, 2000, from General Accounting Office Reports Online via GPO Access: - \url{http://www.access.gpo.gov/su_docs/aces/aces160.shtml?/ - gao/index.html}\bibnodot{.}} + \url{http://www.access.gpo.gov/su_docs/aces/ + aces160.shtml?/gao/index.html}\bibnodot{.}} } @misc{ex92, author = {Miller, M. E.}, year = {1993}, - title = {The {I}nteractive {T}ester ({V}ersion~4.0)}, + title = {The {Interactive} {Tester}}, + edition = {Version~4.0\noedition\ignorespaces}, type = {\bibcomputersoftware}, address = {Westminster, CA}, publisher = {Psytek Services} } @misc{ex93, - author = {Schwarzer, R.}, - year = {1989}, - title = {Statistics Software for Meta-Analysis}, - type = {\bibcomputersoftwareandmanual}, - howpublished = {Retrieved from - \url{http://www.yorku.ca/faculty/academic/schwarze/ - meta_e.htm}\bibnodot{.}} + author = {Schwarzer, R.}, + year = {1989}, + title = {Statistics Software for Meta-Analysis}, + type = {\bibcomputersoftwareandmanual}, + lastchecked = {March 23, 2001}, + url = {http://www.yorku.ca/faculty/academic/schwarze/meta_e.htm} +} + +@manual{ex93-t1, + author = {{\bibcorporate{R Development Core Team}}}, + year = {2004}, + title = {R: A Language and Environment for Statistical Computing}, + address = {Vienna, Austria}, + publisher = {R Foundation for Statistical Computing}, + url = {http://www.r-project.org} } @misc{ex94, key = {{\APACcitebtitle{National Health Interview Survey}}}, - title = {National {H}ealth {I}nterview {S}urvey---{C}urrent Health - Topics: 1991---{L}ongitudinal Study of Aging - {\upshape(\uppercase{V}ersion~4)}}, + title = {National {Health} {Interview} {Survey}---{Current} Health + Topics: 1991---{Longitudinal} Study of Aging}, + edition = {Version~4\noedition\ignorespaces}, type = {Data file}, year = {\bibnodate}, address = {Hyattsville, MD}, @@ -1916,7 +1945,7 @@ National Center for Health Statistics [DHHS-NCHS]}}, key = {{DHHS-NCHS}}, year = {1991}, - title = {National {H}ealth {P}rovider {I}nventory: {H}ome Health + title = {National {Health} {Provider} {Inventory}: Home Health Agencies and Hospices, 1991}, type = {Data file}, howpublished = {Available from National Technical Information Service @@ -1924,23 +1953,17 @@ } -@string{comment = { -% -% Additional references. -% -}} - @book{APAManual3, author = {{\bibcorporate{American Psychological Association}}}, firstkey = {{American Psychological Association [APA]}}, key = {{APA}}, year = {1984}, - title = {Publication Manual of the {A}merican {P}sychological - {A}ssociation}, - edition = {3rd}, + title = {Publication Manual of the {American} {Psychological} + {Association}}, + edition = {3}, address = {Washington, DC}, - publisher = {Author}, - note = {with revisions} + publisher = {{\bibcorporate{American Psychological Association}}}, + note = {with revisions}, } @book{APAManual, @@ -1948,40 +1971,47 @@ firstkey = {{American Psychological Association [APA]}}, key = {{APA}}, year = {2001}, - title = {Publication Manual of the {A}merican {P}sychological - {A}ssociation}, - edition = {5th}, + title = {Publication Manual of the {American} {Psychological} + {Association}}, + edition = {5}, address = {Washington, DC}, - publisher = {Author} + publisher = {{\bibcorporate{American Psychological Association}}}, } -@book{TeXbook, - author = {Knuth, Donald E.}, - year = {1986}, - title = {The {\APACSortNoop{TeX}}{\TeX}book}, - address = {Reading, MA}, - publisher = {Addison Wesley}, - note = {Reprinted with corrections September, 1993. Therefore, - the year should officially be 1986/1993 I guess, but - the corrections are presumably very minor.} +@book{chicago, + title = {The {Chicago} Manual of Style}, + edition = {15}, + year = {2003}, + address = {Chicago}, + publisher = {The University of Chicago Press}, } @book{LaTeXbook, author = {Lamport, Leslie}, year = {1994}, - title = {{\APACSortNoop{LaTeX}}{\LaTeX}: {A} Document Preparation System. - {U}ser's Guide and Reference Manual}, - edition = {2nd}, + title = {{\APACSortNoop{LaTeX}}{\LaTeX}: A Document Preparation System. + {User}'s Guide and Reference Manual}, + edition = {2}, address = {Reading, MA}, - publisher = {Addison-Wesley} + publisher = {Addison-Wesley}, } -@book{LaTeXcomp, - author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander}, - year = {1994}, +@book{KoDa04, + author = {Kopka, Helmut and Daly, Patrick W.}, + year = {2004}, + title = {Guide To {\APACSortNoop{LaTeX}}{\LaTeX}}, + edition = {4}, + address = {Boston, MA}, + publisher = {Addison-Wesley}, +} + +@book{TLC2, + author = {Mittelbach, Frank and Goossens, Michel}, + year = {2004}, title = {The {\APACSortNoop{LaTeX}}{\LaTeX} Companion}, - address = {Reading, MA}, - publisher = {Addison-Wesley} + edition = {2}, + address = {Boston, MA}, + publisher = {Addison-Wesley}, } @book{meijer1998, @@ -1989,7 +2019,7 @@ year = {1998}, title = {Structural Equation Models for Nonnormal Data}, address = {Leiden, The Netherlands}, - publisher = {DSWO Press} + publisher = {DSWO Press}, } @book{WaMe00, @@ -1997,7 +2027,7 @@ year = {2000}, title = {Measurement Error and Latent Variables in Econometrics}, address = {Amsterdam}, - publisher = {North-Holland} + publisher = {North-Holland}, } @unpublished{APA-3rd-ed-ex53, @@ -2008,6 +2038,9 @@ howpublished = {Unpublished manuscript}, organization = {Johns Hopkins University, Center for Social Organization of Schools}, - address = {Baltimore} + address = {Baltimore}, } +%% +%% +%% End of file `apa5ex.bib'. diff --git a/Master/texmf-dist/bibtex/bst/apacite/apacite.bst b/Master/texmf-dist/bibtex/bst/apacite/apacite.bst index 0097506a45e..8b416318614 100644 --- a/Master/texmf-dist/bibtex/bst/apacite/apacite.bst +++ b/Master/texmf-dist/bibtex/bst/apacite/apacite.bst @@ -1,33 +1,60 @@ -% \iffalse meta-comment -% -% This is file `apacite.bst'. -% -% Copyright 1994-2005 Erik Meijer and any individual authors listed -% elsewhere in this file. All rights reserved. -% -% This file is part of the `apacite' package. -% ------------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% The list of all files belonging to the `apacite' package, with a -% short description, is given in the file `manifest.txt'. -% -% \fi +%% +%% This is file `apacite.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% apacite.dtx (with options: `bibstyle') +%% +%% This is a generated file. +%% +%% Copyright (C) 1994-2007 Erik Meijer and any individual authors listed +%% elsewhere in this file. +%% +%% This file is part of the `apacite' package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% The `apacite' package consists of the files apacite.dtx and +%% apacite.ins, and the following generated files: +%% apacite.sty, apacite.bst, apacitex.bst, apa5ex.bib, +%% apacite.drv, apacdoc.sty, +%% english.apc, dutch.apc, finnish.apc, german.apc, ngerman.apc, +%% greek.apc, norsk.apc, spanish.apc, swedish.apc. +%% +%% This work has the LPPL maintenance status `maintained' +%% +%% The Current Maintainer of this work is Erik Meijer +%% +%% This file may only be distributed together with a copy of the +%% source files of the apacite package, i.e., apacite.dtx and +%% apacite.ins. You may however distribute the apacite package without +%% the generated files. +%% +%% apacite.bst +%% [2007/09/03 v4.00 APA bibliography style] + %% apacite.bst : reference list according to APA manual -%% Written by Erik Meijer <e.meijer@eco.rug.nl> -%% This version: [2005/06/08] +%% Written by Erik Meijer + +FUNCTION {identify.apacite.version} +{ % Put identifying string in the .blg file + "apacite.bst" + " [2007/09/03 v4.00 APA bibliography style]" + * top$ +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DECLARATION OF FIELDS, INTEGERS, AND STRINGS FOR EACH % -% ENTRY % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENTRY @@ -47,6 +74,7 @@ ENTRY journal key % key for second and later citations, or all % citations if firstkey is missing + lastchecked % for URL's month note number % number of journal or report @@ -78,6 +106,7 @@ ENTRY type % type of phdthesis (e.g., Doctoral dissertation) % or type of article (e.g., Letter to the editor) % etc. + url volume year } @@ -96,16 +125,17 @@ ENTRY % should be cited and whether a, b, etc. % after year is necessary title.sort.label % for sorting titles + type.2 % Replacement for type with misc entries and + % entries that revert to misc. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DECLARATION OF GLOBAL INTEGERS AND STRINGS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INTEGERS { len pos name.max old.number numnames numnames.old nameptr lastname format.num.names cite.initials.old cite.num.names.old add.to.year.old forward - multiresult dot + multiresult dot brace.level } STRINGS { s t u old.label field @@ -119,66 +149,53 @@ STRINGS { s t u old.label field } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% A small function for testing purposes. FUNCTION {test} { #0 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% A small function (ideally replaced by a user-definable -% MACRO) that indicates whether index entries must be -% generated. FUNCTION {make.index} { #0 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% MONTH MACROS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -MACRO {jan} {"{\APACSortNoop{01}}January"} -MACRO {feb} {"{\APACSortNoop{02}}February"} +MACRO {jan} {"{\APACmonth{01}}"} + +MACRO {feb} {"{\APACmonth{02}}"} + +MACRO {mar} {"{\APACmonth{03}}"} + +MACRO {apr} {"{\APACmonth{04}}"} + +MACRO {may} {"{\APACmonth{05}}"} + +MACRO {jun} {"{\APACmonth{06}}"} -MACRO {mar} {"{\APACSortNoop{03}}March"} +MACRO {jul} {"{\APACmonth{07}}"} -MACRO {apr} {"{\APACSortNoop{04}}April"} +MACRO {aug} {"{\APACmonth{08}}"} -MACRO {may} {"{\APACSortNoop{05}}May"} +MACRO {sep} {"{\APACmonth{09}}"} -MACRO {jun} {"{\APACSortNoop{06}}June"} +MACRO {oct} {"{\APACmonth{10}}"} -MACRO {jul} {"{\APACSortNoop{07}}July"} +MACRO {nov} {"{\APACmonth{11}}"} -MACRO {aug} {"{\APACSortNoop{08}}August"} +MACRO {dec} {"{\APACmonth{12}}"} -MACRO {sep} {"{\APACSortNoop{09}}September"} +MACRO {winter} {"{\APACmonth{13}}"} -MACRO {oct} {"{\APACSortNoop{10}}October"} +MACRO {spring} {"{\APACmonth{14}}"} -MACRO {nov} {"{\APACSortNoop{11}}November"} +MACRO {summer} {"{\APACmonth{15}}"} -MACRO {dec} {"{\APACSortNoop{12}}December"} +MACRO {fall} {"{\APACmonth{16}}"} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% LOGICAL `NOT', `AND', AND `OR' % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'not': -% If the first element on the stack is A then this function -% does the following: -% push { #0 } -% push { #1 } -% So now the first 3 elements of the stack are -% { #1 } { #0 } A -% The first 3 are popped and subjected to 'if': -% If A > 0 then { #0 } is executed, else { #1 } is executed: -% if A > 0 -% then 0 -% else 1 -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then false else true) -% which is a logical 'not'. FUNCTION {not} { { #0 } @@ -187,23 +204,6 @@ FUNCTION {not} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'and': -% If the first 2 elements on the stack are A B -% then this function does the following: -% push 'skip$ -% push { pop$ #0 } -% So now first 4 elements are -% { pop$ #0 } 'skip$ A B -% The first 3 are popped and subjected to 'if' (B is on top of -% the stack): -% If A > 0 then 'skip$ is executed, else { pop$ #0 } is executed: -% if A > 0 -% then (B stays on top of stack) -% else (B is popped and #0 is pushed) -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then B else false) -% which is a logical 'and'. FUNCTION {and} { 'skip$ @@ -212,23 +212,6 @@ FUNCTION {and} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'or': -% If the first 2 elements on the stack are A B -% then this function does the following: -% push { pop$ #1 } -% push 'skip$ -% So now first 4 elements are -% 'skip$ { pop$ #1 } A B -% The first 3 are popped and subjected to 'if' (B is on top of -% the stack): -% If A > 0 then { pop$ #1 } is executed, else 'skip$ is executed: -% if A > 0 -% then (B is popped and #1 is pushed) -% else (B stays on top of stack) -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then true else B) -% which is a logical 'or'. FUNCTION {or} { { pop$ #1 } @@ -236,9 +219,7 @@ FUNCTION {or} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% GENERAL PURPOSE FUNCTIONS FOR FORMATTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -255,27 +236,19 @@ FUNCTION {warning.if.empty} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % issues warning if title, type, and howpublished are empty % FUNCTION {check.relevant.fields} -{ title empty$ - type empty$ - howpublished empty$ - and - and +{ title empty$ + type empty$ and + howpublished empty$ and { "No title, type, and howpublished in " cite$ * warning$ } 'skip$ if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % delivers 1 if (both editor and translator @@ -299,7 +272,6 @@ FUNCTION {editor.ne.trans} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Convert integer to string, assume that integer < 100,000 FUNCTION {conv.int.to.str} { duplicate$ #10 < @@ -320,12 +292,7 @@ FUNCTION {conv.int.to.str} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Delivers 1 if possibly editor in author position -% 2 if editor not in author position -% 3 if not applicable: use key -% 0 if unknown type FUNCTION {ref.type} { type$ "article" = @@ -354,7 +321,9 @@ FUNCTION {ref.type} type$ "lecture" = type$ "inbook" = type$ "inproceedings" = - type$ "intechreport" = + type$ "conference" = + type$ "intechreport" = + or or or or @@ -373,17 +342,19 @@ FUNCTION {ref.type} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Delivers 1 if title is formatted as an "article"-type, -% 0 otherwise FUNCTION {is.atype} -{ type$ "article" = - type$ "magazine" = - type$ "newspaper" = +{ type$ "article" = + type$ "magazine" = + type$ "newspaper" = type$ "incollection" = type$ "inbook" = type$ "inproceedings" = - type$ "intechreport" = + type$ "conference" = + type$ "intechreport" = + type$ "manual" = + or + or or or or @@ -400,8 +371,7 @@ FUNCTION {is.atype} and { #1 } { type$ "misc" = - type empty$ not - and + type empty$ not and { type "\bibmessage" = type "\bibcomputerprogram" = type "\bibcomputerprogrammanual" = @@ -484,21 +454,18 @@ FUNCTION {connect.check} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % connects two strings with space ("\ ") - % if length of second is 3 or larger, + % if length of second is 4 or larger, % connects them with non-breaking space ("tie", "~") - % if length of second smaller than 3 + % if length of second smaller than 4 % % call with S1 S2 tie.or.space.connect % result: "S1\ S2" or "S1~S2" % FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < +{ duplicate$ text.length$ #4 < { "~" } { "\ " } if$ @@ -538,7 +505,6 @@ FUNCTION {connect.with.semicolon.check} FUNCTION {connect.with.colon.check} { ": " connect.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % connects two strings with space ("\ ") @@ -549,8 +515,6 @@ FUNCTION {connect.with.colon.check} FUNCTION {connect.with.space.check} { "\ " connect.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % encloses string in pre- and postfix string @@ -579,7 +543,6 @@ FUNCTION {emphasize.check} enclose.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % brackets top of stack @@ -642,14 +605,20 @@ FUNCTION {multi.result.check} multiresult } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Checks whether an author is a corporate author, i.e., + % whether the field starts with "{\bibcorporate". + % Call with + % field is.bibcorporate + % +FUNCTION {is.bibcorporate} +{ #1 #14 substring$ "{\bibcorporate" = } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% GENERAL PURPOSE FUNCTIONS FOR SORTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove non-alphanumeric characters -% and change to lower case . FUNCTION {sortify} { purify$ @@ -657,14 +626,6 @@ FUNCTION {sortify} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove spaces from a string. Used for sorting. -% -% Call with -% string remove.spaces -% -% E.g., -% "fine old day" remove.spaces -% gives "fineoldday" . FUNCTION {remove.spaces} { % Remove spaces from string. @@ -696,10 +657,8 @@ FUNCTION {remove.spaces} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% BASIC OUTPUT FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -711,7 +670,6 @@ FUNCTION {output.end.block} newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -720,10 +678,10 @@ FUNCTION {output.end.block} % FUNCTION {output.new.block} { output.end.block - "\newblock{}" write$ + "\newblock" write$ + newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -736,13 +694,11 @@ FUNCTION {output.dot.new.block} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Starting new block assuming that stack is empty. -% Starting a new line and adding some extra space or -% whatever is more defined in \newblock FUNCTION {start.new.block} { newline$ - "\newblock{}" write$ + "\unskip\ " write$ newline$ + "\newblock " write$ newline$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -752,6 +708,7 @@ FUNCTION {start.new.block} % FUNCTION {fin.entry} { output.end.block + "\PrintBackRefs{\CurrentBib}" write$ newline$ test { "\vspace{\baselineskip}" write$ newline$ } 'skip$ @@ -759,27 +716,21 @@ FUNCTION {fin.entry} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FUNCTIONS FOR SORTING BY AUTHOR (OR SUBSTITUTE), YEAR, % -% TITLE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%MACRO {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" } - FUNCTION {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" } FUNCTION {cite.name.format} { "{ll}" } -FUNCTION {cite.initials.name.format} { "{f. }{vv }{ll}{ jj}" } +FUNCTION {cite.initials.name.format} { "{f{\BPBI }.~~}{vv }{ll}{ jj}" } -FUNCTION {author.name.format} { "{ll}{, f.}{ vv}{, jj}" } +FUNCTION {author.name.format} { "{ll}{, f{\BPBI }.}{ vv}{, jj}" } -FUNCTION {editor.name.format} { "{f.~}{vv }{ll}{ jj}" } +FUNCTION {editor.name.format} { "{f{\BPBI }.~~}{vv }{ll}{ jj}" } -FUNCTION {index.name.format} { "{ll}{, f.}{ vv}{, jj}" } +FUNCTION {index.name.format} { "{ll}{, f{\BPBI }.}{ vv}{, jj}" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (1). -% Initialization. FUNCTION {init.initials} { "yyyyy" 'aut1f.old := @@ -788,11 +739,6 @@ FUNCTION {init.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (2). -% Update when author, editor, and key fields are not used. -% -% Call with -% field update.no.initials FUNCTION {update.no.initials} { 'field := @@ -802,7 +748,6 @@ FUNCTION {update.no.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (3). FUNCTION {check.add.initials.aut} { % @@ -832,9 +777,6 @@ FUNCTION {check.add.initials.aut} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (4). -% Call with -% field check.add.initials.field FUNCTION {check.add.initials.field} { 'field := @@ -847,7 +789,6 @@ FUNCTION {check.add.initials.field} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (4). FUNCTION {check.add.initials} { % @@ -907,9 +848,6 @@ FUNCTION {check.add.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute tentative number of names that must be cited (1). -% Call with -% field tentative.cite.num.names.field FUNCTION {tentative.cite.num.names.field} { 'field := @@ -938,7 +876,6 @@ FUNCTION {tentative.cite.num.names.field} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute tentative number of names that must be cited (2). FUNCTION {tentative.cite.num.names} { % @@ -997,8 +934,6 @@ FUNCTION {tentative.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Initialize "number of names to be cited" before -% looping over entries. FUNCTION {init.cite.num.names} { #0 'cite.num.names.old := @@ -1014,7 +949,6 @@ FUNCTION {init.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Update "number of names to be cited" . FUNCTION {update.cite.num.names} { cite.num.names.short 'cite.num.names.old := @@ -1030,10 +964,6 @@ FUNCTION {update.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format (maximally) 6 authors for comparison issues -% to determine number of authors that must be cited. -% It is assumed that the 'field' and 'numnames' variables -% have already been defined. FUNCTION {format.6.authors} { % @@ -1125,9 +1055,6 @@ FUNCTION {format.6.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (1). -% a's or b's are necessary: update add.to.year variable FUNCTION {change.add.to.year} { @@ -1151,12 +1078,6 @@ FUNCTION {change.add.to.year} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (1). -% Current and/or previous entry has 1 or 2 authors -% or editors acting as authors and they are published in the -% same year. The number of authors does not need to be changed -% in this case, but a's or b's may be necessary. FUNCTION {definitive.cite.num.names.1.or.2} { % @@ -1203,13 +1124,7 @@ FUNCTION {definitive.cite.num.names.1.or.2} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (2). -% Both current and previous entries have 3 or more authors -% or editors acting as authors and they are published in the -% same year. FUNCTION {definitive.cite.num.names.3.or.more} { % @@ -1475,18 +1390,7 @@ FUNCTION {definitive.cite.num.names.3.or.more} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (3). -% Current entry has an author or editor acting as author. -% -% Call with -% field definitive.cite.num.names.field -% -% What should we do with explicit "others"? Is now ignored. -% If this causes ambiguity that could be resolved, the user -% should have added additional author names. FUNCTION {definitive.cite.num.names.field} { 'field := @@ -1557,16 +1461,7 @@ FUNCTION {definitive.cite.num.names.field} update.cite.num.names } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited (4) -% and especially whether a's and b's should be added. -% This function is for the situation when author or editor -% are not used and firstkey, key, or something else is -% used to cite the referenced work. -% -% Call with -% formatted.field definitive.cite.no.names FUNCTION {definitive.cite.no.names} { % @@ -1600,7 +1495,6 @@ FUNCTION {definitive.cite.no.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited (5). FUNCTION {definitive.cite.num.names} { % @@ -1647,7 +1541,6 @@ FUNCTION {definitive.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make a tentative year sorting label (without `a' and `b'). FUNCTION {make.tentative.year.sort.label} { % @@ -1679,71 +1572,11 @@ FUNCTION {make.tentative.year.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Give month (converted to number) and day when available. FUNCTION {month.number.day} { month empty$ { "" } - { % -% month jan = -% { "01" } -% { month feb = -% { "02" } -% { month mar = -% { "03" } -% { month apr = -% { "04" } -% { month may = -% { "05" } -% { month jun = -% { "06" } -% { month jul = -% { "07" } -% { month aug = -% { "08" } -% { month sep = -% { "09" } -% { month oct = -% { "10" } -% { month nov = -% { "11" } -% { month dec = -% { "12" } -% { % - % Month is something - % else, e.g., "Spring" - % or jul # "/" # aug. - % Currently too - % difficult to figure - % out: user should - % trick the system. - % - month sortify - remove.spaces -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ + { month sortify remove.spaces % % Add the day when available. day empty$ @@ -1757,12 +1590,6 @@ FUNCTION {month.number.day} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make tentative sort label with names in field on top of -% the stack. -% -% Call with -% field make.name.sort.label -% where 'field' is the field that takes the author-role. FUNCTION {make.name.sort.label} { % @@ -1873,17 +1700,7 @@ FUNCTION {make.name.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey is available or author and -% editor are empty or unusable. -% -% Call with -% field make.field.year.sort.label -% where 'field' is the field that takes the author-role, -% perhaps already subjected to removing articles from the -% beginning. FUNCTION {make.field.year.sort.label} { % @@ -1921,11 +1738,7 @@ FUNCTION {make.field.year.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey are not available and -% author or editor may be used FUNCTION {make.author.editor.sort.label} { author empty$ @@ -1943,9 +1756,6 @@ FUNCTION {make.author.editor.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey are not available and -% author (but not editor) may be used FUNCTION {make.author.sort.label} { author empty$ @@ -1958,10 +1768,7 @@ FUNCTION {make.author.sort.label} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make tentative label for citing and sorting and do some -% preprocessing. FUNCTION {make.tentative.sort.label} { % @@ -2066,15 +1873,7 @@ FUNCTION {make.tentative.sort.label} author.year.sort.label 'sort.key$ := } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make final sort label with names in field on top of -% the stack. -% -% Call with -% field make.definitive.name.sort.label -% -% where 'field' is the field that takes the author-role. FUNCTION {make.definitive.name.sort.label} { % @@ -2097,7 +1896,7 @@ FUNCTION {make.definitive.name.sort.label} { name.max 'format.num.names := } { numnames 'format.num.names := } if$ - % Initialize stack with empty stringh + % Initialize stack with empty string "" % % Cycle over authors. @@ -2126,16 +1925,7 @@ FUNCTION {make.definitive.name.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called to make definitive sort label if author and -% editor are empty or unusable. -% -% Call with -% field make.definitive.field.year.sort.label -% where 'field' is the field that takes the author-role, -% perhaps already subjected to removing articles from the -% beginning. FUNCTION {make.definitive.field.year.sort.label} { % @@ -2168,10 +1958,7 @@ FUNCTION {make.definitive.field.year.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.final.sort.key if author or editor -% may be used. FUNCTION {make.definitive.author.editor.sort.label} { author empty$ @@ -2189,8 +1976,6 @@ FUNCTION {make.definitive.author.editor.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.final.sort.key if author but not editor -% may be used. FUNCTION {make.definitive.author.sort.label} { author empty$ @@ -2203,11 +1988,7 @@ FUNCTION {make.definitive.author.sort.label} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make final sort key . FUNCTION {make.final.sort.key} { % @@ -2260,24 +2041,10 @@ FUNCTION {make.final.sort.key} author.year.sort.label 'sort.key$ := } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FUNCTIONS THAT ALLOW SORTING BY TITLE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove first N characters of string if they are equal to -% teststring . -% -% Call with -% teststring N string chop.word -% -% E.g., -% "A " #2 "A fine old day" chop.word -% gives "fine old day" -% and -% "A " #2 "The fine old day" chop.word -% gives "The fine old day". FUNCTION {chop.word} { 's := @@ -2289,10 +2056,6 @@ FUNCTION {chop.word} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove "a ", "an ", and "the " from beginning of string. -% -% Call with -% string chop.articles FUNCTION {chop.articles} { 's := @@ -2306,12 +2069,6 @@ FUNCTION {chop.articles} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format title and other non-name/date entries for sort key. -% -% Call with -% field format.sort.title -% -% Make sure that field is not empty, this is not checked here! FUNCTION {format.sort.title} { % @@ -2323,7 +2080,6 @@ FUNCTION {format.sort.title} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make title sorting label or substitute. FUNCTION {make.sort.title} { title empty$ @@ -2331,9 +2087,10 @@ FUNCTION {make.sort.title} { type empty$ { howpublished empty$ { note empty$ - { "no title, type, howpublished, or note in " cite$ * - warning$ - " " + { url empty$ + { " " } + { url format.sort.title } + if$ } { note format.sort.title } if$ @@ -2355,7 +2112,6 @@ FUNCTION {make.sort.title} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make title number: rank number of sorted title . FUNCTION {make.title.number} { title.sort.label old.label = @@ -2373,11 +2129,235 @@ FUNCTION {make.title.number} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% CITATION LABELS % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +FUNCTION {last.part.name.format} { "{ll}" } + +FUNCTION {initials.with.space.name.format} { "{f.}" } + +FUNCTION {von.last.junior.name.format} { "{vv }{ll}{ jj}" } + +FUNCTION {von.junior.name.format} { "{ vv}{, jj}" } + +FUNCTION {one.complete.name.format} { "{vv }{ll}{, jj}{, ff}" } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {string.length} +{ #0 'pos := + % If the next character exists, i.e., is not empty, + % add 1 to the string length. + % We cannot use empty$ because " " empty$ is true. + { duplicate$ pos #1 + #1 substring$ "" = not } + { pos #1 + 'pos := } + while$ + pop$ pos +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {transform.spaces.and.hyphens} +{ 's := % The original string + s string.length 'len := % Its length (no. of characters) + "" 't := % Initialize the transformed string + #1 'pos := + #0 'brace.level := + % + % while (pos < len) do + % + { pos len < } + { % First, check whether we are at brace level 0 + brace.level #0 = + { + % At least two characters left: check for ". ", ".~", and ".-". + % If so, replace and shift two positions. + s pos #2 substring$ ". " = + s pos #2 substring$ ".~" = or + { t "\BPBI " * 't := + pos #2 + 'pos := + } + { s pos #2 substring$ ".-" = + { t "\BHBI " * 't := + pos #2 + 'pos := + } + { % neither is true, copy one character and shift one position + t s pos #1 substring$ * 't := + % Check whether we need to increase brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + % Note also that unbalanced braces cause problems. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + 'skip$ + if$ + pos #1 + 'pos := + } + if$ + } + if$ + } + { % Not at brace level 0: copy result literally + t s pos #1 substring$ * 't := + % Check whether we need to increase or decrease brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + { s pos #1 substring$ "}" = + { brace.level #1 - 'brace.level := } + 'skip$ + if$ + } + if$ + pos #1 + 'pos := + } + if$ + } + while$ + % + pos len = + { % Last character, copy + t s pos #1 substring$ * 't := + } + { % pos = len + 1, so s ends with ". " or ".-" + % This should not have happened, but make the best out of it. + % Push last two characters of s on the stack, i.e., ". " or ".-". + s len #1 - #2 substring$ + % Remove "\BPBI " or "\BHBI " from t + t text.length$ 'len := % Length of t (no. of characters) + t #1 len #6 - substring$ + % Concatenate and assign to t + swap$ * 't := + } + if$ + % + % Now push the result back on the stack + t +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.initials.with.hyphen} +{ % Format initials. + % Call with + % field authornumber format.initials.with.hyphen + % e.g. + % author #1 format.initials.with.hyphen + % Instead of field, a string may also be used. + % + % First, format initials in the default way, retaining spaces + % and hyphens. + initials.with.space.name.format format.name$ + transform.spaces.and.hyphens +} + +FUNCTION {format.last.part.name} +{ % Format a name with last.part.name.format, + % as part of more complicated things. + % Call with + % field authornumber format.last.part.name + % e.g. + % author #1 format.last.part.name + % Instead of field, a string may also be used. + last.part.name.format format.name$ +} + +FUNCTION {format.von.last.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.last.junior.name + % e.g. + % author #1 format.von.last.junior.name + % Instead of field, a string may also be used. + von.last.junior.name.format format.name$ +} + +FUNCTION {format.von.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.junior.name + % e.g. + % author #1 format.von.junior.name + % Instead of field, a string may also be used. + von.junior.name.format format.name$ +} + +FUNCTION {format.cite.initials.name} +{ % Format a name for citing with initials. + % Call with + % field authornumber format.cite.initials.name + % e.g. + % author #1 format.cite.initials.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Format the initials and push on the stack. + duplicate$ #1 format.initials.with.hyphen + % + % Format the von-last-junior part and push on the stack. + swap$ #1 format.von.last.junior.name + % + % Connect with "~" hyphen (if they're both non-empty). + "~" connect.check +} + +FUNCTION {format.author.name} +{ % Format an author name for the reference list. + % Call with + % field authornumber format.author.name + % e.g. + % author #1 format.author.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Make two copies of the name, format the last name and push on the stack. + duplicate$ duplicate$ #1 format.last.part.name + % + % Format the initials and push on the stack. + swap$ #1 format.initials.with.hyphen + % + % Connect with last name. + connect.with.comma.check + % + % Format the von-junior part and connect with initials. + swap$ #1 format.von.junior.name "" connect.check +} + +FUNCTION {format.editor.name} +{ % Format a name for the reference list as an editor. + % Call with + % field authornumber format.editor.name + % e.g. + % author #1 format.editor.name + % Instead of field, a string may also be used. + % + format.cite.initials.name +} + +FUNCTION {format.index.name} +{ % Format an author name for the index. + % Call with + % field authornumber format.index.name + % e.g. + % author #1 format.index.name + % Instead of field, a string may also be used. + % + format.author.name +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Some macro strings about commas, etc. between authors FUNCTION {comma.between.two} { "\BCBT{}" } @@ -2394,35 +2374,28 @@ FUNCTION {et.al.string} { "\ \BOthers{.}" } FUNCTION {et.al.string.period} { "\ \BOthersPeriod{.}" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Add author index entry when desired. -% "field" must have been defined before and must contain the -% contents of the relevant author field. -% "nameptr" must also have been defined before. It is the -% number of the author that must be formatted. (So if it is -% #2, then the 2nd author must be formatted.) -% What's on top of the stack (the formatted author) is written -% to the .bbl file. FUNCTION {add.name.index} { % % make.index { "%" * write$ newline$ - "\protect\AX{" write$ + % Check for corporate author + field is.bibcorporate + { "\corporateAX{" } + { "\AX{" } + if$ + write$ field nameptr sort.name.format format.name$ sortify write$ newline$ "@" write$ - field nameptr index.name.format format.name$ "}%" * write$ newline$ + field nameptr format.index.name + "}%" * write$ newline$ } { "%" * write$ newline$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author or editor may be used. -% Field is on top of the stack. -% -% Call with -% format.num.names field make.name.cite.label FUNCTION {make.name.cite.label} { 'field := @@ -2444,8 +2417,8 @@ FUNCTION {make.name.cite.label} % #1 'nameptr := cite.initials #1 = - { field nameptr cite.initials.name.format format.name$ } - { field nameptr cite.name.format format.name$ } + { field nameptr format.cite.initials.name } + { field nameptr cite.name.format format.name$ } if$ add.name.index % Add index entry when desired. % @@ -2544,8 +2517,6 @@ FUNCTION {make.name.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when no author, editor, firstkey or key -% is available. FUNCTION {make.title.cite.label} { % @@ -2562,7 +2533,11 @@ FUNCTION {make.title.cite.label} { type empty$ { howpublished empty$ { note empty$ - { cite$ } + { url empty$ + { cite$ } + { url } + if$ + } { note } if$ } @@ -2588,7 +2563,6 @@ FUNCTION {make.title.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author or editor may be used. FUNCTION {make.author.editor.cite.label} { author empty$ @@ -2615,7 +2589,6 @@ FUNCTION {make.author.editor.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author (but not editor) may be used. FUNCTION {make.author.cite.label} { author empty$ @@ -2634,9 +2607,7 @@ FUNCTION {make.author.cite.label} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make "a" or "b" supplement to year label when necessary. FUNCTION {make.definitive.year.supplement} { % @@ -2663,7 +2634,6 @@ FUNCTION {make.definitive.year.supplement} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Add \protect if year is \BIP or \bibnodate. FUNCTION {protect.year} { year empty$ @@ -2681,7 +2651,6 @@ FUNCTION {protect.year} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make year label that is used for citations in text. FUNCTION {make.definitive.year.label} { "{\protect\APACyear{" @@ -2717,16 +2686,7 @@ FUNCTION {make.definitive.year.label} make.definitive.year.supplement enclose.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make citation labels: -% - Full formatted author list (or substitute if no author -% available) for first citation; -% - Short formatted author list (ditto) for subsequent -% citations; -% - Year, with originalyear when applicable, and "a" or "b" -% etc. addendum when necessary. FUNCTION {make.cite.labels} { newline$ @@ -2806,14 +2766,10 @@ FUNCTION {make.cite.labels} "}%" write$ newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FORMATTING OF REFERENCE LIST % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% "(Ed.)" or "(Eds.)" postfix. -% editor must not be empty FUNCTION {editor.postfix} { editor num.names$ #1 > @@ -2823,8 +2779,6 @@ FUNCTION {editor.postfix} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% "(Ed. \& Trans.)" postfix -% editor must not be empty FUNCTION {editor.trans.postfix} { editor num.names$ #1 > @@ -2846,15 +2800,6 @@ FUNCTION {trans.postfix} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format authors (or editors acting as authors) for -% reference list. -% -% Call with -% dot field format.author.names -% where field is the field (string) that contains the authors -% (or editors acting as authors) that must be formatted and -% dot is 1 or 0 indicating whether or not a period must end -% the formatting. FUNCTION {format.author.names} { 'field := @@ -2880,7 +2825,7 @@ FUNCTION {format.author.names} % Format first author % #1 'nameptr := - field nameptr author.name.format format.name$ + field nameptr format.author.name % % Add period if required and if this is the only author. % @@ -2917,7 +2862,7 @@ FUNCTION {format.author.names} % Format second author. % #2 'nameptr := - field nameptr author.name.format format.name$ 's := + field nameptr format.author.name 's := % % Check if 2nd author is explicit "others". % If so, insert "et al." string. @@ -2962,7 +2907,7 @@ FUNCTION {format.author.names} % % Format and add next author % - field nameptr author.name.format format.name$ + field nameptr format.author.name add.name.index % Add index entry when desired. % % Move to next author @@ -2974,7 +2919,7 @@ FUNCTION {format.author.names} % nameptr = format.num.names % Format this author. % - field nameptr author.name.format format.name$ 's := + field nameptr format.author.name 's := % format.num.names numnames = { % @@ -3035,8 +2980,6 @@ FUNCTION {format.author.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format authors in reference list, where it is given that -% the author field is not empty. FUNCTION {format.authors} { #1 author format.author.names @@ -3044,14 +2987,6 @@ FUNCTION {format.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format editors in reference list in case editors act as -% authors (such as reference to entire edited book) -% -% Letheridge, S., \& Cannon, C. R. (Eds.). -% or -% Letheridge, S. (Ed.). (if only 1 editor) -% -% editor must not be empty FUNCTION {format.editors.as.authors} { #0 editor format.author.names @@ -3059,16 +2994,6 @@ FUNCTION {format.editors.as.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Format editors in reference list in case editors are also -% translators and act as authors (such as reference to entire -% edited book of translated articles) -% -% Letheridge, S., \& Cannon, C. R. (Eds. and Trans.). -% or -% Letheridge, S. (Ed. and Trans.). (if only 1 editor) -% -% editor must not be empty FUNCTION {format.ed.trans.as.authors} { #0 editor format.author.names @@ -3076,14 +3001,6 @@ FUNCTION {format.ed.trans.as.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format a list of names with the initials before the -% last names (i.e., names in the editor position), -% commas between names (not between 2), -% and ampersand (\&) before last name. -% These names are not put in the author index. -% -% Call with -% field format.editor.names FUNCTION {format.editor.names} { 'field := @@ -3098,7 +3015,7 @@ FUNCTION {format.editor.names} % % Format first editor % - field #1 editor.name.format format.name$ + field #1 format.editor.name % numnames #1 = 'skip$ @@ -3109,7 +3026,7 @@ FUNCTION {format.editor.names} % Given that format.num.names > 1, it is 2. % No comma. Format second editor. % - field #2 editor.name.format format.name$ 's := + field #2 format.editor.name 's := % % Check if 2nd editor is explicit "others". % If so, insert "et al." string. @@ -3133,7 +3050,7 @@ FUNCTION {format.editor.names} % % Format and add next editor % - field nameptr editor.name.format format.name$ * + field nameptr format.editor.name * % % Move to next editor % @@ -3144,7 +3061,7 @@ FUNCTION {format.editor.names} % nameptr = format.num.names % Format this editor. % - field nameptr editor.name.format format.name$ 's := + field nameptr format.editor.name 's := % format.num.names numnames = { % @@ -3176,7 +3093,6 @@ FUNCTION {format.editor.names} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format editors in case editors do not act as authors @@ -3195,7 +3111,6 @@ FUNCTION {format.editors.in.line} editor.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format editors in case editors are also translators @@ -3216,7 +3131,6 @@ FUNCTION {format.editors.trans.in.line} editor.trans.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format translators in case translators act as editors @@ -3235,7 +3149,6 @@ FUNCTION {format.translators.in.line} trans.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format translators in case translator does not act as editor @@ -3312,9 +3225,6 @@ FUNCTION {format.editors.translators.in.paren.check} FUNCTION {format.atrans.check} { format.translators.in.paren.check parenthesize.check } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In editor (Ed.), " @@ -3327,7 +3237,6 @@ FUNCTION {format.in.editors} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In translator (Trans.)," @@ -3340,8 +3249,6 @@ FUNCTION {format.in.trans} if$ } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In editor (Ed. and Trans.)" @@ -3369,69 +3276,54 @@ FUNCTION {format.in.editors.trans} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DATE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Formats year (+ extra label) between parentheses (which -% may be redefined by \BBOP and \BBCP). -% Extra label can be used for -% Bentler, P. M. (1983a) <article 1> -% Bentler, P. M. (1983b) <article 2> FUNCTION {format.year.check} -{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses +{ "\APACrefYear{" year empty$ - { "\bibnodate{}" } - { year } + { "\bibnodate{}" * } + { year * } if$ % % Add "a", "b", etc. when necessary. % make.definitive.year.supplement * - % - % Combine everything - % - enclose.check + "}" * } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Formats year (+ extra label) + month + day between -% parentheses (which may be redefined by \BBOP and \BBCP). -% Extra label can be used for -% Bentler, P. M. (1983a, June 7) <article 1> -% Bentler, P. M. (1983b, April 4) <article 2> FUNCTION {format.year.month.day.check} -{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses +{ "\APACrefYearMonthDay{" year empty$ - { "\bibnodate{}" } - { year } + { "\bibnodate{}" * } + { year * } if$ % % Add "a", "b", etc. when necessary. % make.definitive.year.supplement * + "}{" * % % Add month and day when present. % - month connect.with.comma.check - day connect.with.space.check - % - % Combine everything - % - enclose.check + month empty$ + 'skip$ + { month * } + if$ + "}{" * + day empty$ + 'skip$ + { day * } + if$ + "}" * } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% TITLE FORMATTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3444,13 +3336,16 @@ FUNCTION {format.atitle.no.dot} "\BBCQ{}" swap$ duplicate$ empty$ 'skip$ - { "t" change.case$ } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefatitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * + } if$ enclose.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3460,15 +3355,19 @@ FUNCTION {format.atitle.no.dot} % FUNCTION {format.atitle.dot} { "\BBOQ{}" swap$ - "\BBCQ{} " swap$ + "\BBCQ{}" swap$ duplicate$ empty$ 'skip$ - { "t" change.case$ add.period$ } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefatitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * add.period$ + } if$ enclose.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3491,39 +3390,37 @@ FUNCTION {format.atitle.connect} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % title of book or so, no period - % + % title of book or so, without period % call with % field format.btitle.no.dot % FUNCTION {format.btitle.no.dot} { duplicate$ empty$ 'skip$ - { "t" change.case$ emphasize.check } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbtitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * + } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of book or so, with period - % (maybe emphasize and add.period$ should be reversed) % call with % field format.btitle.dot % FUNCTION {format.btitle.dot} { duplicate$ empty$ 'skip$ - { "t" change.case$ add.period$ emphasize.check } + { add.period$ format.btitle.no.dot } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of book and similar @@ -3569,10 +3466,27 @@ FUNCTION {format.btitle.connect.no.dot} % % format englishtitle (of nonenglish article, etc.) % -FUNCTION {format.etitle.check} +FUNCTION {format.aetitle.check} { englishtitle empty$ { "" } - { englishtitle "t" change.case$ bracket.check } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefaetitle{" englishtitle * "}{" * + englishtitle "t" change.case$ * "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format englishtitle (of nonenglish book, etc.) + % +FUNCTION {format.betitle.check} +{ englishtitle empty$ + { "" } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbetitle{" englishtitle * "}{" * + englishtitle "t" change.case$ * "}" * + } if$ } @@ -3583,53 +3497,51 @@ FUNCTION {format.etitle.check} FUNCTION {format.atype.check} { type bracket.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title and englishtitle (of article, etc.) % FUNCTION {format.atitle.check} -{ format.etitle.check +{ format.aetitle.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, and type % (of article, etc.) % FUNCTION {format.atitle.type.check} -{ format.etitle.check +{ format.aetitle.check format.atype.check connect.with.space.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, % and translator (of article, etc.) % FUNCTION {format.atitle.trans.check} -{ format.etitle.check +{ format.aetitle.check format.atrans.check connect.with.space.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, type, % and translator (of article, etc.) % FUNCTION {format.atitle.type.trans.check} -{ format.etitle.check +{ format.aetitle.check format.atype.check connect.with.space.check format.atrans.check connect.with.space.check title format.atitle.connect } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3639,13 +3551,24 @@ FUNCTION {format.atitle.type.trans.check} % FUNCTION { format.journal.vol.num.pages.check } { "journal" journal warning.if.empty - journal emphasize.check - volume emphasize.check connect.with.comma.check - number parenthesize.check "" connect.check - swap$ connect.with.comma.check + duplicate$ empty$ + journal empty$ and + volume empty$ and + number empty$ and + { pop$ "" } + { "\APACjournalVolNumPages{" journal "" connect.check + "}{" * volume "" connect.check + "}{" * number "" connect.check + "}{" * swap$ "" connect.check + "}" * + } + if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume of book, checks whether % "Volume" or "Volumes" @@ -3658,14 +3581,12 @@ FUNCTION {format.bvolume.check} 'skip$ { duplicate$ multi.result.check { "\BVOLS" swap$ tie.or.space.connect } - { "\BVOL" swap$ tie.or.space.connect } + { "\BVOL" swap$ tie.or.space.connect } if$ } if$ } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % edition of book, must not be empty @@ -3675,11 +3596,12 @@ FUNCTION {format.bvolume.check} FUNCTION {format.edition.check} { duplicate$ empty$ 'skip$ - { "\BEd" connect.with.space.check } + { "\PrintCardinal{" swap$ * "}" * + "\BEd" connect.with.space.check + } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume and edition of book @@ -3690,9 +3612,6 @@ FUNCTION {format.bvol.edition.check} connect.with.comma.check } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume and edition of book @@ -3737,7 +3656,7 @@ FUNCTION {format.bpages.check} 'skip$ { duplicate$ multi.result.check { "\BPGS" swap$ tie.or.space.connect } - { "\BPG" swap$ tie.or.space.connect } + { "\BPG~" swap$ * } if$ } if$ @@ -3764,7 +3683,6 @@ FUNCTION {format.bchapter.check} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume, edition, and pages or chapter of article in book etc. @@ -3778,25 +3696,22 @@ FUNCTION {format.bvol.edition.pages} parenthesize.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title, volume, edition of book % FUNCTION {format.btitle.vol.edition} -{ format.etitle.check +{ format.betitle.check format.bvol.edition connect.with.space.check title format.btitle.connect.no.dot } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title, volume, edition, and translator of book % FUNCTION {format.btitle.vol.edition.trans} -{ format.etitle.check +{ format.betitle.check format.bvol.edition.trans connect.with.space.check title format.btitle.connect.no.dot } @@ -3806,12 +3721,15 @@ FUNCTION {format.btitle.vol.edition.trans} % title, volume, edition, editor, and translator of book % FUNCTION {format.btitle.vol.edition.editor.trans} -{ format.etitle.check +{ format.betitle.check format.bvol.edition.editor.trans connect.with.space.check title format.btitle.connect.no.dot } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format address and publisher of book etc. % @@ -3822,10 +3740,28 @@ FUNCTION {format.btitle.vol.edition.editor.trans} % New York (if publisher empty) % FUNCTION {format.address.publisher} -{ address publisher connect.with.colon.check } - - - +{ % + % If publisher = author or publisher = "author" or publisher = "Author" + % then hand over the final choice how to format this to \LaTeX. + % (I could imagine similar code for editors, but the APA manual does + % not mention it and then we'd have to check whether the editor is in + % the author position, so let's keep it simple until someone complains.) + % + author empty$ + publisher empty$ or + { publisher "\APACaddressPublisher{" } + { author publisher = + "author" publisher = or + "Author" publisher = or + { author "\APACaddressPublisherEqAuth{" } + { publisher "\APACaddressPublisher{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover publisher that was pushed onto the stack previously. + swap$ "" connect.check "}" * +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3842,10 +3778,22 @@ FUNCTION {format.address.publisher} FUNCTION {format.address.publisher.check} { "publisher" publisher warning.if.empty "address" address warning.if.empty - format.address.publisher + publisher empty$ + address empty$ + and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher + } + if$ } - +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3858,7 +3806,7 @@ FUNCTION {format.rnumber.check} 'skip$ { duplicate$ multi.result.check { "\BNUMS" swap$ tie.or.space.connect } - { "\BNUM" swap$ tie.or.space.connect } + { "\BNUM" swap$ tie.or.space.connect } if$ } if$ @@ -3871,16 +3819,22 @@ FUNCTION {format.rnumber.check} % format.type.number % FUNCTION { format.type.number } -{ number empty$ - { type bracket.check } - { type - number format.rnumber.check connect.with.space.check +{ type empty$ + { type.2 } + { type } + if$ + number empty$ + { bracket.check } + { number format.rnumber.check connect.with.space.check parenthesize.check } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format howpublished if not empty, % for various entry types @@ -3890,8 +3844,12 @@ FUNCTION { format.type.number } FUNCTION {format.howpublished} { howpublished empty$ 'skip$ - { output.dot.new.block - howpublished + { % clear the stack + duplicate$ empty$ + 'pop$ + { output.dot.new.block } + if$ + "\APAChowpublished{" howpublished * "}" * } if$ } @@ -3906,26 +3864,71 @@ FUNCTION {format.howpublished} FUNCTION {output.howpublished} { howpublished empty$ 'skip$ - { howpublished + { "\APAChowpublished{" howpublished * "}" * output.dot.new.block } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% NOTE FORMATTING FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % begin and end of url environment + % +FUNCTION {begin.end.url.env} +{ " \begin{APACrefURL} " + % For "Retrieved <date>, from" + lastchecked empty$ + 'skip$ + { "[{" * lastchecked * "}]" * } + if$ + " \end{APACrefURL} " +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % format optional note + % begin and end of message environment % -FUNCTION {format.note} -{ note parenthesize.check } +FUNCTION {begin.end.msg.env} +{ " \begin{APACrefURLmsg} " + " \end{APACrefURLmsg} " +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format url given that it is not empty, + % for various entry types + % call with + % format.url + % +FUNCTION {format.url} +{ % First format begin and end of the enclosing environment. + % With posted messages, a different environment is used. + type.2 empty$ + { begin.end.url.env } + { type.2 "\bibmessage" = + { begin.end.msg.env } + { begin.end.url.env } + if$ + } + if$ + % The url string. + "\url{" url * "}" * + % Enclose in begin and end environment + enclose.check +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format optional note + % +FUNCTION {format.note} +{ "\APACrefnote{" "}" note enclose.check } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3934,33 +3937,27 @@ FUNCTION {format.note} % FUNCTION {format.orig.year.note} { originalyear empty$ - { note parenthesize.check } - { originalyear "\bibnodate" = - { note parenthesize.check } - { "\BOWP{} " originalyear * % original work published - note connect.with.semicolon.check - parenthesize.check - } - if$ + { format.note } + { "\APACorigyearnote{" + originalyear "" connect.check "}{" * + note "" connect.check "}" * } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format original journal of publication and note % (reprint or translation) % FUNCTION {format.orig.journal.note} -{ "\BREPR{} " % reprinted from - originaljournal emphasize.check * - originalyear connect.with.comma.check - originalvolume emphasize.check connect.with.comma.check - originalnumber bracket.check "" connect.check - originalpages connect.with.comma.check - note connect.with.semicolon.check - parenthesize.check +{ "\APACorigjournalnote{" + originalyear "" connect.check "}{" * + originaljournal "" connect.check "}{" * + originalvolume "" connect.check "}{" * + originalnumber "" connect.check "}{" * + originalpages "" connect.check "}{" * + note "" connect.check "}" * } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3969,42 +3966,27 @@ FUNCTION {format.orig.journal.note} % (reprint or translation) % FUNCTION {format.orig.book.note} -{ "\BREPR{}" % Reprinted from - % - % title of the book the work was originally published in - % - originalbooktitle format.btitle.no.dot connect.with.space.check - % - % volume, edition, pages - % - originaledition format.edition.check connect.with.comma.check - originalvolume format.bvolume.check connect.with.comma.check - originalpages format.bpages.check connect.with.comma.check - % - % editor of the original book +{ "\APACorigbooknote{" originalyear "" connect.check "}{" * % originaleditor empty$ 'skip$ - { "by " originaleditor format.editor.names * - originaleditor num.names$ #1 > - { ", \BEDS{}" * } - { ", \BED{}" * } + { originaleditor num.names$ #1 > + { "\APACorigEDS{" * originaleditor format.editor.names * "}" * } + { "\APACorigED{" * originaleditor format.editor.names * "}" * } if$ - connect.with.comma.check } if$ % - % year of the original publication - % - originalyear connect.with.comma.check - % - originaladdress originalpublisher connect.with.colon.check - connect.with.comma.check - note connect.with.semicolon.check - parenthesize.check + "}{" * + originalbooktitle format.btitle.no.dot "" connect.check "}{" * + originaledition format.edition.check "" connect.check "}{" * + originalvolume format.bvolume.check "" connect.check "}{" * + originalpages format.bpages.check "" connect.check "}{" * + originaladdress "" connect.check "}{" * + originalpublisher "" connect.check "}{" * + note "" connect.check "}" * } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format information about original publication of reprint @@ -4015,38 +3997,35 @@ FUNCTION {format.orig.note} { originalbooktitle empty$ { note empty$ { originalyear empty$ - { add.period$ } + 'skip$ { originalyear "\bibnodate" = - { add.period$ } - { output.dot.new.block + 'skip$ + { output.new.block format.orig.year.note } if$ } if$ } - { output.dot.new.block + { output.new.block format.orig.year.note } if$ } - { output.dot.new.block + { output.new.block format.orig.book.note } if$ } - { output.dot.new.block + { output.new.block format.orig.journal.note } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% PERIODICALS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % article in periodical: journal, magazine, newspaper, ... @@ -4110,7 +4089,20 @@ FUNCTION {periodical} % if not empty, insert howpublished. % (used if article is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % possible reprint and optional note % @@ -4118,8 +4110,6 @@ FUNCTION {periodical} fin.entry } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % journal article @@ -4127,8 +4117,6 @@ FUNCTION {periodical} FUNCTION {article} { pages format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % magazine article @@ -4136,8 +4124,6 @@ FUNCTION {article} FUNCTION {magazine} { pages format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % newspaper article @@ -4145,8 +4131,6 @@ FUNCTION {magazine} FUNCTION {newspaper} { pages format.bpages.check format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translation of) entire book @@ -4168,7 +4152,7 @@ FUNCTION {book} { format.btitle.vol.edition.trans format.type.number connect.with.space.check output.dot.new.block - format.year.check output.dot.new.block + format.year.check add.period$ } % % format editor and year, and check if year is present @@ -4196,7 +4180,7 @@ FUNCTION {book} } if$ format.type.number connect.with.space.check - output.dot.new.block + add.period$ } if$ } @@ -4208,7 +4192,7 @@ FUNCTION {book} format.year.check output.dot.new.block format.btitle.vol.edition.editor.trans format.type.number connect.with.space.check - output.dot.new.block + add.period$ } if$ % @@ -4216,6 +4200,24 @@ FUNCTION {book} % format.address.publisher.check % + % if not empty, insert howpublished. + % (used if book is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % % format original publication (of reprint/translation) % and optional note % @@ -4223,7 +4225,6 @@ FUNCTION {book} fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translated) article or chapter in edited book @@ -4246,7 +4247,7 @@ FUNCTION {incollection} % esp. for ``collections'' that are not books, % such as parts of internet documents % - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } % % format author and year, and check if year is present @@ -4258,25 +4259,38 @@ FUNCTION {incollection} { format.atitle.type.trans.check } { format.atitle.type.check } if$ - output.new.block } if$ % % format "In " editor " (Ed. \& Trans.), " % booktitle, volume, edition, pages % + output.new.block format.in.editors.trans format.bvol.edition.pages - booktitle format.btitle.connect * output.dot.new.block + booktitle format.btitle.connect * add.period$ % % format address and publisher, check if publisher present % format.address.publisher.check - % - % if not empty, insert howpublished. - % (used if article is retrieved from the internet) - % - format.howpublished + % + % if not empty, insert howpublished. + % (used if article is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format original publication (of reprint/translation) % and optional note @@ -4286,10 +4300,8 @@ FUNCTION {incollection} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% REPORTS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % technical report number @@ -4311,14 +4323,36 @@ FUNCTION {format.tr.number} % title, volume, edition, report number % FUNCTION {format.tr.title.number} -{ format.etitle.check - format.bvol.edition.check - format.tr.number connect.with.semicolon.check - parenthesize.check connect.with.space.check +{ format.betitle.check + % Single out the situation in which there is no number + % and type = {\bibnotype}, i.e., no type as well. + % (Why not use book then?) + type empty$ + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR{" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + { type "\bibnotype" = + number empty$ + volume empty$ + edition empty$ + and + and + and + { "" } + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR{" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + if$ + } + if$ + connect.with.space.check title format.btitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format address and institution of reports etc. @@ -4332,10 +4366,38 @@ FUNCTION {format.tr.title.number} FUNCTION {format.address.institution.check} { "institution" institution warning.if.empty "address" address warning.if.empty - address institution connect.with.colon.check + institution empty$ + address empty$ + and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + % + % If institution = author or institution = "author" + % or institution = "Author" then hand over the final choice how to + % format this to \LaTeX. See also format.address.publisher + % + author empty$ + institution empty$ or + { institution "\APACaddressInstitution{" } + { author institution = + "author" institution = or + "Author" institution = or + { author "\APACaddressInstitutionEqAuth{" } + { institution "\APACaddressInstitution{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover institution that was pushed onto the stack previously. + swap$ "" connect.check "}" * + } + if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % reports @@ -4351,7 +4413,7 @@ FUNCTION {techreport} % title formatted as book title % { format.tr.title.number output.dot.new.block - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } % % format editor and year, and check if year is present @@ -4360,7 +4422,7 @@ FUNCTION {techreport} % { format.editors.as.authors start.new.block format.year.month.day.check output.dot.new.block - format.tr.title.number output.dot.new.block + format.tr.title.number add.period$ } if$ } @@ -4371,7 +4433,7 @@ FUNCTION {techreport} % { format.authors start.new.block format.year.month.day.check output.dot.new.block - format.tr.title.number output.dot.new.block + format.tr.title.number add.period$ } if$ % @@ -4382,21 +4444,36 @@ FUNCTION {techreport} % if not empty, insert howpublished. % (used if report is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translated) article or chapter in report @@ -4437,13 +4514,13 @@ FUNCTION {intechreport} % % volume, edition, report type and number, pages % - format.bvol.edition.check - format.tr.number connect.with.semicolon.check - pages format.bpages.check connect.with.comma.check - parenthesize.check + "\APACbVolEdTRpgs{" format.bvol.edition.check * "}{" * + format.tr.number * + "}{" * pages format.bpages.check * + "}" * % booktitle format.btitle.connect * - output.dot.new.block + add.period$ % % format address and publisher, check if publisher present % @@ -4452,7 +4529,20 @@ FUNCTION {intechreport} % if not empty, insert howpublished. % (used if report is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format original publication (of reprint/translation) % and optional note @@ -4477,12 +4567,15 @@ FUNCTION {lecture} % format.year.month.day.check output.dot.new.block symposium empty$ - { format.etitle.check + { format.betitle.check title format.btitle.connect output.new.block howpublished empty$ - { "symposium and howpublished missing in " * cite$ warning$ } - { howpublished } + { "symposium and howpublished missing in " cite$ * warning$ + "" + } + { "\APAChowpublished{" howpublished * "}" * } if$ + address connect.with.comma.check } { format.atitle.type.check output.new.block "\BIn{} " @@ -4498,26 +4591,42 @@ FUNCTION {lecture} if$ symposium format.btitle.no.dot * format.howpublished + address connect.with.comma.check + } + if$ + add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% THESES % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % default thesis type is on top of stack @@ -4535,8 +4644,6 @@ FUNCTION {format.type.school} school connect.with.comma.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % phd theses, etc. @@ -4583,7 +4690,7 @@ FUNCTION {thesis} parenthesize.check } if$ - format.etitle.check + format.aetitle.check swap$ connect.with.space.check "title" title warning.if.empty title format.atitle.connect output.new.block @@ -4594,20 +4701,36 @@ FUNCTION {thesis} % if not empty, insert howpublished. % (used if thesis is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % phd theses, etc. @@ -4615,7 +4738,6 @@ FUNCTION {thesis} FUNCTION {phdthesis} { "\BPhD" "\BUPhD" thesis } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % master's theses, etc. @@ -4623,13 +4745,9 @@ FUNCTION {phdthesis} FUNCTION {mastersthesis} { "\BMTh" "\BUMTh" thesis } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% OTHER % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of something (used in unpublished and misc) @@ -4637,7 +4755,8 @@ FUNCTION {mastersthesis} % type and number of something % FUNCTION {format.btitle.type.num} -{ format.etitle.check +{ format.betitle.check + format.bvol.edition connect.with.space.check format.type.number connect.with.space.check title empty$ @@ -4653,11 +4772,12 @@ FUNCTION {format.btitle.type.num} % type and number of something % FUNCTION {format.mtitle.type.num} -{ format.etitle.check - type "\bibmessage" = +{ format.aetitle.check + format.bvol.edition connect.with.space.check + type.2 "\bibmessage" = { number empty$ 'skip$ - { type number connect.with.space.check + { type.2 number tie.or.space.connect bracket.check connect.with.space.check } @@ -4679,23 +4799,16 @@ FUNCTION {format.mtitle.type.num} % type and number of something (used in misc) % FUNCTION {output.misctitle.type.num} -{ type empty$ +{ type.2 empty$ { format.btitle.type.num } - { type "\bibmessage" = - type "\bibcomputerprogram" = - type "\bibcomputerprogrammanual" = - type "\bibcomputerprogramandmanual" = - type "\bibcomputersoftware" = - type "\bibcomputersoftwaremanual" = - type "\bibcomputersoftwareandmanual" = - type "\bibprogramminglanguage" = - or - or - or - or - or - or - or + { type.2 "\bibmessage" = + type.2 "\bibcomputerprogram" = or + type.2 "\bibcomputerprogrammanual" = or + type.2 "\bibcomputerprogramandmanual" = or + type.2 "\bibcomputersoftware" = or + type.2 "\bibcomputersoftwaremanual" = or + type.2 "\bibcomputersoftwareandmanual" = or + type.2 "\bibprogramminglanguage" = or { format.mtitle.type.num } { format.btitle.type.num } if$ @@ -4718,8 +4831,8 @@ FUNCTION {unpublished} % no author or editor: title serves as author. % title formatted as book title % - { format.btitle.type.num output.dot.new.block - format.year.month.day.check + { format.btitle.type.num output.new.block + format.year.month.day.check add.period$ } % % format editor and year, and check if year is present @@ -4742,36 +4855,59 @@ FUNCTION {unpublished} } if$ howpublished empty$ - organization empty$ - address empty$ - and - and + organization empty$ and + address empty$ and 'skip$ - { output.dot.new.block - howpublished + { output.new.block + "\APAChowpublished{" "}" howpublished enclose.check organization connect.with.comma.check address connect.with.comma.check + add.period$ + } + if$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % nonprint media and other things that don't fit % FUNCTION {misc} -{ author empty$ +{ % + % To handle @manual: use type.2 instead of type. + type.2 empty$ + type empty$ not and + { type 'type.2 := } + 'skip$ + if$ + % + author empty$ % % no author: possibly edited item with editors as authors % @@ -4782,19 +4918,20 @@ FUNCTION {misc} % % if no title and no type, howpublished is title % - { title empty$ - type empty$ - and + { title empty$ + type.2 empty$ and { howpublished empty$ { "No author, editor, title, type, and howpublished in " - cite$ * warning$ } - { howpublished output.dot.new.block } + cite$ * warning$ + "" + } + { "\APAChowpublished{" howpublished * "}" * add.period$ } if$ - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } { output.misctitle.type.num output.new.block - format.year.month.day.check output.dot.new.block - output.howpublished + format.year.month.day.check add.period$ + format.howpublished add.period$ } if$ } @@ -4804,8 +4941,8 @@ FUNCTION {misc} % { format.editors.as.authors start.new.block format.year.month.day.check output.dot.new.block - output.misctitle.type.num output.new.block - output.howpublished + output.misctitle.type.num + format.howpublished add.period$ } if$ } @@ -4816,24 +4953,47 @@ FUNCTION {misc} % { format.authors start.new.block format.year.month.day.check output.dot.new.block - output.misctitle.type.num output.new.block - output.howpublished + output.misctitle.type.num + format.howpublished add.period$ } if$ - address empty$ - publisher empty$ - and + % + address empty$ + publisher empty$ and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher add.period$ + } + if$ + % + % format url + % + url empty$ 'skip$ - { format.address.publisher - output.dot.new.block + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { "" } - { format.note } + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } if$ fin.entry } @@ -4853,16 +5013,26 @@ FUNCTION {literal} fin.entry } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % technical documentation + % +FUNCTION {manual} +{ % + % If type is empty, assume that it is a computer software manual. + % + type empty$ + { "\bibcomputersoftwaremanual" 'type.2 := } + 'skip$ + if$ + misc +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % following functions not used for APA Manual examples % - - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % booklet @@ -4870,7 +5040,6 @@ FUNCTION {literal} FUNCTION {booklet} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % part of a book @@ -4878,7 +5047,6 @@ FUNCTION {booklet} FUNCTION {inbook} { incollection } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % article in proceedings @@ -4886,16 +5054,12 @@ FUNCTION {inbook} FUNCTION {inproceedings} { incollection } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % technical documentation + % article in proceedings (Kopka & Daly, 2004, p. 230) % -FUNCTION {manual} -{ misc } - - +FUNCTION {conference} +{ inproceedings } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -4904,7 +5068,6 @@ FUNCTION {manual} FUNCTION {proceedings} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % unknown types @@ -4912,17 +5075,13 @@ FUNCTION {proceedings} FUNCTION {default.type} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% INITIALIZATION FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {initialize} { % % Maximum number of names to be formatted . #6 'name.max := -% #250 'entry.max$ := -% #5000 'global.max$ := } FUNCTION {init.old.number} @@ -4961,12 +5120,9 @@ FUNCTION {move.backward} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% BASIC BIBLIOGRAPHY OUTPUT FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Beginning of the thebibliography environment: -% Write preamble if there is one, write \begin command FUNCTION {begin.bib} { preamble$ empty$ @@ -4977,7 +5133,6 @@ FUNCTION {begin.bib} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Write \end{thebibliography} command FUNCTION {end.bib} { newline$ @@ -4985,8 +5140,6 @@ FUNCTION {end.bib} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Write the citation labels and reference list entry to -% the .bbl file. FUNCTION {write.bbl.entry} { % @@ -5000,20 +5153,17 @@ FUNCTION {write.bbl.entry} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% READ AND PROCESS ENTRIES, MAKE THEBIBLIOGRAPHY % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Read entries . - READ -% Some initializations . + +EXECUTE { identify.apacite.version } + EXECUTE { initialize } -% Sort items by title in order to replace each title by -% its number in later sorting . ITERATE { make.sort.title } @@ -5025,17 +5175,11 @@ EXECUTE { init.old.label } ITERATE { make.title.number } -% Now generate some tentative author-year labels and do some -% preprocessing for the later definitive author and year -% labels. ITERATE { make.tentative.sort.label } SORT -% Now check whether initials must be added to first author, -% how many authors must be formatted, whether an "a", "b", -% etc., must be added to the year label. ITERATE { init.cite.initials.add.to.year } @@ -5062,30 +5206,21 @@ EXECUTE { move.backward } REVERSE { definitive.cite.num.names } -% Make final sorting label and do definitive sorting . - ITERATE { make.final.sort.key } SORT -% Write preamble and \begin{thebibliography}{} statement EXECUTE { begin.bib } -% Make final cite labels, format reference list entry, -% and write to .bbl file. ITERATE { write.bbl.entry } -% Write \end{thebibliography} statement - EXECUTE { end.bib } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DONE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% EOF apacite.bst -% +%% +%% +%% End of file `apacite.bst'. diff --git a/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst b/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst index 604ac347770..0bfa3a538ee 100644 --- a/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst +++ b/Master/texmf-dist/bibtex/bst/apacite/apacitex.bst @@ -1,33 +1,61 @@ -% \iffalse meta-comment -% -% This is file `apacitex.bst'. -% -% Copyright 1994-2005 Erik Meijer and any individual authors listed -% elsewhere in this file. All rights reserved. -% -% This file is part of the `apacite' package. -% ------------------------------------------- -% -% It may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.3 -% of this license or (at your option) any later version. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of LaTeX -% version 2003/12/01 or later. -% -% The list of all files belonging to the `apacite' package, with a -% short description, is given in the file `manifest.txt'. -% -% \fi +%% +%% This is file `apacitex.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% apacite.dtx (with options: `xbibstyle') +%% +%% This is a generated file. +%% +%% Copyright (C) 1994-2007 Erik Meijer and any individual authors listed +%% elsewhere in this file. +%% +%% This file is part of the `apacite' package. +%% ------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% The `apacite' package consists of the files apacite.dtx and +%% apacite.ins, and the following generated files: +%% apacite.sty, apacite.bst, apacitex.bst, apa5ex.bib, +%% apacite.drv, apacdoc.sty, +%% english.apc, dutch.apc, finnish.apc, german.apc, ngerman.apc, +%% greek.apc, norsk.apc, spanish.apc, swedish.apc. +%% +%% This work has the LPPL maintenance status `maintained' +%% +%% The Current Maintainer of this work is Erik Meijer +%% +%% This file may only be distributed together with a copy of the +%% source files of the apacite package, i.e., apacite.dtx and +%% apacite.ins. You may however distribute the apacite package without +%% the generated files. +%% +%% apacitex.bst +%% [2007/09/03 v4.00 APA bibl. style with author index info] + %% apacitex.bst : reference list according to APA manual -%% Written by Erik Meijer <e.meijer@eco.rug.nl> -%% This version: [2005/06/08] +%% with author indexing information +%% Written by Erik Meijer + +FUNCTION {identify.apacite.version} +{ % Put identifying string in the .blg file + "apacitex.bst" + " [2007/09/03 v4.00 APA bibl. style with author index info]" + * top$ +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DECLARATION OF FIELDS, INTEGERS, AND STRINGS FOR EACH % -% ENTRY % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ENTRY @@ -47,6 +75,7 @@ ENTRY journal key % key for second and later citations, or all % citations if firstkey is missing + lastchecked % for URL's month note number % number of journal or report @@ -78,6 +107,7 @@ ENTRY type % type of phdthesis (e.g., Doctoral dissertation) % or type of article (e.g., Letter to the editor) % etc. + url volume year } @@ -96,16 +126,17 @@ ENTRY % should be cited and whether a, b, etc. % after year is necessary title.sort.label % for sorting titles + type.2 % Replacement for type with misc entries and + % entries that revert to misc. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DECLARATION OF GLOBAL INTEGERS AND STRINGS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INTEGERS { len pos name.max old.number numnames numnames.old nameptr lastname format.num.names cite.initials.old cite.num.names.old add.to.year.old forward - multiresult dot + multiresult dot brace.level } STRINGS { s t u old.label field @@ -119,66 +150,53 @@ STRINGS { s t u old.label field } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% A small function for testing purposes. FUNCTION {test} { #0 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% A small function (ideally replaced by a user-definable -% MACRO) that indicates whether index entries must be -% generated. FUNCTION {make.index} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% MONTH MACROS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -MACRO {jan} {"{\APACSortNoop{01}}January"} -MACRO {feb} {"{\APACSortNoop{02}}February"} +MACRO {jan} {"{\APACmonth{01}}"} + +MACRO {feb} {"{\APACmonth{02}}"} + +MACRO {mar} {"{\APACmonth{03}}"} + +MACRO {apr} {"{\APACmonth{04}}"} + +MACRO {may} {"{\APACmonth{05}}"} + +MACRO {jun} {"{\APACmonth{06}}"} -MACRO {mar} {"{\APACSortNoop{03}}March"} +MACRO {jul} {"{\APACmonth{07}}"} -MACRO {apr} {"{\APACSortNoop{04}}April"} +MACRO {aug} {"{\APACmonth{08}}"} -MACRO {may} {"{\APACSortNoop{05}}May"} +MACRO {sep} {"{\APACmonth{09}}"} -MACRO {jun} {"{\APACSortNoop{06}}June"} +MACRO {oct} {"{\APACmonth{10}}"} -MACRO {jul} {"{\APACSortNoop{07}}July"} +MACRO {nov} {"{\APACmonth{11}}"} -MACRO {aug} {"{\APACSortNoop{08}}August"} +MACRO {dec} {"{\APACmonth{12}}"} -MACRO {sep} {"{\APACSortNoop{09}}September"} +MACRO {winter} {"{\APACmonth{13}}"} -MACRO {oct} {"{\APACSortNoop{10}}October"} +MACRO {spring} {"{\APACmonth{14}}"} -MACRO {nov} {"{\APACSortNoop{11}}November"} +MACRO {summer} {"{\APACmonth{15}}"} -MACRO {dec} {"{\APACSortNoop{12}}December"} +MACRO {fall} {"{\APACmonth{16}}"} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% LOGICAL `NOT', `AND', AND `OR' % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'not': -% If the first element on the stack is A then this function -% does the following: -% push { #0 } -% push { #1 } -% So now the first 3 elements of the stack are -% { #1 } { #0 } A -% The first 3 are popped and subjected to 'if': -% If A > 0 then { #0 } is executed, else { #1 } is executed: -% if A > 0 -% then 0 -% else 1 -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then false else true) -% which is a logical 'not'. FUNCTION {not} { { #0 } @@ -187,23 +205,6 @@ FUNCTION {not} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'and': -% If the first 2 elements on the stack are A B -% then this function does the following: -% push 'skip$ -% push { pop$ #0 } -% So now first 4 elements are -% { pop$ #0 } 'skip$ A B -% The first 3 are popped and subjected to 'if' (B is on top of -% the stack): -% If A > 0 then 'skip$ is executed, else { pop$ #0 } is executed: -% if A > 0 -% then (B stays on top of stack) -% else (B is popped and #0 is pushed) -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then B else false) -% which is a logical 'and'. FUNCTION {and} { 'skip$ @@ -212,23 +213,6 @@ FUNCTION {and} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Logical 'or': -% If the first 2 elements on the stack are A B -% then this function does the following: -% push { pop$ #1 } -% push 'skip$ -% So now first 4 elements are -% 'skip$ { pop$ #1 } A B -% The first 3 are popped and subjected to 'if' (B is on top of -% the stack): -% If A > 0 then { pop$ #1 } is executed, else 'skip$ is executed: -% if A > 0 -% then (B is popped and #1 is pushed) -% else (B stays on top of stack) -% So consider integers as logicals, where 1 = true and 0 = false, -% then this does -% (if A then true else B) -% which is a logical 'or'. FUNCTION {or} { { pop$ #1 } @@ -236,9 +220,7 @@ FUNCTION {or} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% GENERAL PURPOSE FUNCTIONS FOR FORMATTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -255,27 +237,19 @@ FUNCTION {warning.if.empty} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % issues warning if title, type, and howpublished are empty % FUNCTION {check.relevant.fields} -{ title empty$ - type empty$ - howpublished empty$ - and - and +{ title empty$ + type empty$ and + howpublished empty$ and { "No title, type, and howpublished in " cite$ * warning$ } 'skip$ if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % delivers 1 if (both editor and translator @@ -299,7 +273,6 @@ FUNCTION {editor.ne.trans} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Convert integer to string, assume that integer < 100,000 FUNCTION {conv.int.to.str} { duplicate$ #10 < @@ -320,12 +293,7 @@ FUNCTION {conv.int.to.str} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Delivers 1 if possibly editor in author position -% 2 if editor not in author position -% 3 if not applicable: use key -% 0 if unknown type FUNCTION {ref.type} { type$ "article" = @@ -354,7 +322,9 @@ FUNCTION {ref.type} type$ "lecture" = type$ "inbook" = type$ "inproceedings" = - type$ "intechreport" = + type$ "conference" = + type$ "intechreport" = + or or or or @@ -373,17 +343,19 @@ FUNCTION {ref.type} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Delivers 1 if title is formatted as an "article"-type, -% 0 otherwise FUNCTION {is.atype} -{ type$ "article" = - type$ "magazine" = - type$ "newspaper" = +{ type$ "article" = + type$ "magazine" = + type$ "newspaper" = type$ "incollection" = type$ "inbook" = type$ "inproceedings" = - type$ "intechreport" = + type$ "conference" = + type$ "intechreport" = + type$ "manual" = + or + or or or or @@ -400,8 +372,7 @@ FUNCTION {is.atype} and { #1 } { type$ "misc" = - type empty$ not - and + type empty$ not and { type "\bibmessage" = type "\bibcomputerprogram" = type "\bibcomputerprogrammanual" = @@ -484,21 +455,18 @@ FUNCTION {connect.check} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % connects two strings with space ("\ ") - % if length of second is 3 or larger, + % if length of second is 4 or larger, % connects them with non-breaking space ("tie", "~") - % if length of second smaller than 3 + % if length of second smaller than 4 % % call with S1 S2 tie.or.space.connect % result: "S1\ S2" or "S1~S2" % FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < +{ duplicate$ text.length$ #4 < { "~" } { "\ " } if$ @@ -538,7 +506,6 @@ FUNCTION {connect.with.semicolon.check} FUNCTION {connect.with.colon.check} { ": " connect.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % connects two strings with space ("\ ") @@ -549,8 +516,6 @@ FUNCTION {connect.with.colon.check} FUNCTION {connect.with.space.check} { "\ " connect.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % encloses string in pre- and postfix string @@ -579,7 +544,6 @@ FUNCTION {emphasize.check} enclose.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % brackets top of stack @@ -642,14 +606,20 @@ FUNCTION {multi.result.check} multiresult } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Checks whether an author is a corporate author, i.e., + % whether the field starts with "{\bibcorporate". + % Call with + % field is.bibcorporate + % +FUNCTION {is.bibcorporate} +{ #1 #14 substring$ "{\bibcorporate" = } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% GENERAL PURPOSE FUNCTIONS FOR SORTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove non-alphanumeric characters -% and change to lower case . FUNCTION {sortify} { purify$ @@ -657,14 +627,6 @@ FUNCTION {sortify} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove spaces from a string. Used for sorting. -% -% Call with -% string remove.spaces -% -% E.g., -% "fine old day" remove.spaces -% gives "fineoldday" . FUNCTION {remove.spaces} { % Remove spaces from string. @@ -696,10 +658,8 @@ FUNCTION {remove.spaces} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% BASIC OUTPUT FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -711,7 +671,6 @@ FUNCTION {output.end.block} newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -720,10 +679,10 @@ FUNCTION {output.end.block} % FUNCTION {output.new.block} { output.end.block - "\newblock{}" write$ + "\newblock" write$ + newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % starting new block by writing what's left on the stack, @@ -736,13 +695,11 @@ FUNCTION {output.dot.new.block} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Starting new block assuming that stack is empty. -% Starting a new line and adding some extra space or -% whatever is more defined in \newblock FUNCTION {start.new.block} { newline$ - "\newblock{}" write$ + "\unskip\ " write$ newline$ + "\newblock " write$ newline$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -752,6 +709,7 @@ FUNCTION {start.new.block} % FUNCTION {fin.entry} { output.end.block + "\PrintBackRefs{\CurrentBib}" write$ newline$ test { "\vspace{\baselineskip}" write$ newline$ } 'skip$ @@ -759,27 +717,21 @@ FUNCTION {fin.entry} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FUNCTIONS FOR SORTING BY AUTHOR (OR SUBSTITUTE), YEAR, % -% TITLE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%MACRO {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" } - FUNCTION {sort.name.format} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" } FUNCTION {cite.name.format} { "{ll}" } -FUNCTION {cite.initials.name.format} { "{f. }{vv }{ll}{ jj}" } +FUNCTION {cite.initials.name.format} { "{f{\BPBI }.~~}{vv }{ll}{ jj}" } -FUNCTION {author.name.format} { "{ll}{, f.}{ vv}{, jj}" } +FUNCTION {author.name.format} { "{ll}{, f{\BPBI }.}{ vv}{, jj}" } -FUNCTION {editor.name.format} { "{f.~}{vv }{ll}{ jj}" } +FUNCTION {editor.name.format} { "{f{\BPBI }.~~}{vv }{ll}{ jj}" } -FUNCTION {index.name.format} { "{ll}{, f.}{ vv}{, jj}" } +FUNCTION {index.name.format} { "{ll}{, f{\BPBI }.}{ vv}{, jj}" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (1). -% Initialization. FUNCTION {init.initials} { "yyyyy" 'aut1f.old := @@ -788,11 +740,6 @@ FUNCTION {init.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (2). -% Update when author, editor, and key fields are not used. -% -% Call with -% field update.no.initials FUNCTION {update.no.initials} { 'field := @@ -802,7 +749,6 @@ FUNCTION {update.no.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (3). FUNCTION {check.add.initials.aut} { % @@ -832,9 +778,6 @@ FUNCTION {check.add.initials.aut} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (4). -% Call with -% field check.add.initials.field FUNCTION {check.add.initials.field} { 'field := @@ -847,7 +790,6 @@ FUNCTION {check.add.initials.field} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Check whether initials must be added (4). FUNCTION {check.add.initials} { % @@ -907,9 +849,6 @@ FUNCTION {check.add.initials} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute tentative number of names that must be cited (1). -% Call with -% field tentative.cite.num.names.field FUNCTION {tentative.cite.num.names.field} { 'field := @@ -938,7 +877,6 @@ FUNCTION {tentative.cite.num.names.field} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute tentative number of names that must be cited (2). FUNCTION {tentative.cite.num.names} { % @@ -997,8 +935,6 @@ FUNCTION {tentative.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Initialize "number of names to be cited" before -% looping over entries. FUNCTION {init.cite.num.names} { #0 'cite.num.names.old := @@ -1014,7 +950,6 @@ FUNCTION {init.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Update "number of names to be cited" . FUNCTION {update.cite.num.names} { cite.num.names.short 'cite.num.names.old := @@ -1030,10 +965,6 @@ FUNCTION {update.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format (maximally) 6 authors for comparison issues -% to determine number of authors that must be cited. -% It is assumed that the 'field' and 'numnames' variables -% have already been defined. FUNCTION {format.6.authors} { % @@ -1125,9 +1056,6 @@ FUNCTION {format.6.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (1). -% a's or b's are necessary: update add.to.year variable FUNCTION {change.add.to.year} { @@ -1151,12 +1079,6 @@ FUNCTION {change.add.to.year} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (1). -% Current and/or previous entry has 1 or 2 authors -% or editors acting as authors and they are published in the -% same year. The number of authors does not need to be changed -% in this case, but a's or b's may be necessary. FUNCTION {definitive.cite.num.names.1.or.2} { % @@ -1203,13 +1125,7 @@ FUNCTION {definitive.cite.num.names.1.or.2} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (2). -% Both current and previous entries have 3 or more authors -% or editors acting as authors and they are published in the -% same year. FUNCTION {definitive.cite.num.names.3.or.more} { % @@ -1475,18 +1391,7 @@ FUNCTION {definitive.cite.num.names.3.or.more} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited -% and whether a's or b's must be added to year (3). -% Current entry has an author or editor acting as author. -% -% Call with -% field definitive.cite.num.names.field -% -% What should we do with explicit "others"? Is now ignored. -% If this causes ambiguity that could be resolved, the user -% should have added additional author names. FUNCTION {definitive.cite.num.names.field} { 'field := @@ -1557,16 +1462,7 @@ FUNCTION {definitive.cite.num.names.field} update.cite.num.names } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited (4) -% and especially whether a's and b's should be added. -% This function is for the situation when author or editor -% are not used and firstkey, key, or something else is -% used to cite the referenced work. -% -% Call with -% formatted.field definitive.cite.no.names FUNCTION {definitive.cite.no.names} { % @@ -1600,7 +1496,6 @@ FUNCTION {definitive.cite.no.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Compute definitive number of names that must be cited (5). FUNCTION {definitive.cite.num.names} { % @@ -1647,7 +1542,6 @@ FUNCTION {definitive.cite.num.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make a tentative year sorting label (without `a' and `b'). FUNCTION {make.tentative.year.sort.label} { % @@ -1679,71 +1573,11 @@ FUNCTION {make.tentative.year.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Give month (converted to number) and day when available. FUNCTION {month.number.day} { month empty$ { "" } - { % -% month jan = -% { "01" } -% { month feb = -% { "02" } -% { month mar = -% { "03" } -% { month apr = -% { "04" } -% { month may = -% { "05" } -% { month jun = -% { "06" } -% { month jul = -% { "07" } -% { month aug = -% { "08" } -% { month sep = -% { "09" } -% { month oct = -% { "10" } -% { month nov = -% { "11" } -% { month dec = -% { "12" } -% { % - % Month is something - % else, e.g., "Spring" - % or jul # "/" # aug. - % Currently too - % difficult to figure - % out: user should - % trick the system. - % - month sortify - remove.spaces -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ -% } -% if$ + { month sortify remove.spaces % % Add the day when available. day empty$ @@ -1757,12 +1591,6 @@ FUNCTION {month.number.day} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make tentative sort label with names in field on top of -% the stack. -% -% Call with -% field make.name.sort.label -% where 'field' is the field that takes the author-role. FUNCTION {make.name.sort.label} { % @@ -1873,17 +1701,7 @@ FUNCTION {make.name.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey is available or author and -% editor are empty or unusable. -% -% Call with -% field make.field.year.sort.label -% where 'field' is the field that takes the author-role, -% perhaps already subjected to removing articles from the -% beginning. FUNCTION {make.field.year.sort.label} { % @@ -1921,11 +1739,7 @@ FUNCTION {make.field.year.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey are not available and -% author or editor may be used FUNCTION {make.author.editor.sort.label} { author empty$ @@ -1943,9 +1757,6 @@ FUNCTION {make.author.editor.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.tentative.sort.label to make tentative -% sort label if key or firstkey are not available and -% author (but not editor) may be used FUNCTION {make.author.sort.label} { author empty$ @@ -1958,10 +1769,7 @@ FUNCTION {make.author.sort.label} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make tentative label for citing and sorting and do some -% preprocessing. FUNCTION {make.tentative.sort.label} { % @@ -2066,15 +1874,7 @@ FUNCTION {make.tentative.sort.label} author.year.sort.label 'sort.key$ := } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make final sort label with names in field on top of -% the stack. -% -% Call with -% field make.definitive.name.sort.label -% -% where 'field' is the field that takes the author-role. FUNCTION {make.definitive.name.sort.label} { % @@ -2097,7 +1897,7 @@ FUNCTION {make.definitive.name.sort.label} { name.max 'format.num.names := } { numnames 'format.num.names := } if$ - % Initialize stack with empty stringh + % Initialize stack with empty string "" % % Cycle over authors. @@ -2126,16 +1926,7 @@ FUNCTION {make.definitive.name.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called to make definitive sort label if author and -% editor are empty or unusable. -% -% Call with -% field make.definitive.field.year.sort.label -% where 'field' is the field that takes the author-role, -% perhaps already subjected to removing articles from the -% beginning. FUNCTION {make.definitive.field.year.sort.label} { % @@ -2168,10 +1959,7 @@ FUNCTION {make.definitive.field.year.sort.label} 'author.year.sort.label := % Assign result to sort label. } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.final.sort.key if author or editor -% may be used. FUNCTION {make.definitive.author.editor.sort.label} { author empty$ @@ -2189,8 +1977,6 @@ FUNCTION {make.definitive.author.editor.sort.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Called by make.final.sort.key if author but not editor -% may be used. FUNCTION {make.definitive.author.sort.label} { author empty$ @@ -2203,11 +1989,7 @@ FUNCTION {make.definitive.author.sort.label} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make final sort key . FUNCTION {make.final.sort.key} { % @@ -2260,24 +2042,10 @@ FUNCTION {make.final.sort.key} author.year.sort.label 'sort.key$ := } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FUNCTIONS THAT ALLOW SORTING BY TITLE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove first N characters of string if they are equal to -% teststring . -% -% Call with -% teststring N string chop.word -% -% E.g., -% "A " #2 "A fine old day" chop.word -% gives "fine old day" -% and -% "A " #2 "The fine old day" chop.word -% gives "The fine old day". FUNCTION {chop.word} { 's := @@ -2289,10 +2057,6 @@ FUNCTION {chop.word} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Remove "a ", "an ", and "the " from beginning of string. -% -% Call with -% string chop.articles FUNCTION {chop.articles} { 's := @@ -2306,12 +2070,6 @@ FUNCTION {chop.articles} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format title and other non-name/date entries for sort key. -% -% Call with -% field format.sort.title -% -% Make sure that field is not empty, this is not checked here! FUNCTION {format.sort.title} { % @@ -2323,7 +2081,6 @@ FUNCTION {format.sort.title} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make title sorting label or substitute. FUNCTION {make.sort.title} { title empty$ @@ -2331,9 +2088,10 @@ FUNCTION {make.sort.title} { type empty$ { howpublished empty$ { note empty$ - { "no title, type, howpublished, or note in " cite$ * - warning$ - " " + { url empty$ + { " " } + { url format.sort.title } + if$ } { note format.sort.title } if$ @@ -2355,7 +2113,6 @@ FUNCTION {make.sort.title} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make title number: rank number of sorted title . FUNCTION {make.title.number} { title.sort.label old.label = @@ -2373,11 +2130,235 @@ FUNCTION {make.title.number} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% CITATION LABELS % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +FUNCTION {last.part.name.format} { "{ll}" } + +FUNCTION {initials.with.space.name.format} { "{f.}" } + +FUNCTION {von.last.junior.name.format} { "{vv }{ll}{ jj}" } + +FUNCTION {von.junior.name.format} { "{ vv}{, jj}" } + +FUNCTION {one.complete.name.format} { "{vv }{ll}{, jj}{, ff}" } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {string.length} +{ #0 'pos := + % If the next character exists, i.e., is not empty, + % add 1 to the string length. + % We cannot use empty$ because " " empty$ is true. + { duplicate$ pos #1 + #1 substring$ "" = not } + { pos #1 + 'pos := } + while$ + pop$ pos +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {transform.spaces.and.hyphens} +{ 's := % The original string + s string.length 'len := % Its length (no. of characters) + "" 't := % Initialize the transformed string + #1 'pos := + #0 'brace.level := + % + % while (pos < len) do + % + { pos len < } + { % First, check whether we are at brace level 0 + brace.level #0 = + { + % At least two characters left: check for ". ", ".~", and ".-". + % If so, replace and shift two positions. + s pos #2 substring$ ". " = + s pos #2 substring$ ".~" = or + { t "\BPBI " * 't := + pos #2 + 'pos := + } + { s pos #2 substring$ ".-" = + { t "\BHBI " * 't := + pos #2 + 'pos := + } + { % neither is true, copy one character and shift one position + t s pos #1 substring$ * 't := + % Check whether we need to increase brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + % Note also that unbalanced braces cause problems. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + 'skip$ + if$ + pos #1 + 'pos := + } + if$ + } + if$ + } + { % Not at brace level 0: copy result literally + t s pos #1 substring$ * 't := + % Check whether we need to increase or decrease brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + { s pos #1 substring$ "}" = + { brace.level #1 - 'brace.level := } + 'skip$ + if$ + } + if$ + pos #1 + 'pos := + } + if$ + } + while$ + % + pos len = + { % Last character, copy + t s pos #1 substring$ * 't := + } + { % pos = len + 1, so s ends with ". " or ".-" + % This should not have happened, but make the best out of it. + % Push last two characters of s on the stack, i.e., ". " or ".-". + s len #1 - #2 substring$ + % Remove "\BPBI " or "\BHBI " from t + t text.length$ 'len := % Length of t (no. of characters) + t #1 len #6 - substring$ + % Concatenate and assign to t + swap$ * 't := + } + if$ + % + % Now push the result back on the stack + t +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.initials.with.hyphen} +{ % Format initials. + % Call with + % field authornumber format.initials.with.hyphen + % e.g. + % author #1 format.initials.with.hyphen + % Instead of field, a string may also be used. + % + % First, format initials in the default way, retaining spaces + % and hyphens. + initials.with.space.name.format format.name$ + transform.spaces.and.hyphens +} + +FUNCTION {format.last.part.name} +{ % Format a name with last.part.name.format, + % as part of more complicated things. + % Call with + % field authornumber format.last.part.name + % e.g. + % author #1 format.last.part.name + % Instead of field, a string may also be used. + last.part.name.format format.name$ +} + +FUNCTION {format.von.last.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.last.junior.name + % e.g. + % author #1 format.von.last.junior.name + % Instead of field, a string may also be used. + von.last.junior.name.format format.name$ +} + +FUNCTION {format.von.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.junior.name + % e.g. + % author #1 format.von.junior.name + % Instead of field, a string may also be used. + von.junior.name.format format.name$ +} + +FUNCTION {format.cite.initials.name} +{ % Format a name for citing with initials. + % Call with + % field authornumber format.cite.initials.name + % e.g. + % author #1 format.cite.initials.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Format the initials and push on the stack. + duplicate$ #1 format.initials.with.hyphen + % + % Format the von-last-junior part and push on the stack. + swap$ #1 format.von.last.junior.name + % + % Connect with "~" hyphen (if they're both non-empty). + "~" connect.check +} + +FUNCTION {format.author.name} +{ % Format an author name for the reference list. + % Call with + % field authornumber format.author.name + % e.g. + % author #1 format.author.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Make two copies of the name, format the last name and push on the stack. + duplicate$ duplicate$ #1 format.last.part.name + % + % Format the initials and push on the stack. + swap$ #1 format.initials.with.hyphen + % + % Connect with last name. + connect.with.comma.check + % + % Format the von-junior part and connect with initials. + swap$ #1 format.von.junior.name "" connect.check +} + +FUNCTION {format.editor.name} +{ % Format a name for the reference list as an editor. + % Call with + % field authornumber format.editor.name + % e.g. + % author #1 format.editor.name + % Instead of field, a string may also be used. + % + format.cite.initials.name +} + +FUNCTION {format.index.name} +{ % Format an author name for the index. + % Call with + % field authornumber format.index.name + % e.g. + % author #1 format.index.name + % Instead of field, a string may also be used. + % + format.author.name +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Some macro strings about commas, etc. between authors FUNCTION {comma.between.two} { "\BCBT{}" } @@ -2394,35 +2375,28 @@ FUNCTION {et.al.string} { "\ \BOthers{.}" } FUNCTION {et.al.string.period} { "\ \BOthersPeriod{.}" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Add author index entry when desired. -% "field" must have been defined before and must contain the -% contents of the relevant author field. -% "nameptr" must also have been defined before. It is the -% number of the author that must be formatted. (So if it is -% #2, then the 2nd author must be formatted.) -% What's on top of the stack (the formatted author) is written -% to the .bbl file. FUNCTION {add.name.index} { % % make.index { "%" * write$ newline$ - "\protect\AX{" write$ + % Check for corporate author + field is.bibcorporate + { "\corporateAX{" } + { "\AX{" } + if$ + write$ field nameptr sort.name.format format.name$ sortify write$ newline$ "@" write$ - field nameptr index.name.format format.name$ "}%" * write$ newline$ + field nameptr format.index.name + "}%" * write$ newline$ } { "%" * write$ newline$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author or editor may be used. -% Field is on top of the stack. -% -% Call with -% format.num.names field make.name.cite.label FUNCTION {make.name.cite.label} { 'field := @@ -2444,8 +2418,8 @@ FUNCTION {make.name.cite.label} % #1 'nameptr := cite.initials #1 = - { field nameptr cite.initials.name.format format.name$ } - { field nameptr cite.name.format format.name$ } + { field nameptr format.cite.initials.name } + { field nameptr cite.name.format format.name$ } if$ add.name.index % Add index entry when desired. % @@ -2544,8 +2518,6 @@ FUNCTION {make.name.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when no author, editor, firstkey or key -% is available. FUNCTION {make.title.cite.label} { % @@ -2562,7 +2534,11 @@ FUNCTION {make.title.cite.label} { type empty$ { howpublished empty$ { note empty$ - { cite$ } + { url empty$ + { cite$ } + { url } + if$ + } { note } if$ } @@ -2588,7 +2564,6 @@ FUNCTION {make.title.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author or editor may be used. FUNCTION {make.author.editor.cite.label} { author empty$ @@ -2615,7 +2590,6 @@ FUNCTION {make.author.editor.cite.label} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Citation labels when author (but not editor) may be used. FUNCTION {make.author.cite.label} { author empty$ @@ -2634,9 +2608,7 @@ FUNCTION {make.author.cite.label} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make "a" or "b" supplement to year label when necessary. FUNCTION {make.definitive.year.supplement} { % @@ -2663,7 +2635,6 @@ FUNCTION {make.definitive.year.supplement} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Add \protect if year is \BIP or \bibnodate. FUNCTION {protect.year} { year empty$ @@ -2681,7 +2652,6 @@ FUNCTION {protect.year} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make year label that is used for citations in text. FUNCTION {make.definitive.year.label} { "{\protect\APACyear{" @@ -2717,16 +2687,7 @@ FUNCTION {make.definitive.year.label} make.definitive.year.supplement enclose.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Make citation labels: -% - Full formatted author list (or substitute if no author -% available) for first citation; -% - Short formatted author list (ditto) for subsequent -% citations; -% - Year, with originalyear when applicable, and "a" or "b" -% etc. addendum when necessary. FUNCTION {make.cite.labels} { newline$ @@ -2806,14 +2767,10 @@ FUNCTION {make.cite.labels} "}%" write$ newline$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% FORMATTING OF REFERENCE LIST % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% "(Ed.)" or "(Eds.)" postfix. -% editor must not be empty FUNCTION {editor.postfix} { editor num.names$ #1 > @@ -2823,8 +2780,6 @@ FUNCTION {editor.postfix} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% "(Ed. \& Trans.)" postfix -% editor must not be empty FUNCTION {editor.trans.postfix} { editor num.names$ #1 > @@ -2846,15 +2801,6 @@ FUNCTION {trans.postfix} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format authors (or editors acting as authors) for -% reference list. -% -% Call with -% dot field format.author.names -% where field is the field (string) that contains the authors -% (or editors acting as authors) that must be formatted and -% dot is 1 or 0 indicating whether or not a period must end -% the formatting. FUNCTION {format.author.names} { 'field := @@ -2880,7 +2826,7 @@ FUNCTION {format.author.names} % Format first author % #1 'nameptr := - field nameptr author.name.format format.name$ + field nameptr format.author.name % % Add period if required and if this is the only author. % @@ -2917,7 +2863,7 @@ FUNCTION {format.author.names} % Format second author. % #2 'nameptr := - field nameptr author.name.format format.name$ 's := + field nameptr format.author.name 's := % % Check if 2nd author is explicit "others". % If so, insert "et al." string. @@ -2962,7 +2908,7 @@ FUNCTION {format.author.names} % % Format and add next author % - field nameptr author.name.format format.name$ + field nameptr format.author.name add.name.index % Add index entry when desired. % % Move to next author @@ -2974,7 +2920,7 @@ FUNCTION {format.author.names} % nameptr = format.num.names % Format this author. % - field nameptr author.name.format format.name$ 's := + field nameptr format.author.name 's := % format.num.names numnames = { % @@ -3035,8 +2981,6 @@ FUNCTION {format.author.names} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format authors in reference list, where it is given that -% the author field is not empty. FUNCTION {format.authors} { #1 author format.author.names @@ -3044,14 +2988,6 @@ FUNCTION {format.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format editors in reference list in case editors act as -% authors (such as reference to entire edited book) -% -% Letheridge, S., \& Cannon, C. R. (Eds.). -% or -% Letheridge, S. (Ed.). (if only 1 editor) -% -% editor must not be empty FUNCTION {format.editors.as.authors} { #0 editor format.author.names @@ -3059,16 +2995,6 @@ FUNCTION {format.editors.as.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Format editors in reference list in case editors are also -% translators and act as authors (such as reference to entire -% edited book of translated articles) -% -% Letheridge, S., \& Cannon, C. R. (Eds. and Trans.). -% or -% Letheridge, S. (Ed. and Trans.). (if only 1 editor) -% -% editor must not be empty FUNCTION {format.ed.trans.as.authors} { #0 editor format.author.names @@ -3076,14 +3002,6 @@ FUNCTION {format.ed.trans.as.authors} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Format a list of names with the initials before the -% last names (i.e., names in the editor position), -% commas between names (not between 2), -% and ampersand (\&) before last name. -% These names are not put in the author index. -% -% Call with -% field format.editor.names FUNCTION {format.editor.names} { 'field := @@ -3098,7 +3016,7 @@ FUNCTION {format.editor.names} % % Format first editor % - field #1 editor.name.format format.name$ + field #1 format.editor.name % numnames #1 = 'skip$ @@ -3109,7 +3027,7 @@ FUNCTION {format.editor.names} % Given that format.num.names > 1, it is 2. % No comma. Format second editor. % - field #2 editor.name.format format.name$ 's := + field #2 format.editor.name 's := % % Check if 2nd editor is explicit "others". % If so, insert "et al." string. @@ -3133,7 +3051,7 @@ FUNCTION {format.editor.names} % % Format and add next editor % - field nameptr editor.name.format format.name$ * + field nameptr format.editor.name * % % Move to next editor % @@ -3144,7 +3062,7 @@ FUNCTION {format.editor.names} % nameptr = format.num.names % Format this editor. % - field nameptr editor.name.format format.name$ 's := + field nameptr format.editor.name 's := % format.num.names numnames = { % @@ -3176,7 +3094,6 @@ FUNCTION {format.editor.names} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format editors in case editors do not act as authors @@ -3195,7 +3112,6 @@ FUNCTION {format.editors.in.line} editor.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format editors in case editors are also translators @@ -3216,7 +3132,6 @@ FUNCTION {format.editors.trans.in.line} editor.trans.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format translators in case translators act as editors @@ -3235,7 +3150,6 @@ FUNCTION {format.translators.in.line} trans.postfix connect.with.space.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format translators in case translator does not act as editor @@ -3312,9 +3226,6 @@ FUNCTION {format.editors.translators.in.paren.check} FUNCTION {format.atrans.check} { format.translators.in.paren.check parenthesize.check } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In editor (Ed.), " @@ -3327,7 +3238,6 @@ FUNCTION {format.in.editors} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In translator (Trans.)," @@ -3340,8 +3250,6 @@ FUNCTION {format.in.trans} if$ } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format "In editor (Ed. and Trans.)" @@ -3369,69 +3277,54 @@ FUNCTION {format.in.editors.trans} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DATE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Formats year (+ extra label) between parentheses (which -% may be redefined by \BBOP and \BBCP). -% Extra label can be used for -% Bentler, P. M. (1983a) <article 1> -% Bentler, P. M. (1983b) <article 2> FUNCTION {format.year.check} -{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses +{ "\APACrefYear{" year empty$ - { "\bibnodate{}" } - { year } + { "\bibnodate{}" * } + { year * } if$ % % Add "a", "b", etc. when necessary. % make.definitive.year.supplement * - % - % Combine everything - % - enclose.check + "}" * } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Formats year (+ extra label) + month + day between -% parentheses (which may be redefined by \BBOP and \BBCP). -% Extra label can be used for -% Bentler, P. M. (1983a, June 7) <article 1> -% Bentler, P. M. (1983b, April 4) <article 2> FUNCTION {format.year.month.day.check} -{ "\BBOP{}" "\BBCP{}" % Opening and closing parentheses +{ "\APACrefYearMonthDay{" year empty$ - { "\bibnodate{}" } - { year } + { "\bibnodate{}" * } + { year * } if$ % % Add "a", "b", etc. when necessary. % make.definitive.year.supplement * + "}{" * % % Add month and day when present. % - month connect.with.comma.check - day connect.with.space.check - % - % Combine everything - % - enclose.check + month empty$ + 'skip$ + { month * } + if$ + "}{" * + day empty$ + 'skip$ + { day * } + if$ + "}" * } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% TITLE FORMATTING % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3444,13 +3337,16 @@ FUNCTION {format.atitle.no.dot} "\BBCQ{}" swap$ duplicate$ empty$ 'skip$ - { "t" change.case$ } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefatitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * + } if$ enclose.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3460,15 +3356,19 @@ FUNCTION {format.atitle.no.dot} % FUNCTION {format.atitle.dot} { "\BBOQ{}" swap$ - "\BBCQ{} " swap$ + "\BBCQ{}" swap$ duplicate$ empty$ 'skip$ - { "t" change.case$ add.period$ } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefatitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * add.period$ + } if$ enclose.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of article in journal or book @@ -3491,39 +3391,37 @@ FUNCTION {format.atitle.connect} if$ } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % title of book or so, no period - % + % title of book or so, without period % call with % field format.btitle.no.dot % FUNCTION {format.btitle.no.dot} { duplicate$ empty$ 'skip$ - { "t" change.case$ emphasize.check } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbtitle{" swap$ * "}{" * swap$ + "t" change.case$ + * "}" * + } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of book or so, with period - % (maybe emphasize and add.period$ should be reversed) % call with % field format.btitle.dot % FUNCTION {format.btitle.dot} { duplicate$ empty$ 'skip$ - { "t" change.case$ add.period$ emphasize.check } + { add.period$ format.btitle.no.dot } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of book and similar @@ -3569,10 +3467,27 @@ FUNCTION {format.btitle.connect.no.dot} % % format englishtitle (of nonenglish article, etc.) % -FUNCTION {format.etitle.check} +FUNCTION {format.aetitle.check} { englishtitle empty$ { "" } - { englishtitle "t" change.case$ bracket.check } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefaetitle{" englishtitle * "}{" * + englishtitle "t" change.case$ * "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format englishtitle (of nonenglish book, etc.) + % +FUNCTION {format.betitle.check} +{ englishtitle empty$ + { "" } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbetitle{" englishtitle * "}{" * + englishtitle "t" change.case$ * "}" * + } if$ } @@ -3583,53 +3498,51 @@ FUNCTION {format.etitle.check} FUNCTION {format.atype.check} { type bracket.check } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title and englishtitle (of article, etc.) % FUNCTION {format.atitle.check} -{ format.etitle.check +{ format.aetitle.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, and type % (of article, etc.) % FUNCTION {format.atitle.type.check} -{ format.etitle.check +{ format.aetitle.check format.atype.check connect.with.space.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, % and translator (of article, etc.) % FUNCTION {format.atitle.trans.check} -{ format.etitle.check +{ format.aetitle.check format.atrans.check connect.with.space.check title format.atitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format title, englishtitle, type, % and translator (of article, etc.) % FUNCTION {format.atitle.type.trans.check} -{ format.etitle.check +{ format.aetitle.check format.atype.check connect.with.space.check format.atrans.check connect.with.space.check title format.atitle.connect } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3639,13 +3552,24 @@ FUNCTION {format.atitle.type.trans.check} % FUNCTION { format.journal.vol.num.pages.check } { "journal" journal warning.if.empty - journal emphasize.check - volume emphasize.check connect.with.comma.check - number parenthesize.check "" connect.check - swap$ connect.with.comma.check + duplicate$ empty$ + journal empty$ and + volume empty$ and + number empty$ and + { pop$ "" } + { "\APACjournalVolNumPages{" journal "" connect.check + "}{" * volume "" connect.check + "}{" * number "" connect.check + "}{" * swap$ "" connect.check + "}" * + } + if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume of book, checks whether % "Volume" or "Volumes" @@ -3658,14 +3582,12 @@ FUNCTION {format.bvolume.check} 'skip$ { duplicate$ multi.result.check { "\BVOLS" swap$ tie.or.space.connect } - { "\BVOL" swap$ tie.or.space.connect } + { "\BVOL" swap$ tie.or.space.connect } if$ } if$ } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % edition of book, must not be empty @@ -3675,11 +3597,12 @@ FUNCTION {format.bvolume.check} FUNCTION {format.edition.check} { duplicate$ empty$ 'skip$ - { "\BEd" connect.with.space.check } + { "\PrintCardinal{" swap$ * "}" * + "\BEd" connect.with.space.check + } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume and edition of book @@ -3690,9 +3613,6 @@ FUNCTION {format.bvol.edition.check} connect.with.comma.check } - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume and edition of book @@ -3737,7 +3657,7 @@ FUNCTION {format.bpages.check} 'skip$ { duplicate$ multi.result.check { "\BPGS" swap$ tie.or.space.connect } - { "\BPG" swap$ tie.or.space.connect } + { "\BPG~" swap$ * } if$ } if$ @@ -3764,7 +3684,6 @@ FUNCTION {format.bchapter.check} if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % volume, edition, and pages or chapter of article in book etc. @@ -3778,25 +3697,22 @@ FUNCTION {format.bvol.edition.pages} parenthesize.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title, volume, edition of book % FUNCTION {format.btitle.vol.edition} -{ format.etitle.check +{ format.betitle.check format.bvol.edition connect.with.space.check title format.btitle.connect.no.dot } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title, volume, edition, and translator of book % FUNCTION {format.btitle.vol.edition.trans} -{ format.etitle.check +{ format.betitle.check format.bvol.edition.trans connect.with.space.check title format.btitle.connect.no.dot } @@ -3806,12 +3722,15 @@ FUNCTION {format.btitle.vol.edition.trans} % title, volume, edition, editor, and translator of book % FUNCTION {format.btitle.vol.edition.editor.trans} -{ format.etitle.check +{ format.betitle.check format.bvol.edition.editor.trans connect.with.space.check title format.btitle.connect.no.dot } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format address and publisher of book etc. % @@ -3822,10 +3741,28 @@ FUNCTION {format.btitle.vol.edition.editor.trans} % New York (if publisher empty) % FUNCTION {format.address.publisher} -{ address publisher connect.with.colon.check } - - - +{ % + % If publisher = author or publisher = "author" or publisher = "Author" + % then hand over the final choice how to format this to \LaTeX. + % (I could imagine similar code for editors, but the APA manual does + % not mention it and then we'd have to check whether the editor is in + % the author position, so let's keep it simple until someone complains.) + % + author empty$ + publisher empty$ or + { publisher "\APACaddressPublisher{" } + { author publisher = + "author" publisher = or + "Author" publisher = or + { author "\APACaddressPublisherEqAuth{" } + { publisher "\APACaddressPublisher{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover publisher that was pushed onto the stack previously. + swap$ "" connect.check "}" * +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3842,10 +3779,22 @@ FUNCTION {format.address.publisher} FUNCTION {format.address.publisher.check} { "publisher" publisher warning.if.empty "address" address warning.if.empty - format.address.publisher + publisher empty$ + address empty$ + and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher + } + if$ } - +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3858,7 +3807,7 @@ FUNCTION {format.rnumber.check} 'skip$ { duplicate$ multi.result.check { "\BNUMS" swap$ tie.or.space.connect } - { "\BNUM" swap$ tie.or.space.connect } + { "\BNUM" swap$ tie.or.space.connect } if$ } if$ @@ -3871,16 +3820,22 @@ FUNCTION {format.rnumber.check} % format.type.number % FUNCTION { format.type.number } -{ number empty$ - { type bracket.check } - { type - number format.rnumber.check connect.with.space.check +{ type empty$ + { type.2 } + { type } + if$ + number empty$ + { bracket.check } + { number format.rnumber.check connect.with.space.check parenthesize.check } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format howpublished if not empty, % for various entry types @@ -3890,8 +3845,12 @@ FUNCTION { format.type.number } FUNCTION {format.howpublished} { howpublished empty$ 'skip$ - { output.dot.new.block - howpublished + { % clear the stack + duplicate$ empty$ + 'pop$ + { output.dot.new.block } + if$ + "\APAChowpublished{" howpublished * "}" * } if$ } @@ -3906,26 +3865,71 @@ FUNCTION {format.howpublished} FUNCTION {output.howpublished} { howpublished empty$ 'skip$ - { howpublished + { "\APAChowpublished{" howpublished * "}" * output.dot.new.block } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% NOTE FORMATTING FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % begin and end of url environment + % +FUNCTION {begin.end.url.env} +{ " \begin{APACrefURL} " + % For "Retrieved <date>, from" + lastchecked empty$ + 'skip$ + { "[{" * lastchecked * "}]" * } + if$ + " \end{APACrefURL} " +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % format optional note + % begin and end of message environment % -FUNCTION {format.note} -{ note parenthesize.check } +FUNCTION {begin.end.msg.env} +{ " \begin{APACrefURLmsg} " + " \end{APACrefURLmsg} " +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format url given that it is not empty, + % for various entry types + % call with + % format.url + % +FUNCTION {format.url} +{ % First format begin and end of the enclosing environment. + % With posted messages, a different environment is used. + type.2 empty$ + { begin.end.url.env } + { type.2 "\bibmessage" = + { begin.end.msg.env } + { begin.end.url.env } + if$ + } + if$ + % The url string. + "\url{" url * "}" * + % Enclose in begin and end environment + enclose.check +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format optional note + % +FUNCTION {format.note} +{ "\APACrefnote{" "}" note enclose.check } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -3934,33 +3938,27 @@ FUNCTION {format.note} % FUNCTION {format.orig.year.note} { originalyear empty$ - { note parenthesize.check } - { originalyear "\bibnodate" = - { note parenthesize.check } - { "\BOWP{} " originalyear * % original work published - note connect.with.semicolon.check - parenthesize.check - } - if$ + { format.note } + { "\APACorigyearnote{" + originalyear "" connect.check "}{" * + note "" connect.check "}" * } if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format original journal of publication and note % (reprint or translation) % FUNCTION {format.orig.journal.note} -{ "\BREPR{} " % reprinted from - originaljournal emphasize.check * - originalyear connect.with.comma.check - originalvolume emphasize.check connect.with.comma.check - originalnumber bracket.check "" connect.check - originalpages connect.with.comma.check - note connect.with.semicolon.check - parenthesize.check +{ "\APACorigjournalnote{" + originalyear "" connect.check "}{" * + originaljournal "" connect.check "}{" * + originalvolume "" connect.check "}{" * + originalnumber "" connect.check "}{" * + originalpages "" connect.check "}{" * + note "" connect.check "}" * } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -3969,42 +3967,27 @@ FUNCTION {format.orig.journal.note} % (reprint or translation) % FUNCTION {format.orig.book.note} -{ "\BREPR{}" % Reprinted from - % - % title of the book the work was originally published in - % - originalbooktitle format.btitle.no.dot connect.with.space.check - % - % volume, edition, pages - % - originaledition format.edition.check connect.with.comma.check - originalvolume format.bvolume.check connect.with.comma.check - originalpages format.bpages.check connect.with.comma.check - % - % editor of the original book +{ "\APACorigbooknote{" originalyear "" connect.check "}{" * % originaleditor empty$ 'skip$ - { "by " originaleditor format.editor.names * - originaleditor num.names$ #1 > - { ", \BEDS{}" * } - { ", \BED{}" * } + { originaleditor num.names$ #1 > + { "\APACorigEDS{" * originaleditor format.editor.names * "}" * } + { "\APACorigED{" * originaleditor format.editor.names * "}" * } if$ - connect.with.comma.check } if$ % - % year of the original publication - % - originalyear connect.with.comma.check - % - originaladdress originalpublisher connect.with.colon.check - connect.with.comma.check - note connect.with.semicolon.check - parenthesize.check + "}{" * + originalbooktitle format.btitle.no.dot "" connect.check "}{" * + originaledition format.edition.check "" connect.check "}{" * + originalvolume format.bvolume.check "" connect.check "}{" * + originalpages format.bpages.check "" connect.check "}{" * + originaladdress "" connect.check "}{" * + originalpublisher "" connect.check "}{" * + note "" connect.check "}" * } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format information about original publication of reprint @@ -4015,38 +3998,35 @@ FUNCTION {format.orig.note} { originalbooktitle empty$ { note empty$ { originalyear empty$ - { add.period$ } + 'skip$ { originalyear "\bibnodate" = - { add.period$ } - { output.dot.new.block + 'skip$ + { output.new.block format.orig.year.note } if$ } if$ } - { output.dot.new.block + { output.new.block format.orig.year.note } if$ } - { output.dot.new.block + { output.new.block format.orig.book.note } if$ } - { output.dot.new.block + { output.new.block format.orig.journal.note } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% PERIODICALS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % article in periodical: journal, magazine, newspaper, ... @@ -4110,7 +4090,20 @@ FUNCTION {periodical} % if not empty, insert howpublished. % (used if article is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % possible reprint and optional note % @@ -4118,8 +4111,6 @@ FUNCTION {periodical} fin.entry } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % journal article @@ -4127,8 +4118,6 @@ FUNCTION {periodical} FUNCTION {article} { pages format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % magazine article @@ -4136,8 +4125,6 @@ FUNCTION {article} FUNCTION {magazine} { pages format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % newspaper article @@ -4145,8 +4132,6 @@ FUNCTION {magazine} FUNCTION {newspaper} { pages format.bpages.check format.year.month.day.check periodical } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translation of) entire book @@ -4168,7 +4153,7 @@ FUNCTION {book} { format.btitle.vol.edition.trans format.type.number connect.with.space.check output.dot.new.block - format.year.check output.dot.new.block + format.year.check add.period$ } % % format editor and year, and check if year is present @@ -4196,7 +4181,7 @@ FUNCTION {book} } if$ format.type.number connect.with.space.check - output.dot.new.block + add.period$ } if$ } @@ -4208,7 +4193,7 @@ FUNCTION {book} format.year.check output.dot.new.block format.btitle.vol.edition.editor.trans format.type.number connect.with.space.check - output.dot.new.block + add.period$ } if$ % @@ -4216,6 +4201,24 @@ FUNCTION {book} % format.address.publisher.check % + % if not empty, insert howpublished. + % (used if book is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % % format original publication (of reprint/translation) % and optional note % @@ -4223,7 +4226,6 @@ FUNCTION {book} fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translated) article or chapter in edited book @@ -4246,7 +4248,7 @@ FUNCTION {incollection} % esp. for ``collections'' that are not books, % such as parts of internet documents % - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } % % format author and year, and check if year is present @@ -4258,25 +4260,38 @@ FUNCTION {incollection} { format.atitle.type.trans.check } { format.atitle.type.check } if$ - output.new.block } if$ % % format "In " editor " (Ed. \& Trans.), " % booktitle, volume, edition, pages % + output.new.block format.in.editors.trans format.bvol.edition.pages - booktitle format.btitle.connect * output.dot.new.block + booktitle format.btitle.connect * add.period$ % % format address and publisher, check if publisher present % format.address.publisher.check - % - % if not empty, insert howpublished. - % (used if article is retrieved from the internet) - % - format.howpublished + % + % if not empty, insert howpublished. + % (used if article is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format original publication (of reprint/translation) % and optional note @@ -4286,10 +4301,8 @@ FUNCTION {incollection} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% REPORTS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % technical report number @@ -4311,14 +4324,36 @@ FUNCTION {format.tr.number} % title, volume, edition, report number % FUNCTION {format.tr.title.number} -{ format.etitle.check - format.bvol.edition.check - format.tr.number connect.with.semicolon.check - parenthesize.check connect.with.space.check +{ format.betitle.check + % Single out the situation in which there is no number + % and type = {\bibnotype}, i.e., no type as well. + % (Why not use book then?) + type empty$ + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR{" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + { type "\bibnotype" = + number empty$ + volume empty$ + edition empty$ + and + and + and + { "" } + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR{" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + if$ + } + if$ + connect.with.space.check title format.btitle.connect } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % format address and institution of reports etc. @@ -4332,10 +4367,38 @@ FUNCTION {format.tr.title.number} FUNCTION {format.address.institution.check} { "institution" institution warning.if.empty "address" address warning.if.empty - address institution connect.with.colon.check + institution empty$ + address empty$ + and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + % + % If institution = author or institution = "author" + % or institution = "Author" then hand over the final choice how to + % format this to \LaTeX. See also format.address.publisher + % + author empty$ + institution empty$ or + { institution "\APACaddressInstitution{" } + { author institution = + "author" institution = or + "Author" institution = or + { author "\APACaddressInstitutionEqAuth{" } + { institution "\APACaddressInstitution{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover institution that was pushed onto the stack previously. + swap$ "" connect.check "}" * + } + if$ } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % reports @@ -4351,7 +4414,7 @@ FUNCTION {techreport} % title formatted as book title % { format.tr.title.number output.dot.new.block - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } % % format editor and year, and check if year is present @@ -4360,7 +4423,7 @@ FUNCTION {techreport} % { format.editors.as.authors start.new.block format.year.month.day.check output.dot.new.block - format.tr.title.number output.dot.new.block + format.tr.title.number add.period$ } if$ } @@ -4371,7 +4434,7 @@ FUNCTION {techreport} % { format.authors start.new.block format.year.month.day.check output.dot.new.block - format.tr.title.number output.dot.new.block + format.tr.title.number add.period$ } if$ % @@ -4382,21 +4445,36 @@ FUNCTION {techreport} % if not empty, insert howpublished. % (used if report is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (translated) article or chapter in report @@ -4437,13 +4515,13 @@ FUNCTION {intechreport} % % volume, edition, report type and number, pages % - format.bvol.edition.check - format.tr.number connect.with.semicolon.check - pages format.bpages.check connect.with.comma.check - parenthesize.check + "\APACbVolEdTRpgs{" format.bvol.edition.check * "}{" * + format.tr.number * + "}{" * pages format.bpages.check * + "}" * % booktitle format.btitle.connect * - output.dot.new.block + add.period$ % % format address and publisher, check if publisher present % @@ -4452,7 +4530,20 @@ FUNCTION {intechreport} % if not empty, insert howpublished. % (used if report is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format original publication (of reprint/translation) % and optional note @@ -4477,12 +4568,15 @@ FUNCTION {lecture} % format.year.month.day.check output.dot.new.block symposium empty$ - { format.etitle.check + { format.betitle.check title format.btitle.connect output.new.block howpublished empty$ - { "symposium and howpublished missing in " * cite$ warning$ } - { howpublished } + { "symposium and howpublished missing in " cite$ * warning$ + "" + } + { "\APAChowpublished{" howpublished * "}" * } if$ + address connect.with.comma.check } { format.atitle.type.check output.new.block "\BIn{} " @@ -4498,26 +4592,42 @@ FUNCTION {lecture} if$ symposium format.btitle.no.dot * format.howpublished + address connect.with.comma.check + } + if$ + add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% THESES % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % default thesis type is on top of stack @@ -4535,8 +4645,6 @@ FUNCTION {format.type.school} school connect.with.comma.check } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % phd theses, etc. @@ -4583,7 +4691,7 @@ FUNCTION {thesis} parenthesize.check } if$ - format.etitle.check + format.aetitle.check swap$ connect.with.space.check "title" title warning.if.empty title format.atitle.connect output.new.block @@ -4594,20 +4702,36 @@ FUNCTION {thesis} % if not empty, insert howpublished. % (used if thesis is retrieved from the internet) % - format.howpublished + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % phd theses, etc. @@ -4615,7 +4739,6 @@ FUNCTION {thesis} FUNCTION {phdthesis} { "\BPhD" "\BUPhD" thesis } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % master's theses, etc. @@ -4623,13 +4746,9 @@ FUNCTION {phdthesis} FUNCTION {mastersthesis} { "\BMTh" "\BUMTh" thesis } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% OTHER % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % title of something (used in unpublished and misc) @@ -4637,7 +4756,8 @@ FUNCTION {mastersthesis} % type and number of something % FUNCTION {format.btitle.type.num} -{ format.etitle.check +{ format.betitle.check + format.bvol.edition connect.with.space.check format.type.number connect.with.space.check title empty$ @@ -4653,11 +4773,12 @@ FUNCTION {format.btitle.type.num} % type and number of something % FUNCTION {format.mtitle.type.num} -{ format.etitle.check - type "\bibmessage" = +{ format.aetitle.check + format.bvol.edition connect.with.space.check + type.2 "\bibmessage" = { number empty$ 'skip$ - { type number connect.with.space.check + { type.2 number tie.or.space.connect bracket.check connect.with.space.check } @@ -4679,23 +4800,16 @@ FUNCTION {format.mtitle.type.num} % type and number of something (used in misc) % FUNCTION {output.misctitle.type.num} -{ type empty$ +{ type.2 empty$ { format.btitle.type.num } - { type "\bibmessage" = - type "\bibcomputerprogram" = - type "\bibcomputerprogrammanual" = - type "\bibcomputerprogramandmanual" = - type "\bibcomputersoftware" = - type "\bibcomputersoftwaremanual" = - type "\bibcomputersoftwareandmanual" = - type "\bibprogramminglanguage" = - or - or - or - or - or - or - or + { type.2 "\bibmessage" = + type.2 "\bibcomputerprogram" = or + type.2 "\bibcomputerprogrammanual" = or + type.2 "\bibcomputerprogramandmanual" = or + type.2 "\bibcomputersoftware" = or + type.2 "\bibcomputersoftwaremanual" = or + type.2 "\bibcomputersoftwareandmanual" = or + type.2 "\bibprogramminglanguage" = or { format.mtitle.type.num } { format.btitle.type.num } if$ @@ -4718,8 +4832,8 @@ FUNCTION {unpublished} % no author or editor: title serves as author. % title formatted as book title % - { format.btitle.type.num output.dot.new.block - format.year.month.day.check + { format.btitle.type.num output.new.block + format.year.month.day.check add.period$ } % % format editor and year, and check if year is present @@ -4742,36 +4856,59 @@ FUNCTION {unpublished} } if$ howpublished empty$ - organization empty$ - address empty$ - and - and + organization empty$ and + address empty$ and 'skip$ - { output.dot.new.block - howpublished + { output.new.block + "\APAChowpublished{" "}" howpublished enclose.check organization connect.with.comma.check address connect.with.comma.check + add.period$ + } + if$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { add.period$ } - { output.dot.new.block + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ format.note } if$ fin.entry } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % nonprint media and other things that don't fit % FUNCTION {misc} -{ author empty$ +{ % + % To handle @manual: use type.2 instead of type. + type.2 empty$ + type empty$ not and + { type 'type.2 := } + 'skip$ + if$ + % + author empty$ % % no author: possibly edited item with editors as authors % @@ -4782,19 +4919,20 @@ FUNCTION {misc} % % if no title and no type, howpublished is title % - { title empty$ - type empty$ - and + { title empty$ + type.2 empty$ and { howpublished empty$ { "No author, editor, title, type, and howpublished in " - cite$ * warning$ } - { howpublished output.dot.new.block } + cite$ * warning$ + "" + } + { "\APAChowpublished{" howpublished * "}" * add.period$ } if$ - format.year.month.day.check output.dot.new.block + format.year.month.day.check add.period$ } { output.misctitle.type.num output.new.block - format.year.month.day.check output.dot.new.block - output.howpublished + format.year.month.day.check add.period$ + format.howpublished add.period$ } if$ } @@ -4804,8 +4942,8 @@ FUNCTION {misc} % { format.editors.as.authors start.new.block format.year.month.day.check output.dot.new.block - output.misctitle.type.num output.new.block - output.howpublished + output.misctitle.type.num + format.howpublished add.period$ } if$ } @@ -4816,24 +4954,47 @@ FUNCTION {misc} % { format.authors start.new.block format.year.month.day.check output.dot.new.block - output.misctitle.type.num output.new.block - output.howpublished + output.misctitle.type.num + format.howpublished add.period$ } if$ - address empty$ - publisher empty$ - and + % + address empty$ + publisher empty$ and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher add.period$ + } + if$ + % + % format url + % + url empty$ 'skip$ - { format.address.publisher - output.dot.new.block + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url } if$ % % format optional note % note empty$ - { "" } - { format.note } + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } if$ fin.entry } @@ -4853,16 +5014,26 @@ FUNCTION {literal} fin.entry } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % technical documentation + % +FUNCTION {manual} +{ % + % If type is empty, assume that it is a computer software manual. + % + type empty$ + { "\bibcomputersoftwaremanual" 'type.2 := } + 'skip$ + if$ + misc +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % following functions not used for APA Manual examples % - - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % booklet @@ -4870,7 +5041,6 @@ FUNCTION {literal} FUNCTION {booklet} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % part of a book @@ -4878,7 +5048,6 @@ FUNCTION {booklet} FUNCTION {inbook} { incollection } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % article in proceedings @@ -4886,16 +5055,12 @@ FUNCTION {inbook} FUNCTION {inproceedings} { incollection } - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % - % technical documentation + % article in proceedings (Kopka & Daly, 2004, p. 230) % -FUNCTION {manual} -{ misc } - - +FUNCTION {conference} +{ inproceedings } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -4904,7 +5069,6 @@ FUNCTION {manual} FUNCTION {proceedings} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % unknown types @@ -4912,17 +5076,13 @@ FUNCTION {proceedings} FUNCTION {default.type} { misc } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% INITIALIZATION FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {initialize} { % % Maximum number of names to be formatted . #6 'name.max := -% #250 'entry.max$ := -% #5000 'global.max$ := } FUNCTION {init.old.number} @@ -4961,12 +5121,9 @@ FUNCTION {move.backward} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% BASIC BIBLIOGRAPHY OUTPUT FUNCTIONS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Beginning of the thebibliography environment: -% Write preamble if there is one, write \begin command FUNCTION {begin.bib} { preamble$ empty$ @@ -4977,7 +5134,6 @@ FUNCTION {begin.bib} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Write \end{thebibliography} command FUNCTION {end.bib} { newline$ @@ -4985,8 +5141,6 @@ FUNCTION {end.bib} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Write the citation labels and reference list entry to -% the .bbl file. FUNCTION {write.bbl.entry} { % @@ -5000,20 +5154,17 @@ FUNCTION {write.bbl.entry} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% READ AND PROCESS ENTRIES, MAKE THEBIBLIOGRAPHY % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Read entries . - READ -% Some initializations . + +EXECUTE { identify.apacite.version } + EXECUTE { initialize } -% Sort items by title in order to replace each title by -% its number in later sorting . ITERATE { make.sort.title } @@ -5025,17 +5176,11 @@ EXECUTE { init.old.label } ITERATE { make.title.number } -% Now generate some tentative author-year labels and do some -% preprocessing for the later definitive author and year -% labels. ITERATE { make.tentative.sort.label } SORT -% Now check whether initials must be added to first author, -% how many authors must be formatted, whether an "a", "b", -% etc., must be added to the year label. ITERATE { init.cite.initials.add.to.year } @@ -5062,30 +5207,21 @@ EXECUTE { move.backward } REVERSE { definitive.cite.num.names } -% Make final sorting label and do definitive sorting . - ITERATE { make.final.sort.key } SORT -% Write preamble and \begin{thebibliography}{} statement EXECUTE { begin.bib } -% Make final cite labels, format reference list entry, -% and write to .bbl file. ITERATE { write.bbl.entry } -% Write \end{thebibliography} statement - EXECUTE { end.bib } - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DONE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% EOF apacitex.bst -% +%% +%% +%% End of file `apacitex.bst'. |