New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here


by: Ms. Jerrell Lind
Ms. Jerrell Lind
GPA 3.55


Almost Ready


These notes were just uploaded, and will be ready to view shortly.

Purchase these notes here, or revisit this page.

Either way, we'll remind you when they're ready :)

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Class Notes
25 ?




Popular in Course

Popular in Chemistry

This 46 page Class Notes was uploaded by Ms. Jerrell Lind on Thursday September 17, 2015. The Class Notes belongs to CHEM 920 at University of Wisconsin - Madison taught by Staff in Fall. Since its upload, it has received 25 views. For similar materials see /class/205348/chem-920-university-of-wisconsin-madison in Chemistry at University of Wisconsin - Madison.


Reviews for Seminar


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/17/15
BIBTEX Style Files for Chemistry Journals Stephan Schenk mail at schenk stephande September 177 2008 Contents 1 Introduction 2 Some notes 21 crossref entries i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 22 JAmChemSocibst i i i i i i i i i i i i i i i i i i i i i i i i i i i i 23 Customization i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 3 Description of important entry types 31 article 32 book i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 33 inbook i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 34 incollection i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 35 masterthesis and phdthesis i i i i i i i i i i i i i i i i i i i i 36 program i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 37 misc i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 38 unpublished i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 4 The implementation 41 Setup i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 42 Output related functions i i i i i i i i i i i i i i i i i i i i i i i i 43 Operators i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 44 Small helper functions i i i i i i i i i i i i i i i i i i i i i i i i i 45 Field formatting functions i i i i i i i i i i i i i i i i i i i i i i i 46 Functions related to crossreferenced entries i i i i i i i i i i i i i 47 article related funtions i i i i i i i i i i i i i i i i i i i i i i i i 48 book related functions 49 misc related functions i i i i i i i i i i i i i i i i i i i i i i i i 410 program related functions i i i i i i i i i i i i i i i i i i i i i i 411 Entry types i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 412 Main program i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i This le describes Version 025 and has been last revised 20080917 N COLUMN aammmibibuk 1 Introduction This collection of bibtex style les started with a version intended for Chem Eur J The base version of it was created using the marvelous makebst program by Patrick Wi Dalyi Soon afterwards a version for J Am Chem Soc was available too With changes to both les becoming more and more complex everything was merged into a single chembst dtx le to avoid maintaining several versions of the code Using the docstrip utility the different style les can now easily be generated by running latex chembst insi Currently the following journals are supported 0 Chem Commun ChemCommunbst o Inorg Chem InorgChembst which can be used for most of the journals published by the American Chemical Society 0 J Am Chem Soc JAmChemSocbst 0 Chem Eur J ChemEurJbst which can be used for most of the journals published by Wiley Additionally the following styles are also supported 0 Curn39culum vitae cvbst a style similar to Chem Eur J that includes the title of an article 2 Some notes 21 crossref entries The crossref feature is described in detail in the btxdoc dvi BIB IEX documenta tioni Using crossref is a way to inherit information from a parent entryi As an example consider a database containing a book entry for citing the whole book and a inbook entry for citing some pages from that book Naturally the only difference between both entries is that inbook contains a pages eld All the other information is stored redundantlyi Using the crossref feature the inbook entry can be as simple as inbookfinbookkey crossref bookkey pages 15 All the other elds author publisher year etc are inherited from the parent entry with the key bookkeyi If you do not cite the whole book in your document i e the document does not contain citebookkey the following will happen If bookkey is not crossreferenced more than once1 everything will look perfectly like a normal inbook entryi However if bookkey is crossreferenced more than once the entry corresponding to the whole book will be added automatically to the bibliography and the inbook entry will be formatted as A Author in citeb00kkey pages 15 If your document does contain citeb00kkey you will always get the 1You can change that number by passing the argument imirrcrossrefsnumber to bibtex 2In fact bibliographycite is used See section 23 for details url urlprefix foreignlanguage bibliographycite bbl crossref format This applies to entries of type inbook incollection and inproceedingsi 22 JAmChemSocbst The Journal of the American Chemical Society ACS now requires that for cita tions with more than 10 authors the list of authors is abbreviated by giving only the rst author followed by 675 Ill The style le JAmChemSoc bst automatically takes care of that However ACS also requires that for those citations the full list of au thors should be given as Supporting Information The style JAmChemSoca11bst can be used for this purpose since it does not abbreviate the list of authors 23 Customization Defaults for several commands used in the thebibliography environment are de ned at the beginning of the bbl le To override the default settings de ne the command before using the bibliography command The url command is used to display urlsi By default this only selects a typewriter fonti However it is strongly recommened that you use the package ur1sty which de nes url in a more sophisticated wayi Due to some problems with multiline urls spurious 77 in formatted url you should use some reasonable new version 32 works ne of ur1styi Every url is pre xed by urlpref ixi By default urlpref ix does nothing This command is useful if you have to prepend every url with some text For Angew Chem i e every url must be preceded by to be found under i This can easily be achieved by giving newcommandurlprefixto be found under This command is used to temporary switch the language for the title of books etc By default this does nothing but if you load babe1sty then the language will be changed This command is used for formatting crossref entriesi lt defaults to cite However if you use overc itesty you may not want superscripted citations in your bibliography Then you can de ne bibliographycite the following way newcommandbibliographycits1citen1 Inside the bbl le no text is hard coded and instead the appropriate bb1 command is used The text erratum i e is produced by bblerratumi Thus one can easily change all the words in the bibliography by de ning the appropriate commandsi newcommandbblerratumempherrat for instance will give erratfh By rede ning all necessary commands you can also change the language to some other language than the default englishi 3 Description of important entry types The entry types discussed in this section are those which are most commonly used in writing articles in chemistry The types listed here refer to entries in the database ilei bibi 31 article This entry type is designed for an article in a journal The entry type has been augmented with several additional elds Other style les will simply ignore these elds The following elds are recognized author The names of all authors journal The name of the journal the article was published in year The year the article has been published volume The volume this article has been published in pages The page numbers of the article eid The electronic identi er of an article Some journals7 if e J Chem Phys no longer have page numbers associated to an article but only use the EU If an EU is present pages will be ignored numpages The number of pages of an article This will only be used together with an EU germanpages When citing articles from Angew Chem one should always give both the german and the english version If this eld is present the style le assumes that this is a citation of Angew Chem Int Ed and automatically appends the correct citation for Angew Chem The year is always the same for both versions and the german volume is easily calculated by adding 73 to the english volume The page range of the german version is taken from the germanpages eldl erratumyear7 erratumvolume7 erratumpages7 erratumeid7 erratumnumpages If any of these elds is nonempty the information will be used to append a correctly formatted citation of the erratum to the regular citationl note A free format text that will be appended at the very end of a citation 32 book This entry type is designed for citing a whole book If you want to cite only some chapters or pages of a book use inbook or incollection see below The following elds are recognized author7 editor The names of all authors or editorsi You can only use one of author or editor7 but not both title The title of the book language The language of the title edition The edition of the book volume The volume of the book series The series the book is part of publisher The publisher of the book address The publisher s address year The year the book was published in note A free format text that will be appended at the very end of the citation 33 inbook This entry type is designed for citing chapters or pages of a book The nal format of the citation is the same as for book except that the cited chapters andor pages are appended For the crossref feature see section 21 The same elds as for book plus the following are recognized Chapter The cited chapters pages The cited pages 34 incollection This entry is also designed for citing chapters or pages of a book and thus very similar to inbooki However there is one difference the present entry is designed for chapters written by some authors in a book edited by others The nal citation looks similar to A Author in book title edited by El Editor The crossref feature is discussed in section 21 The same elds as for inbook except title plus the following are recognized booktitle The name of the book 35 masterthesis and phdthesis These entries are designed for citing a masters thesis or a PhD thesis Both entries are very similar The only difference is the thesis7 name The following elds are recognized author The author of the thesis school The school or university where this thesis work was carried out address The school s address year The year the thesis was nished in note A free format text that will be appended at the very end of the citation url An url where the thesis can be found 36 program This entry is designed for citing a program This is a new entry type which is not contained in the standard BIBTEX styles It allows greater exibility compared to the misc entry The following elds are recognized author The program s authors title The program name description A short description of the program version The versionrelease of the program year The year the program was published in publisher The publisher of the program address The publishers address note A free format text that will be appended at the very end of the citation url An url where the program can be found 37 misc This entry is designed for everything that does not t into one of the other entry categories This is for instance useful to cite websites The following elds are recognized author The author of the cited work title The title of the cited work howpublished A free format text describing how this work has been published This is usually empty year The year the cited work was published in note A free format text that will be appended at the very end of the citation url An url where the cited work can be found 38 unpublished This entry is designed for unpublished results The following elds are recognized author The authors of the unpublished work title The title of the unpublished work year The year the unpublished work was carried out note A free format text explaining what kind of unpublished work this is ie unpublished results url An url where this work can be found 4 The implementation Write the journal this style le is intended for to the le header 1 3939 This file is intended for use with 2 ltChemCommungtZZ Chem Commun 3 ltChemEurJgtZZ ChemEur J 4 ltnorgChemgtZZ Inorg Chem 5 ltJAmChemSocgtZZ J Am Chem Soc 6 ltcvgt ZZ a curriculum vitae 7 41 Setup De ne all the elds an entry can contain 8 ENTRY 9 10 address 11 author 12 booktit le 13 chapter 14 collaboration 15 description 16 e ition 17 editor 18 eid 19 erratumeid 20 erratumgermanpages 21 erratumnumpages 22 erratumpages 23 erratumvolume 24 erratumyear 25 germanpages 26 howpublished 27 institution 28 jou na 29 key 30 language 31 month 32 note 33 number 34 numpages 35 organization 36 SS 37 publisher 38 hoo 39 series 40 title 41 type 42 url 43 version 44 volume 45 year 45 INTEGERS STRINGS bbl 47 48 f label De ne all integer variables 49 INTEGERS beforeall i J longestlabelwidth midsentence multiresult nameptr namesleft newsentence numberlabel numnames o outputstate 53 De ne all string variables 64 70 STRINGS bibinfo delimiter longestlabel s t De ne all the functions for the ETEX code Which returns the words used 94 bbland quotbblandquot bbl chap quotbblchapquot bblchapter quotbblchapterquot bbledition quotbblednquot bbleditor quotbbledquot bbleditors quotbbledsquot bb1eidp quotbbleidpquot eidpp quotbbleidppquot erratum quotbblerratumquot etal quotbbletalquot fifth quotbblfifth0quot first quotbblfirstoquot fourth quotbblfourthoquot blin quotbblinquot mthesis quotbblmthesisquot nd quotbblndquot nr quotbblnoquot number quotbblnoquot of quotbblofquot page quotbblpquot pages quotbblppquot phdthesis quotbblphdthesisquot rd quotbblrdquot FUNCTION bblsecond quotbblsecondoquot 95 FUNCTION bblst339 quotbblst339quot 339 96 FUNCTION bbltechrep339 quotbbltechrep339quot 339 97 FUNCTION bblth3 quotbblth339quot 339 98 FUNCTION bblthird339 quotbblthirdo339quot 339 99 FUNCTION bblvolume339 quotbblvol339quot 339 100 MACRO quotbbljan3 quot3 101 MACRO feb339 quotbblfeb339quot339 102 MACRO mar quotbblmar339quot339 103 MACRO apr339 quotbblapr339quot339 104 MACRO may quotbblmay339quot339 105 MACRO quotbbljlln339quot339 106 MACRO jul339 quotbbljul339quot339 107 MACRO aug quotbblaug339quot339 108 MACRO sep339 quotbblsep339quot339 109 MACRO oct339 quotbbloct339quot339 110 MACRO nov339 quotbblnov339quot339 111 MACRO dec339 quotbbldec339quot339 delimiter De ne sorne delimiters used to separate different parts of a citation 112 FUNCTION delimiterblank339 quot quot 339 113 FUNCTION delimitercolon339 quot quot 339 114 FUNCTION delimitercomma339 quot quot 339 115 FUNCTION delimitersemicolon339 quot quot 339 116 FUNCTION delimiter default 117 118 ChemCommun ChemEurJ cvgt delimiter comma 119 JAmChemSocl norgChemgt delimitersemicolon 120 42 Output related functions output bibitem Write bibitem and setup new citationi 121 FUNCTION output bibitem 122 123 newline 124 quotbibitemquot write 125 cite write 125 quotquot write 127 newline nu 129 beforeall outputstate 130 outputinternal This function is nally called by all the other output functions lt rst pops the delimiter from the stack lf the now top string is nonempty the function appends the delimiter to the topl string and writes it The old top string is pushed back on the stack at the very end thus leaving it untouchedi 131 FUNCTION output internal 132 133 delimiter Write only if top string is nonempty 134 duplicate empty 135 p0p outputcheckinternal output outputblank outputcomma outputsemicolon outputcheck outputcheckblank outputcheckcomma outputchecksemicolon 135 backup top string 75 output state mid sentence delimiter write output state beforeall write addperiod quot quot write if mid sentence outputstate 149 if 151 s 152 if 154 The function rst pops the delimiter from the stack If the now top string is empty it issues a warning7 otherwise it calls output internal for Writing 155FUNCTION output check internal 155 157 delimiter 158 t 159 duplicate empty 150 pop quotempty quot t quot in quot cite warning 161 delimiter output internal 152 if 153 These functions just push the appropriate delimiter on the stack and then call output internall 164FUNCTION output delimiter default output internal 165FUNCTION outputblank delimiter blank output internal 166FUNCTION output comma delimiter comma t ut internal 167FUNCTION output semicolon delimiter semicolon output internal These functions just push the appropriate delimiter and then call output check internall 168FUNCTION outputcheck delimiter default output check internal 169FUNCTION output check blank delimiter blank output check internal 170FUNCTION output check comma delimiter comma output check internal 171FUNCTION output check semicolon delimiter semicolon output check internal 43 Operators De ne a logical not 172 FUNCTION not 173 174 0 o H multiply bibinfocheck 175 175 177 39C 1 if De ne a logical and 173 FUNCTION and 179 180 skip 181 pop 0 182 if 183 De ne a logical or 184 FUNCTION or 185 135 137 133 189 pop 1 skip if De ne a function for multiplying two integers 190 FUNCTION multiply 191 i is the multiplicator and will be used as a counter 192 i j is the value to multiplicate by i7 thus will be added i times to itself 193 j 194 0 195 j 0 if jO7 nothing has to be done since the product will always be 0 i0 will be handled gracefully by while loop below 195 skip 197 now add j i times to the 0 on the stack i 199 j i 1 7i 202 while if 205 44 Small helper functions This function checks whether the top value is a missing eld If so it replaces the top value by an empty string7 otherwise the top value is left unchangedi 207 FUNCTION bibinfo check 203 209 duplicate missing bibinfowarn bolden capitalize catinternal 210 pop quotquot 211 skip 212 if 213 This functions rst checks whether a eld is empty If so it issues a warning The topmost value is a description of the current eld If the eld is missing7 bibinfo warn pushes an empty string7 otherwise the value is left unchanged e behaviour is very similar to bibinfochecki 214FUNCTION bibinfowarn 215 swap duplicate missing swap quotmissing quot swap quot in quot cite warning pop nu duplicate empty swap quotempty quot swap quot in quot cite warning swap P0P if 230 if 232 This function returns the BTEX code for boldening the top string ZSSFUNCTIUN bolden 234 235 duplicate empty 235 pop quotquot 237 quottextbfquot swap quotquot 233 if 239 This function capitalizes the rst letter of a word 240FUNCTION capitalize 241 242 243 quotcapitalizequot swap This function catenates two strings using the delimiter on top of the stack The second string is at topl position7 the rst at top2 If any of both strings is empty the function just returns the other string without any delimiteri 244FUNCTION cat internal 245 246 delimiter 247 duplicate empty 248 pop 249 catblank catcolon catcomma catdefault catsemicolon eng 0rd isnum extract num 250 swap 251 duplicate empty 252 skip 253 delimiter 254 if 255 swap 255 257 253 if 259 These functions just push the appropriate delimiter and call cat int ernali 260 FUNCTION catblank delimiterblank catinternal 261 FUNCTION catcolon delimitercolon catinternal 262 FUNCTION catcomma delimitercomma catinternal 263 FUNCTION catdefault delimiterdefault catinternal 264 FUNCTION catsemicolon delimitersemicolon catinternal This function formats an english ordinal by appending the appropriate stringi 265 FUNCTION engord 255 267 duplicate quot1quot swap 268 2 1 substring quot1quot 259 bblth 270 duplicate 1 1 substring 271 duplicate quot1quot 272 pop bblst 273 duplicate quot2quot 274 pop bblnd 275 quot3quot 275 bblrd 277 bblth 273 if 279 280 if 281 282 if 283 284 if 285 This function checks Whether the top character is a number 286 FUNCTION isnum 7 288 chr to int 289 duplicate quotOquot chrtoint lt not 290 swap quot9quot chrtoint gt not and 291 This function extracts a number as string from the top stringi 292 FUNCTION extract anI 293 294 duplicate t 295 nu convertedition eitherorcheck t empty not t 1 1 substring t 2 globalmax substring t duplicate isnum This functions converts the edition eld into the appropriate ordinal 311FUNCTION convertedition 312 339 extractnum quot1quot change case 7 r s quotfirstquot s quot1quot o bblfirst 7t 2 f 5 quotsecondquot s quot2quot or bblsecond t f 5 quotthirdquot s quot3quot or bblthird 7t 2 f s quotfourthquot s quot4quot or bblfourth t S quotfifthquot S quot5quot or bblfifth 7t 2 f s 1 1 substring isnum s engord t edition t if if if if if if t This function Checks Whether mutually exclusive elds are present at the same time 340FUNCTION either or check 341 empty 7 o quotcan t use both quot swap quot fields in quot cite warning 14 emphasize finentry format names 345 if 345 This function returns the ETEX code for emphasizing the top stringi 347 FUNCTION emphasize 343 duplicate empty 350 pop quotquot quotemphquot swap quotquot if 353 This function nalizes a citation lt appends a dot and Writes the last text chunki 354 FUNCTION f in entry 355 355 357 353 add period write newline This function formats a list of names 359 FUNCTION format names 350 361 39 bibinfo is the description of the names ie author editor 362 bibinfo 363 duplicate empty 354 skip 365 s is the full list of names 366 s t is the formatted name 357 quotquot t nameptr is the index of the current name numnames is the total number of names namesleft is the number of names yet to format 368 1 nameptr 359 s numnames numnames 370 numnames namesleft 371 namesleft 0 gt 339 372 373 s name tr 374 ChemCommun l ChemEurJ l cvgt quotf J w ll jj JAmChemSocl norgChemgt quotVV11 f jj 376 f ormat name 377 bibinfo check 378 t 379 nameptr 1 gt 380 The following code chunk checks Whether the list of names should be abbreviated by et all 381 numnames 0 382 lttennamesgt 10 get bbl editor 383 ltfifteennamesgt 15 334 If no appropriate docstrip option is given the next expression Will always be false nameptr is always gt 1 see above Thus the check is effectively disabledl 385 nameptr 0 386 ltnamesonegt 2 387 388 and 389 list of names should be truncated set formatted name to others 390 quotothersquot 1 391 1 namesleft 392 393 skip 394 395 delimiterdefault 396 namesleft 1 gt 397 t 393 check Whether current name is others if so set formatted name to others 399 s nameptr quotllquot formatname 400 duplicate quotothersquot 401 t 402 pop 403 if check Whether formatted name is others if so print et all 404 1 quotothersquot bbletal f t if 403 if 410 this is the first name 71 if nameptr 1 nameptr namesleft 1 namesleft 415 while 417 418 419 if Return editors if editor contains more than one name editor otherwise 420 FUNCTION get bbl editor 421 422 editor numnames 1 gt 423 bbleditors 424 bbleditor 425 if 425 get bblerratum Return the formatted string for erratum multi page check get bbl page 11 dashify 427 FUNCTION get bbl erratum 423 429 430 431 bblerratum u u Check Whether the top string is only a single page or a range of pages 432 FUNCTION multipage check 433 434 7t 2 435 0 multiresult 435 437 multiresult not 438 t empty not and 439 440 39C t 1 1 substring 441 duplicate quotquot 442 swap duplicate quotquot 443 swap quotquot 444 or or 445 39C 1 multiresult 339 445 39C t 2 globalmax substring t 339 447 if 443 449 while 450 multiresult 451 Return a formatted pre x for pages 452 FUNCTION get bblpage339 453 duplicate multipage check 39C bblpages 339 39C bblpage 339 7 i 458 ChemCommun ChemEurJ cvgt 459 Replace a single 47 in a range of pages by 1 460 FUNCTION n dashify 451 452 t nu 39C t empty not 339 39C 1 1 substring quotquot 39C t 1 2 substring quotquot not uu t 2 globalmax substring t 39 selectlanguage spaceword strtointwarn strtoint there is more than one 77 therefore append all of them to the string on the stack t 1 1 substring quotquot uu t 2 globalmax substring t while if 432 433 the current char is not 77 therefore just append it t 1 1 substring t 2 globalmax substring t 435 if 433 While 490 Return ETEX code for changing the language for the string on top of the stack 491FUNCTION selectlanguage 492 duplicate empty 494 7 Ski 495 language empty quotforeignlanguagequot language quotquot swap quotquot if 500 if 502 This function puts spaces around a word 503FUNCTION space word 504 505 505 u u swap u u Print a warning if top string is not a representation of a valid integer used by str 130 int 507FUNCTION str to int warn 503 509 quotstr to int 7quot swap quot7 is not a valid integerquot warning 510 This function converts a string into an integer A warning is issued if the string is not a valid representation of an integer 511FUNCTION str to int 512 513 duplicate empty 514 515 strtointwarn 515 517 513 assign the original string to t for parsing 1 from the end 519 duplicate t check for sign 520 t 1 1 substring quotquot 521 be sure that is followed by at least one more character 522 t 2 globalmax substring t 523 t empty 525 duplicate strtoint warn 0 527 523 1 529 if 530 531 1 532 if the top stack position contains now 71 or 1 depending on sign 0 stores the offset for position inside the number 533 1 o push starting value on stack 534 0 535 t empty not get last character 537 t 1 1 substring 538 duplicate isnum 539 character is in range 043i7 now multiply by offset and add to value already on stack 540 chrtoint 48 541 o multiply 542 remove last character from string7 increment offset 0 543 t 2 globalmax substring t 544 o 10 multiply o 545 545 the last character was not a digit7 therefore pop last character and sum 547 pop pop swap sign and original string7 duplicate string7 print warning 548 swap duplicate strtointwarn swap original string and sign7 push 0 549 swap 0 tieorspaceprefix wordin formatyearinternal formatvolumeinternal break while loop 550 quotquot t 551 552 if 553 554 while stack holds value and sign7 multiply combines them 555 multiply pop copy of original string 555 swap pop 557 553 if 559 This function prepends a string With either a space or a depending on the length of the string 560FUNCTION tie or spaceprefix 551 562 duplicate text length 3 lt 553 quotquot39 554 quot quot 555 if 555 swap 557 This function returns the word in followed by a spacer 568FUNCTIUN wordin 559 570 bbl in delimiter blank 571 45 Field formatting functions This function applies all necessary formatting for a year on the stack 572FUNCTION format year internal 573 574 ChemEurJ l cvgt 575 bolden This function applies all necessary formating for a volume on the stack 576FUNCTION format volume internal 577 578 duplicate empty 579 skip 580 581 bblvolume 582 swa 583 tie or spaceprefix stack topdown volume7 tiespace7 bblivolume f ormat authors f ormat bookt it le f ormat chapter 586 if 587 This function formats the list of authors If a collaboration eld is present its contents is printed and the list of authors is appended in parentheses 588 FUNCTION format authors 589 590 author quotauthorquot formatnames 591 duplicate empty 592 skip 593 594 collaboration bibinfocheck 595 duplicate empty 595 skip 597 quot quot swap quotquot l 593 if 599 500 l 501 if 502 This function formats the title of a book and switches to an optional foreign language for this title 603 FUNCTION format booktitle 504 605 booktitle bibinfocheck 606 emp asize 607 select language 608 This function formats a chapter If a type eld is present its contents is used as a pre x If it is absent then the default return value of bbl chapter Will be used 609 FUNCTION format chapter 611 chapter bibinfocheck 612 duplicate empty 513 skip 514 615 type bibinfocheck 616 duplicate empty 517 pop bblchapter 618 IIlII changecase 5 if JAmChemSocl norgChemgt swap 19 620 capitalize 2 stack topdown chapter7 typebblichapter 622 tieorspaceprefix 623 524 l 525 if 525 l format date f ormat edit ion f ormat editors format in bookt it le This function formats the date of a citation All currently supported styles only use the year It is pushed onto the stack and formatyear internal is called to format it 627 FUNCTION format date 628 629 year bibinfocheck 630 format year internal 531 This function formats the edition It is converted into the appropriate english ordinal and the return value of bbl edit ion Will be appended 632 FUNCTION f ormatedition 533 634 edition bibinfocheck 535 duplicate empty 535 skip 537 638 convert edit ion 639 outputstate midsentence 540 quotlquot 541 quottquot 642 if changecase 643 quot quot bbledition 644 ChemCommun l ChemEurJ l cvgt emphasize 545 545 if 547 This function formats the list of editors 648 FUNCTION format editors 549 650 editor quoteditorquot formatnames 551 duplicate empty 552 skip 553 554 JAmChemSocl norgChemgt author empty 555 JAmChemSocl norgChemgt skip 555 JAmChemSocl norgChemgt 557 lt gt n n JAmChemSocl InorgChem u u 558 659 get bbl editor 660 capitalize 551 ChemCommun l ChemEurJ l cvgt swap 552 553 JAmChemSocl norgChemgt 554 JAmChemSocl norgChemgt if 555 555 if 557 This function formats a booktitle an prepends it With in 668 FUNCTION format inbooktitle 559 format note format number series formatorgorpub 570 format bookt it le 571 duplicate empty 572 skip 573 574 word in 575 ltJAmChemSoc norgChemgt capitalize 575 swap 577 573 if 579 This function formats the note eld of a citation Since this is a free format eld is content is used unchanged 580 FUNCTION format note 681 682 683 note bibinfocheck This function formats number and series if the volume eld is empty 584 FUNCTION format number series 685 585 volume bibinfocheck 587 duplicate empty 688 589 number empty 590 39C series bibinfocheck 591 592 series empty 593 number bibinfocheck 594 595 outputstate midsentence 595 bblnumber 339 597 bblnumber capitalize 593 if 599 number bibinfocheck tieorspaceprefix 700 wordin 701 series bibinfocheck 702 703 if 704 705 if 705 707 skip 708 l 709 This function formats an organization or publisher on the stack and its address 710 FUNCTION f ormatorgorpub 11 712 7t 2 713 address empty t empty and 714 quotquot 715 715 t f ormat organizat ion address format pages f ormat publisher address formatthesistype 717 address bibinfocheck 718 duplicate empty 719 720 721 ChemCommun l ChemEurJ l cvgt cat comma 722 JAmChemSocl norgChemgt cat colon 723 724 if 725 725 if 727 This function formats an organization and its address It pushes the organization onto the stack and calls format orgorpubi 728 FUNCTION format organizationaddress 730 organization bibinfocheck 731 formatorgorpub 732 This function formats a list of pages The list is prepended With bb1pagesi 733 FUNCTION format pages 734 735 pages bibinfocheck 736 duplicate empty 737 skip 738 739 ndashify 740 get bbl page stack topclown pages prefix7 pages swap tieorspaceprefix 745 if 745 This function formats a publisher and its address It pushes the publisher onto the stack and calls format orgorpubi 747 FUNCTION format publisher address 743 749 publisher quotpublisherquot bibinfowarn 750 formatorgorpub 751 This function formats the type of a thesis 752 FUNCTION format thesis type 753 754 type 755 duplicate empty 755 p0p 757 758 swap pop format title format tr number format url format volume 759 IItII changecase bibinfocheck 750 751 if 752 This function formats a title It also switches the language temporarilyi 763 FUNCTION format title 754 765 title bibinfocheck 766 duplicate empty 757 ski 768 769 emphasize 770 select language 771 772 if 773 This function formats the number of a technical report 774 FUNCTION format trnumber 775 776 number bibinfocheck 777 type 778 duplicate empty 779 pop bbltechrep 780 skip 781 if 782 bibinfocheck 783 swap 784 duplicate empty 785 pop quottquot changecase 786 tieorspaceprefix 787 if 788 This function formats an urli Each url is prefixed With urlprefixi See section 293 for more information 789 FUNCTION format url 790 791 url bibinfocheck 792 duplicate empty 793 skip 794 795 quoturlprefixurlquot swap quot339quot 796 newsentence outputstate 797 793 if 799 This function formats the volume field It merely pushes the fields value onto the stack and calls format volume internal to format it 800 FUNCTION format volume 301 format volume and series f ormat volume noseries bibliographycite f ormat crossref 802 volume bibinfocheck 803 format volume internal 804 This function Will format the volume and series7 but only if both of them are not empty Otherwise and empty string is returne l 805 FUNCTION format volume and series 806 807 volume empty series empty or 808 quotquot 809 810 volume formatvolumeinternal prepend 77of7 811 swap bblof spaceword swap 812 emphasize 813 814 IIvolume and numberquot number eitherorcheck 815 816 if 817 This function formats the volume string is returned 818 FUNCTION f ormat volume noseries 819 820 If the series eld is nonempty an empty series empty volume bibinfocheck rmat volume internal ChemCommun l ChemEurJ l cvgt emphasize uu 827 if 828 46 Functions related to crossreferenced entries This function returns the string for citing the document the crossref eld points to 829 FUNCTION bibliography cite 830 831 832 quotbibliographycite39Cquot swap quot339quot This function formats the crossreference 833 FUNCTION format crossref 835 bblin quot quot 836 JAmChemSocl norgChemgt capitalize 837 crossref bibliographycite 838 rmatarticlecatjournalyear formatarticleyearinternal 3rmatarticlevolumeinternal egermanpagesvolumeinternal 47 article related funtions This function catenates the journal name and the year It is used When formatting an erratum andor articles in Angew Chem 839FUNCTION format articlecatjournalyear 340 341ltChemCommungt catcomma 842 ChemEurJ cv JAmChemSoc norgChemgt catblank 343 This function provides all formatting required for an article Which is not already done in format date int ernali 844FUNCTION format article year internal 345 846 JAmChemSocl norgChemgt bolden 347 This function applies all necessary formatting to the volume an article is published in 848FUNCTION format article volume internal 349 850 ltChemCommungt bolden 851 ChemEurJ cv JAmChemSoc norgChemgt emphasize 352 This function is used While formatting citations of Angew Chem Int Ed lt calculates the volume of the german edition from the volume of the english one on the stac i 853FUNCTION format article germanpages volume internal 354 855 duplicate empty 355 skip 357 858 str to int 359 duplicate 1 lt 350 351 pop 862 quotvolume in quot cite quot is not a positive integer valuequot warning 853 uu 354 355 voli l of the english edition corresponds to voli 74 of the german one 73 inttostr formatarticlevolumeinternal if 371 372 if 373 legermanpagespagesinternal This function applies all necessary formatting to pages of Angew Chem7 the german edition of Angew Chem Engl Ed 27 format article date format article numpages format article eid f ormat art ic le journal 874 FUNCTION format article germanpages pages internal 875 876 877 n dashify This function formats the date of an article 878 FUNCTION format article date 879 880 format date 881 formatarticleyearinternal 882 This function formats the number of pages of an article The number of pages numpages eld is only used in conjunction With an EU The number of pages is assumed to be already on the stack 883 FUNCTION format article numpages 884 885 duplicate empty 886 ski 887 888 duplicate quot1quot 889 quotquot39 bbleidp 890 quotquot39 bbleidpp 339 891 if 892 quotquot swap quotquot 893 894 if 895 This function formats the ETD of an article 896 FUNCTION format article eid 897 898 eid bibinfocheck 899 duplicate empty 900 p0p 901 902 catcomma 903 ltcvgt numpages bibinfo check 904 ltcvgt fomatarticlenumpages 905 ltcvgt catblank 905 907 if 908 This function formats the journal an article was published in 909 FUNCTION format article journal 910 911 journal bibinfocheck 912 duplicate empty 913 skip 914 emphasize 339 915 if 915 t ic le germanpages j ournalname le erratum germanpages pages f ormat art ic le erratum year le erratum germanpage s volume I art ic le erratum germanpages 3rmat art ic le erratum journal format article erratum pages This function formats Angew Chem as the name of the german version of Angew Chem Int Ed 917 FUNCTION format article germanpages journalname 913 919 quotAngew Chem quot 920 emphasize 921 This function is used for an erratum in Angew Chem Int Ed lt formats the pages of the german version 922 FUNCTION f ormat article erratum germanpages pages 923 924 925 925 erratumgermanpages bib inf o check f ormat art ic le germanpages pages internal This function formats the year an erratum was published 927 FUNCTION f ormat article erratum year 923 929 erratumyear bibinfocheck 930 format year internal 931 formatarticleyearinternal 932 This function is used for an erratum in Angew Chem Int Ed lt formats the erratum s volume in the german version 933 FUNCTION f ormat article erratum germanpages volume 935 erratumvolume IIerratumvolumeII bibinfowarn 936 format article germanpages volume internal 937 This function formats the german version of an erratum published in Angew C em d 938 FUNCTION f ormatarticleerratumgermanpages 939 940 erratumgermanpages empty 941 quotquot 942 943 format article germanpages journalname 944 format article erratum year format article cat journal year 945 format article erratum germanpages volume cat comma 946 format article erratum germanpagespages cat comma 947 943 if 949 This function formats the journal of an erratuml Normally this is the same journal the original article was published in 950 FUNCTION format article erratum journal format article journal This function formats the pages of an erratuml 951 FUNCTION format article erratumpages 29 format article erratum eid Eormat art ic le erratum volume f ormat art ic le erratum nat art i c le germanpages pages 952 953 erratumpages bibinfocheck 954 n dashify 955 This function formats the END of an erratuml 956 FUNCTION f ormat article erratum eid 957 958 erratumeid bibinfocheck 959 erratumnumpages bibinfocheck formatarticlenumpages 950 This function formats the volume of an erratuml 961 FUNCTION f ormatarticleerratumvolume 952 963 erratumvolume bibinfocheck 964 format article volume internal 955 This function formats an erratum of an article The erratum Will be formatted if one of J lume7 r or erratumeid is present 966 FUNCTION format article erratum 957 968 erratumyear bibinfocheck empty 969 erratumvolume bibinfocheck empty and 970 erratumpages bibinfocheck empty and 971 erratumeid bibinfocheck empty and 972 quotquot 973 An erratum was detected Since at least one eld is present7 erratumz can already be printed 974 get bbl erratum 975 formatarticleerratumjournal catblank 976 format article erratum year format article cat journal year 977 formatarticleerratumvolume catcomma 978 erratumeid empt 979 formatarticleerratumpages 980 formatarticleerratumeid 981 if 982 catcomma 983 format article erratum germanpages cat semicolon 984 985 if 985 This function formats the pages of the german version of an article in Angew C d 987 FUNCTION f ormat article germanpages pages 988 989 990 991 germanpages bibinf o check f ormat art ic le germanpages pages internal at art ic le germanpage s volume rmat art ic le germanpages year f ormat art ic le germanpages format artic le pages This function formats the volume of the german version of an article in Angew Chem Int Ed lt pushes the volume of the english version onto the stack and calls format article germanpages volume internal Which automatically calculates and formats the german volume 992 FUNCTION format article germanpages volume 993 994 volume quotvolumequot bibinfowarn 995 format article germanpages volume internal 996 This function formats the year of the german version of an article in Angew Chem Int Ed This is always the same as the english version 997 FUNCTION formatarticlegermanpagesyear formatarticledate This function formats the german version of an article in Angew Chem Int Ed 998 FUNCTION f ormatarticlegermanpages 999 1000 germanpages empty 1001 quotquot 1002 1003 format article germanpages journalname 1004 format article germanpages year format article cat journal year 1005 format article germanpages volume cat comma 1006 format article germanpagespages cat comma 1007 1003 if 1009 This function formats the pages of an article 1010 FUNCTION format article pages 1011 The stack contains Whatever is the text directly preceding pages 1012 pages 1013 duplicate empty 1014 p0p 1015 Check Whether preceding string is empty 1015 1017 If the preceding string is empty7 pop it and the pages from stack and call formatpagesi This means that pages is the only text so far except bibitemi swap duplicate empty 1013 pop pop formatpages The preceding string is not empty Therefore format the pages and append themi swap ndashify cat comma if H if format article title nat article volume and number format book authors This function formats the title of an article 1028 FUNCTION format article title 1029 1030 title bibinfocheck 1031 duplicate empty 1032 skip 1033 1034 newsentence outputstate 1035 1035 if 1037 This function formats the volume an article was published in Optionally it ap pends the issue to the volume 1038 FUNCTION f ormat article volume and number 1039 1040 volume bibinfocheck 1041 duplicate empty 1042 skip 1043 bibinfocheck 1044 if 1045 format article volume internal 1045 ltnumbergt 1047 number bi binfo check 1048 duplicate empty 104 skip 1050 1051 swap 1052 dupli cate empty 1053 quotthere s a number but no volume in cite warning 1054 skip 1055 if 1055 wap 1057 swap 1058 1059 if 050 1051 ltnumbergt 1052 48 book related functions This function formats the authors of a book If no authors were given7 the editors are used instead 1053 FUNCTION format book authors 1064 1055 author empty 1055 formateditors 1057 1058 format authors 1059 IIauthor and editorII editor eitherorcheck 1070 1071 if f ormat book editors f ormat book volume internal Eormat book volume and series format book volume noseries 1072 This function formats the editors of a book If the book has no authors then the editors were already given as a substitute for the authors In this case7 nothing is printed7 since the editors should not be given twice 1073 FUNCTION format book editors 1074 1075 author empty 1075 quotquot 1077 formateditors 1078 if 1079 This function formats the volume of a book 1080 FUNCTION f ormat book volume internal 1081 1082 volume bibinfocheck 1083 duplicate empty 1084 ski 1085 1086 tieorspaceprefix 1087 bblvolume swap 1088 1089 if 1090 This function formats the volume of a book and the series it is part of For this function to produce any nonempty output both volume and series must be non emptyi To format the volume Without a series the format book volume noseries function is used see below 1091 FUNCTION format book volume and series 1092 1093 series bibinfocheck 1094 duplicate empty 1095 skip 1 1097 ChemCommun l ChemEurJ l cvgt emphasize Now the formatted series is on the stack f ormat book volume internal bbl of space word 1098 1099 ChemCommun l ChemEurJ l cvgt stack topdown formatted volume formatted series 1100 ChemCommun l ChemEurJ l cvgt swap 1101 JAmChemSocl norgChemgt cat comma 1102 1103 if 1104 This function formats the volume of a book if the series field is empty 1105 FUNCTION format bookvolumenoseries series empty not u 1110 format book volume internal 1111 ChemCommun l ChemEurJ l cvgt emphasize 1112 1113 if 1114 49 misc related functions miscemptycheck This function checks Whether elds of an misc entry are empty and issues a warning 1115 FUNCTION misc empty check 1115 1117 author empty title empty howpublished empty 1118 month empty year empty note empty url empty 1119 and and and and and and 1120 IIall relevant fields are empty in quot cite warning 1121 skip 1122 if 1123 410 program related functions formatprogramdescription This function formats the description of a programi lt also temporarily switches the language 1124 FUNCTION format program description 1125 1126 description bibinfocheck 1127 duplicate empty 1123 skip 1129 selectlanguage 1130 if 1131 nat programpublisheraddress This function formats the publisher of a program and its address 1132 FUNCTION format program publisher address 1133 1134 publisher bibinfocheck 1135 formatorgorpub 1135 formatprogramtitle This function formats the title of a programi 1137 FUNCTION format program title 1133 1139 title quottitlequot bibinfowarn 1140 duplicate empty 1141 ski 1142 1143 IItII changecase 1144 quot quot swap 1145 capitalize 1146 emphasize 1147 1148 if 1149 format programversion This function formats the version of a programi 1150 FUNCTION format program version 1152 version 411 Entry types article 1154 FUNCTION article 1155 1156 outputbibitem 1157 formatauthors quotauthorquot 1158 ChemCommun ChemEurJ cvgt output check 1159 ltJAmChemSoc norgChemgt output check blank 1160 ltcvgt formatarticletitle title outputcheck ltcvgt newsentence outputstate 1162 formatarticlejournal quotjournalquot 1163 ChemCommun ChemEurJ cvgt output check 1164 ltJAmChemSoc norgChemgt output check blank 1165 formatarticledate quotyearquot If you Change the way journal name and publication year are catenated7 do not forget to Change format articlecat journal year 1155 ltChemCommungt outputcheck 1167 ChemEurJ cv JAmChemSoc norgChemgt output checkblank 1168 format article volume andnumber output comma 1169 eid empty 1170 formatarticlepages 1171 formatarticleeid 1172 if 1173 formatarticlegermanpages outputsemicolon 1174 format article erratum output semicolon 1175 formatnote output 1176 finentry book 1178 FUNCTION book 1179 1180 outputbibitem 1181 formatbookauthors quotauthor and editorquot outputcheck 1182 formattitle quottitlequot 1183 ChemCommun ChemEurJ cvgt output check comma 1184 ltJAmChemSoc norgChemgt output check blank 1185 formatedition 1186 ChemCommun ChemEurJ cvgt outputblank 1187 ltJAmChemSoc norgChemgt output comma 1188 ltJAmChemSoc norgChemgt formatbookeditors outputsemicolon 1189 formatbookvolumeandseries out ut 1190 ChemCommun ChemEurJ cvgt formatbook volumenoseries output 35 1191 ChemCommun ChemEurJ cvgt fomatbook editors output comma 1192 formatpublisheraddress output 1193 formatdate quotyearquot outputcheckcomma 1194 ltJAmChemSoc norgChemgt fomatvolumenoseries outputsemicolon 1195 formatnote output 1196 finentry 1197 booklet 1193 FUNCTION booklet 1199 1200 output bibitem 1201 formatauthors output 1202 formattitle quottitlequot outputcheck 1203 howpublished bibinfocheck output 1204 address bibinfocheck output 1205 formatdate output 1206 formatnote output 1207 f in entry 1203 inbook 1209 FUNCTION inbook 1211 output bibitem 1212 formatbookauthors quotauthor and editorquot outputcheck 1213 crossref missing 1214 1215 formattitle quottitlequot 1216 ChemCommun ChemEurJ cvgt output check comma 1217 ltJAmChemSoc norgChemgt output checkblank 1218 format edit ion 1219 ChemCommun ChemEurJ cvgt outputblank 1220 ltJAmChemSoc norgChemgt output comma 1221 ltJAmChemSoc norgChemgt fomatbookeditors outputsemicolon 1222 formatbookvolumeandseries output 1223 ChemCommun ChemEurJ cvgt formatbookvolumenoseries output 1224 ChemCommun ChemEurJ cvgt fomatbookeditors output comma 1225 formatpublisheraddress out ut 1226 formatdate quotyearquot output checkcomma The J Am Chem Soc requires volume7 Chapter7 pagesquot To handle empty entries gracefully we cat them together and Write the entire string afterwards 1227 ltJAmChemSoc norgChemgt fomatvolumenoseries 1228 ChemCommun ChemEurJ cvgt 1229 1230 1231 format crossref output blank Push an empty string since there Will not be a volume 1232 nu 1233 1234 if 1235 format chapter cat comma 1236 format pages cat comma 1237 output 1238 format note output 1239 finentry incollection 1243 output bibitem 1244 formatauthors quotauthorquot outputcheck 1245 ltcvgt formattitle title outputcheck 1246 crossref missing 124 1248 format inbooktitle quotbooktitlequot output checkblank 1249 format edit ion 1250 ChemCommun l ChemEurJ l cvgt outputblank 1251 JAmChemSocl norgChemgt output comma 1252 JAmChemSocl norgChemgt fomatbookeditors outputsemicolon 1253 formatbookvolumeandseries output 1254 ChemCommun l ChemEurJ l cvgt formatbookvolumenoseries output 1255 ChemCommun l ChemEurJ l cvgt fomatbookeditors output comma 1256 formatpublisheraddress output 1257 formatdate quotyearquot outputcheckcomma The J Am Chem Soc requires volume7 Chapter7 pagesquot To handle empty entries gracefully we cat them together and Write the entire string afterwards 1258 JAmChemSocl norgChemgt fomatvolumenoseries 1259 ChemCommun l ChemEurJ l cvgt 1250 1251 1262 format crossref output blank Push an empty string since there Will not be a volume 1253 u n 1254 1255 if 1266 formatchapter catcomma 1267 formatpages catcomma 1268 out ut 1269 formatnote output 1270 f in entry inproceedings 1272 FUNCTION inproceedings 1273 1274 outputbibitem 1 formatauthors quotauthorquot outputcheck 275 1276 ltcvgt formattitle title outputcheck 1277 crossref missing 1278 1279 format in bookt itle quotbookt it 1e quot output check blank 1280 publisher empt 1281 formatorganizationaddress output 1282 1283 organization bibinfo check output 1284 formatpublisheraddress output 1285 1286 if 1287 formatbookvolumeandseries output 1288 1289 formatcrossref outputblank 1290 if 1291 formatpages IIpagesII outputcheck 1292 formatnote output 1293 formaturl output 1294 f in entry manual 1298 output bibitem 1299 author empty 00 13 1301 organization bibinfocheck 1302 duplicate empty 1303 pop 1304 1305 output 1306 address bibinfocheck output 1307 1308 if 1309 1310 formatauthors output 1311 if 1312 formattitle IItitleII outputcheck 1313 author empty 14 13 1315 organization empty 1316 address bibinfocheck output 1317 skip 1318 if 1319 1320 1321 organization bibinfocheck output 1322 address bibinfocheck output 1323 1324 if 1325 formatedition output 1326 formatdate output 1327 formatnote output 1328 formaturl output 1329 finentry 1330 mastersthesis 1331 FUNCTION mastersthesis 1332 1333 output bibitem 1334 formatauthors quotauthorquot outputcheck 1335 bblmthesis formatthesistype output 1336 school quotschoolquot bibinfowarn output 1337 address bibinfocheck output 1338 formatdate quotyearquot outputcheck 1339 formatnote output 1340 formaturl output 1341 finentry misc 1343 FUNCTION misc 1344 1345 output bibitem 1346 formatauthors output 1347 formattitle output 1348 howpublished bibinfocheck output 1349 formatdate output 1350 formatnote output 1351 formaturl output 1352 finentry 1353 miscemptycheck 1354 phdthesis 1355 FUNCTION phdthesis 1357 outputbibitem 1358 formatauthors quotauthorquot outputcheck 1359 ltcvgt formattitle title outputcheck b phdthesis formatthesistype output school quotschoolquot bibinfowarn output address bibinfocheck output format date quotyearII output check formatnote output formaturl output finentry D D D D D D H wwwwwww moaoaoaoaoaoa mwpwmwo 1357 proceedings 1368 FUNCTION proceedings 1370 outputbibitem 1371 editor empty 1372 organization bibinfocheck output 1373 formateditors output 1374 if 1375 formattitle quottitlequot outputcheck 1376 formatvolume output 1377 formatnumberseries output 1378 editor empty 1380 publisher empty 1381 skip 1382 formatpublisheraddress output 1383 if 1386 publisher empt 1387 formatorganizationaddress output 1389 organization bibinfocheck output 1390 formatpublisheraddress output 1392 if 1393 if 1395 ChemCommun ChemEurJ cvgt fomatdate quotyearquot output check 1396 formatnote output 1397 formaturl output 1398 finentry program 1402 output bibitem 1403 formatauthors output 1404 formatprogramtitle IItitleII 1405 ChemCommun ChemEurJ cvgt output check 1406 ltJAmChemSoc norgChemgt output check blank 1407 format programdescription output comma 1 08 formatpro ramversion output 1409 ChemCommun ChemEurJ cvgt fomatdate output 1410 formatprogrampublisheraddress output 1411 ltJAmChemSoc norgChemgt fomatdate outputcomma 1412 formatnote output 1413 formaturl output 1414 f in entry techreport 1416 FUNCTION techreport 1417 1418 output bibitem 1419 formatauthors IIauthorII outputcheck 1420 format title 1421 IItitleII outputcheck 1422 formattrnumber output 1423 institution IIinstitutionII bibinfowarn output 1424 address bibinfocheck output 1425 formatdate IIyearII outputcheck 1426 formatnote output 1427 formaturl output 1428 f in entry unpublished 1430 FUNCTION unpublished 1431 1432 output bibitem 1433 formatauthors quotauthorquot outputcheck 1434 formattitle IItitleII output 1435 formatdate output 1436 formatnote IInoteII outputcheck 1437 formaturl output 1438 finentry conference conference is an alias for inproceedingsl 1440 FUNCTION conference inproceedings defaulttype The default type is miscl 1441 FUNCTION defaulttype 39C misc 339 412 Main program beginbib This function starts the bibliography by opening the thebibliography environ rnentl 1442 FUNCTION beginbib 1443 1444 quotbeginthebibliographyquot longestlabel quotlquot write newline 1445 endbib This function ends the bibliography by closing the thebibliography environment 1445 FUNCTION endbib 1447 1448 newline 1449 quotendfthebibliographylquot write newline 1450 initializelongestlabel This function sets up the variables for the longest labell 1451 FUNCTION initialize longest label 1452 1453 quotquot longestlabel 1454 1 numberlabel 1455 0 longestlabelwidth 1455 init consts This function sets up some constant used While formatting the bibliography 1457 FUNCTION init consts 1453 1459 0 beforeall 1460 1 midsentence 1461 2 newsentence 1452 longestlabelpass This function is used to determine the length of the longest labell lt checks W ether the current label is longer than the current longest labell lf so7 it updates longest labelwidthl 1463 FUNCTION longest label pass 1465 numberlabel inttostr label 1466 numberlabel 1 numberlabel 1467 label width longestlabelwidth gt 1468 1469 label longestlabel 147 label width longestlabelwidth 1471 1472 skip 1473 i 1474 writebabelmisc This function Writes the default de nitions of some commands used in formatting a citation 1475 FUNCTION writebabelmisc 1477 quotprovidecommandbblandandquot write newline 1478 quotprovidecommandbblchapchapquot write newline 1479 quotprovidecommand39Cbblchapterchapterquot write newline quotprovidecommandbbletalet39alquot write newline quotprovidecommandbbleditorseditorsquot write newline quotprovidecommandbbledsedsquot write newline quotprovidecommand39Cbbleditoreditorquot write newline 1484 quotprovidecommandbblededquot write newline 1485 quotprovidecommandbbleditioneditionquot write newline 1486 quotprovidecommandbblednedquot write newline 1487 quotprovidecommandbbleidppagequot write newline 1488 quotprovidecommandbbleidpppagesquot write newline 1489 quotprovidecommand39Cbblerratumerratumquot write newline 1490 quotprovidecommandbblininquot write newline 1491 quotprovidecommandbblmthesisMaster s thesisquot write newline 1492 quotprovidecommandbblnonoquot write newline 1493 quotprovidecommandbblnumbernumberquot write newline 1494 quotprovidecommandbblofofquot write newline 1495 quotprovidecommandbblpagepagequot write newline 1496 quotprovidecommandbblpagespagesquot write newline 1497 quotprovidecommandbblppquot write newline 1498 quotprovidecommandbblphdthesisPhD thesisquot write newline 1499 quotprovidecommandbblppppquot write newline 1500 quotprovidecommandbbltechrepTech Repquot write newline 1501 quotprovidecommandbbltechreportTechnical Reportquot write newline 1502 quotprovidecommandbblvolumevolumequot write newline 1503 quotprovidecommandbblvolVolquot write newline 1504 writebabelmonths This function Writes the default names of the months 1505 FUNCTION writebabelmonths 1505 1507 quotprovidecommandbbljanJanuaryquot write newline 1508 quotprovidecommandbblfebFebruaryquot write newline 1509 quotprovidecommandbblmarMarchquot write newline 1510 quotprovidecommandbblaprAprilquot write newline 1511 quotprovidecommandbblmayMayquot write newline 42 1512 quotprovidecommandbbljunJunequot write newline 1513 quotprovidecommandbbljulJulyquot write newline 1514 quotprovidecommandbblaugAugustquot write newline 1515 quotprovidecommand39CbblsepSeptemberquot write newline 1516 quotprovidecommandbbloctOctoberquot write newline 1517 quotprovidecommandbblnovNovemberquot write newline 1518 quotprovidecommandbbldecDecemberquot write newline writebabelordinals This function Writes the default names of the ordinalsi 1520 FUNCTION write babel ordinals 21 1522 quotprovidecommandbblfirstFirstquot write newline 1523 quotprovidecommandbblfirstolstquot write newline 1524 quotprovidecommand39CbblsecondSecondquot write newline 1525 quotprovidecommandbblsecondo2ndquot write newline 1526 quotprovidecommandbblthirdThirdquot write newline 1527 quotprovidecommandbblthirdo3rdquot write newline 1528 quotprovidecommandbblfourthFourthquot write newline 1529 quotprovidecommandbblfourtho4thquot write newline 1530 quotprovidecommandbblfifthFifthquot write newline 1531 quotprovidecommandbblfiftho5thquot write newline 1532 quotprovidecommandbblstStquot write newline 1533 quotprovidecommandbblndndquot write newline 1534 quotprovidecommandbblrdrdquot write newline 1535 quotprovidecommandbblththquot write newline 339 writebabel This function Writes the default of all words used for formatting a citation 1537 FUNCTION writebabel 1533 1539 writebabelmisc 1540 writebabelmonths 1541 writebabelordinals 1542 write commands This function Writes the commands used in a citation 1543 FUNCTION write commands 1544 1545 quotprovidecommandurl1 texttt1quot write newline 1546 quotprovidecommandurlprefixquot write newline 1547 quotprovidecommandforeignlanguage 2 2quot write newline 1548 quotprovidecommandCapitalize1 uppercase1quot write newline 1549 quotprovidecommandcapitalize1 expandafterCapitalize1quot write newline 1550 quotprovidecommandbibliographycite1 cite1quot write newline 1551 writebabel 52 writeheader This function Writes the header of the bbl le It does not7 however7 start the thebibliography environment The contents of preamble is always Written rst 1553 FUNCTION write header 1554 1555 preamble empty 1555 skip 1557 preamble write newline 1558 1559 write commands 1550 1561 READ main Read all required entries from the database The entries are in Citation order Determine the length of the longest label 1562 EXECUTE initialize longest label 1563 ITERATE longest label pass Write the header to the le and open the thebibliography environment 1564 EXECUTE init consts 1565 EXECUTE writeheader 1566 EXECUTE beginbib Format all entries 1567 ITERATE calltype Close the thebibliography environment 1568 EXECUT39E end bib Change History 010 General Initial revision 1 011 formatchapter added capitalize to bblchapter for JACS 1 012 General Added support for a cur riculum vitae 1 Removed unused function addblank 1 init consts Added neWsentence initialization 41 IN GERS Removed unused vari ables7 added neWsentence 8 formatarticletitle NEW 32 outputinternal Removed dead code variable never got speci c value 9 013 selectlanguage leave empty string on stack replace p0p by skip 18 020 General Added support for Chem Commun 1 Renamed americanbst to JAm ChemSocbst 1 Renamed europeanbst to ChemEuerst 1 format article cat journal year 2 formatarticleerratum Use for matarticlecatj0urnalyear 30 format article erratum germanpages Use formatarticlecatj0urnalyear 2 format article germanpages Use formatarticlecatj0urnalyear 31 021 phdthesis Added title for style cv 39 incollection Added title for style cv 37 inproceedings Added title for sty e cv 37 Fixed formating of volume and serie 37 writecommands Replaced new command by providecommand for capitalize 022 General Added lnorgChembst 1 JAmChemSoc now requires trun cation of author list after more than 15 names only 1 formatnames Added fteennames iter after last author name 4O option 15 024 023 General Fixed some minor issues With ACS styles 1 formateditors ACS does not General Removed number of pages from papers With ElD in all styles except 7cV 1 f ormat art ic le eid lnclude num 7 7 51 11le 91165 file TM flu 2 bar of We only for style CV 28 formaturl Put URL into a new 025 sentence 5 General Minor documentation up program ACS does not like a delim dates 1 Index Numbers Written in italic refer to the page Where the corresponding entry is de scribed numbers underlined refer to the code line of the de nition numbers in roman refer to the code lines Where the entry is used A extractnum amp finentry 354 B format article bbl formatarticle39 format article format article format article format article format article format article erratum germanpages volume C 4 14 240 capital lze H i formatarticleerratumjournal catblank M formatarticleerratumpages catcolon 4 formatarticleerratumvolume catcomma M f 4 l 927 catdefault ormat39artlc e39erratum39year cat internal 244 format39arthle39germanpages 39 39 39 39 39 i 260 format article germanpages j ournalname 311 format article germanpagespages E format article germanpagespages internal 8 D 7 defaulttype 1441 format39artiClegermanpageSVOlume delimiter 112 g format article germanpages volume internal E 7 eitherorcheck w formatarticlegermanpagSSyear M emphasize formatarticlejournal amp endbib formatarticlenumpages format article pages 1010 formatarticletitle 1028 format article volume and number f ormat art ic le volume internal f ormat art ic le year internal formatbookauthors formatbookeditors format book volume and series 1091 format book volume internal 1080 miscemptycheck 1115 multipagecheck multiply m formatnumberseries formatorgorpub 710 format organization address m formatpages E formatprogramdescription format program publisher address formatprogramtitle formatprogramversion m formatpublisheraddress M format thesis type 752 format tr number format url format volume formatvolumeand series formatvolumeinternal m formatvolumenoseries formatyearinternal get bbl editor get bbl erratum getbblpage Q I inbook w incollection init consts initializelongestlabel amp inproceedings w INTEGERS g isnum 286 L longestlabelpass output checkblank m outputcheckcomma m outputcheckinternal outputchecksemicolon m outputcomma m utputinternal m outputsemicolon m P phdthesis proceedings program w S selectlanguage spaceword 503 str toint strto intwarn STRING g T techreport tieorspaceprefix U unpublished w W wordin writebabel writebabelmisc writebabelmonths writebabelordinals writecommands writeheader 46


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"

Jennifer McGill UCSF Med School

"Selling my MCAT study guides and notes has been a great source of side revenue while I'm in school. Some months I'm making over $500! Plus, it makes me happy knowing that I'm helping future med students with their MCAT."

Jim McGreen Ohio University

"Knowing I can count on the Elite Notetaker in my class allows me to focus on what the professor is saying instead of just scribbling notes the whole time and falling behind."


"Their 'Elite Notetakers' are making over $1,200/month in sales by creating high quality content that helps their classmates in a time of need."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.