[Tex/LaTex] Reference style: Author last name, first initial + sorting by in-text citation

bibliographiessorting

I'm writing a paper and the journal that i'm trying to submit to requires the following style:

  1. Jin WG, Cheung YK, Zienkiewicz OC. Trefftz method for Kirchhoff plate bending problems. International Journal for Numerical Methods in Engineering 1991; 36 : 765-781.
  2. Reismann H. Elastic Plates: Theory and Application . Wiley: New York, 1988;1-10.
  3. Oestreicher, N., The cost of adjuvant chemotherapy in patients with early-stage breast carcinoma, Cancer 2005; 104(10) , pp. 2054 – 2062, DOI: 10.1002/cncr.21464.

And the Reference needs to be sorted by in-text citation (order of appearance of the source). I know using unsrt style i can get it to sort by citation and using acm style, the reference starts with author's last name and then its first name initial. I have no idea how to combine these two to get what i want. Any suggestions would be much appreciated.

Best Answer

You did not mention the name of the journal, but the author instructions for International Journal of Energy Research (Wiley) match your description. The instructions are not entirely consistent, but judging by the formatting in some of the articles previously published in the journal, the following output should be fine.

Output of example code

The DOI is formatted in lower case as instructed by the handbook and also seen in previous articles. Note that I also added an inproceedings entry as an example. In the source code that follows, \@biblabel was redefined to produce a dot instead of brackets.

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{veyo1998,
  title={Demonstrations based on {Westinghouse's} prototype commercial {AES} design},
  author={Veyo, S E and Forbes, C},
  booktitle={Proceedings of the Third European Solid Oxide Fuel Cell Forum},
  pages={79--86},
  year={1998}
}
@inbook{reismann1988,
  author={Reismann, Herbert},
  title={Elastic Plates: Theory and Application},
  publisher={Wiley},
  year={1988},
  address={New York},
  pages={1--10},
}
@article{jin1993,
  title={Trefftz method for {Kirchhoff} plate bending problems},
  author={Jin, W G and Cheung, Y K and Zienkiewicz, O C},
  journal={International Journal for Numerical Methods in Engineering},
  volume={36},
  number={5},
  pages={765--781},
  year={1993},
}
@article{oestreicher2005,
  title={The cost of adjuvant chemotherapy in patients with early-stage
    breast carcinoma},
  author={Oestreicher, Nina and Ramsey, Scott D and
    McCune, Jeannine S and Linden, Hannah M and Veenstra, David L},
  journal={Cancer},
  volume={104},
  number={10},
  pages={2054--2062},
  year={2005},
  doi={10.1002/cncr.21464},
}
\end{filecontents}
\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother
\begin{document}
\bibliographystyle{ijer}
\cite{jin1993} \cite{reismann1988} \cite{oestreicher2005} \cite{veyo1998}
\bibliography{\jobname}
\end{document}

In the document, \bibliographystyle{ijer} refers to file ijer.bst initiated with custom-bib (makebst) and manually edited to better fulfill the requirements.

How to create custom style ijer.bst

  1. Compile the driver file (below) with tex, i.e. tex ijer.dbj if the file is named ijer.dbj. This produces a first version of ijer.bst.
  2. Apply the patch file (further below) to the first version of ijer.bst to produce a second, final version. If the patch command is unavailable, the modifications can quite easily be applied manually: a @@ header indicates the location of the following change, where + denotes a new line and - is a removed line.

Driver file

%% Driver file to produce ijer.bst from merlin.mbs
%% Generated with makebst, version 4.1 (2003/09/08)
%% Produced on 2014/09/01 at 0:48
%% Edited manually on 2014/09/04
%% 
\input docstrip

\preamble
----------------------------------------
*** International Journal of Energy Research ***

\endpreamble

\postamble
End of customized bst file
\endpostamble

\keepsilent

\askforoverwritefalse
\def\MBopts{\from{merlin.mbs}{%
%EXTERNAL FILES:
%Name of language file: \cfile=.
%No included files.
%INTERNAL LANGUAGE SUPPORT (if no external language file)
    %: (def) English
% babel,%: Babel
%--------------------
%STYLE OF CITATIONS:
    %: (def) Numerical
% ay,%: Author-year
% alph,%: Alpha style, Jon90 or JWB90
% alph,alf-1,%: Alpha style, Jon90
% alph,alf-f,%: Alpha style, Jones90
% cite,%: Cite key
%--------------------
%HTML OUTPUT (if non author-year citations)
    %: (def) Normal LaTeX
% html,%: Hypertext
% html,htlist,%: Hypertext list
% html,htdes,%: Hypertext with keys
%--------------------
%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations)
% nat,%: Natbib
%   %: (def) Older Natbib
% alk,%: Apalike
% har,%: Harvard
% ast,%: Astronomy
% cay,%: Chicago
% nmd,%: Named
% cn,%: Author-date
%--------------------
%HARVARD EXTENSIONS INCLUDED (if Harvard support selected)
% harnm,%: With Harvard extensions
%   %: (def) Older Harvard
%--------------------
%LANGUAGE FIELD
    %: (def) No language field
% lang,%: Add language field
%--------------------
%ANNOTATIONS:
    %: (def) No annotations
% annote,%: Annotations
%--------------------
%PRESENTATIONS:
    %: (def) Do not add presentation type
% pres,%: Add presentation, speaker not highlighted
% pres,pres-bf,%: Presentation, speaker bold face
% pres,pres-it,%: Presentaion, speaker italic
% pres,pres-sc,%: Presentaion, speaker in small caps
%--------------------
%ORDERING OF REFERENCES (if non-author/year and non-alph)
%   %: (def) Alphabetical
  seq-no,%: Citation order
% seq-yr,%: Year ordered
% seq-yrr,%: Reverse year ordered
%--------------------
%ORDERING OF REFERENCES (if author-year citations)
%   %: (def) Alphabetical
% seq-lab,%: By label
% seq-labc,%: By label and cite order
% seq-key,%: By label and cite key
% seq-yr,%: Year ordered
% seq-yrr,%: Reverse year ordered
% seq-no,%: Citation order
%--------------------
%ORDER ON VON PART (if not citation order)
    %: (def) Sort on von part
% vonx,%: Sort without von part
%--------------------
%IGNORE FIRST NAMES (if author-year citations)
%   %: (def) Respect first names
% xintls,%: Sort on surname only
%--------------------
%AUTHOR NAMES:
% ed-au,%: Full, surname last
% nm-revf,%: Full, surname first
% nm-init,ed-au,%: Initials + surname
% nm-rev,%: Surname + initials
% nm-rv,%: Surname + dotless initials
% nm-rvvc,%: Surname + comma + spaceless initials
  nm-rvx,%: Surname + pure initials
% nm-rvcx,%: Surname + comma + pure initials
% nm-rvv,%: Surname + spaceless initials
% nm-rev1,%: Only first name reversed, initials
% nm-revv1,%: First name reversed, with full names
%--------------------
%EDITOR NAMES IN COLLECTIONS (if author names reversed)
    %: (def) Editor names NOT reversed
% ed-rev,%: Editor names reversed
%--------------------
%POSITION OF JUNIOR (if author names reversed)
  jnrlst,%: Junior comes last
%   %: (def) Junior between
%--------------------
%JUNIOR PART IN THE CITATION (if author-year citations)
%   %: (def) No `junior' part in the citations
% jnrlab,%: `Junior' in citations
%--------------------
%PUNCTUATION BETWEEN AUTHOR NAMES:
    %: (def) Author names separated by commas
% aunm-semi,%: Names separated by semi-colon
% aunm-sl,%: Names separated by slash
%--------------------
%ADJACENT REFERENCES WITH REPEATED NAMES:
    %: (def) Author/editor names always present
% nmdash,%: Repeated author/editor names replaced by dash
% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes
% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes
%--------------------
%NUMBER OF AUTHORS IN BIBLIOGRAPHY:
    %: (def) All authors
% nmlm,%: Limited authors
%--------------------
%AUTHORS IN CITATIONS:
    %: (def) One author et al
% mcite,%: Some other truncation scheme
%--------------------
%MAX AUTHORS BEFORE ET AL: (if regular cite not selected)
% mct-1,%: One et al
% mct-2,%: One, Two et al
% mct-3,%: One, Two, Three et al
% mct-4,%: One, Two, Three, Four et al
% mct-5,%: One, Two, Three, Four, Five et al
% mct-6,%: One, Two, Three, Four, Five, Six et al
%--------------------
%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected)
% mct-x2,%: Two authors without truncating
% mct-x3,%: Three authors
% mct-x4,%: Four authors
% mct-x5,%: Five authors
% mct-x6,%: Six authors
%--------------------
%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:
    %: (def) Normal font for author names
% nmft,nmft-sc,%: Small caps authors
% nmft,nmft-it,%: Italic authors
% nmft,nmft-bf,%: Bold authors
% nmft,nmft-def,%: User defined author font
%--------------------
%FONT FOR FIRST NAMES (if non-default font for authors)
%   %: (def) First names same font as surnames
% fnm-rm,%: First names in normal font
% fnm-def,%: First names in user defined font
%--------------------
%EDITOR NAMES IN INCOLLECTION ETC:
%   %: (def) Editors incollection normal font
% nmfted,%: Editors incollection like authors
%--------------------
%FONT FOR `AND' IN LIST:
%   %: (def) `And' in author font
% nmand-rm,%: `And' in normal font
%--------------------
%FONT OF CITATION LABELS IN TEXT (if author-year citations)
%   %: (def) Cited authors plain
% lab,lab-it,%: Cited authors italic
% lab,lab-sc,%: Cited authors small caps
% lab,lab-bf,%: Cited authors bold
% lab,lab-def,%: User defined citation font
%--------------------
%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables)
%   %: (def) Cited `and' in author font
% and-rm,%: Cited `and' in normal font
%--------------------
%FONT OF EXTRA LABEL (The extra letter on the year)
%   %: (def) Extra label plain
% xlab-it,%: Extra label italic
%--------------------
%LABEL WHEN AUTHORS MISSING (if author-year citations)
% keyxyr,%: Year blank when KEY replaces missing author
%   %: (def) Year included when KEY replaces missing author
%--------------------
%MISSING DATE (if author-year citations)
%   %: (def) Missing date set to ????
% blkyear,%: Missing date left blank
%--------------------
%DATE POSITION:
%   %: (def) Date at end
% dt-beg,%: Date after authors
  dt-jnl,%: Date part of journal spec.
% dt-end,%: Date at very end
%--------------------
%DATE FORMAT (if non author-year citations)
    %: (def) Plain month and year
% yr-par,%: Date in parentheses
% yr-brk,%: Date in brackets
% yr-col,%: Date preceded by colon
% yr-per,%: Date preceded by period
% yr-com,%: Date preceded by comma
% yr-blk,%: Date preceded by space
%--------------------
%SUPPRESS MONTH:
%   %: (def) Date is month and year
  xmth,%: Date is year only
%--------------------
%REVERSED DATE (if including month)
%   %: (def) Date as month year
% dtrev,%: Date as year month
%--------------------
%DATE FORMAT (if author-year citations)
%   %: (def) Year plain
% yr-par,%: Year in parentheses
% yr-brk,%: Year in brackets
% yr-col,%: Year preceded by colon
% yr-per,%: Year preceded by period
% yr-com,%: Date preceded by comma
% yr-blk,%: Year preceded by space
%--------------------
%INCLUDE MONTHS:
%   %: (def) Date is year only
% aymth,%: Include month in date
%--------------------
%REVERSED DATE (if including month)
%   %: (def) Date as month year
% dtrev,%: Date as year month
%--------------------
%DATE PUNCTUATION (if date not at end)
%   %: (def) Date with standard block punctuation
% yrp-col,%: Colon after date
  yrp-semi,%: Semi-colon after date
% yrp-per,%: Period after date
% yrp-x,%: No punct. after date
%--------------------
%BLANK AFTER DATE:
    %: (def) Space after date
% yrpp-xsp,%: No space after date
%--------------------
%DATE FONT:
    %: (def) Date in normal font
% dtbf,%: Date in bold face
%--------------------
%TRUNCATE YEAR (if author-year citations)
% note-yr,%: Year text full
%   %: (def) Year truncated
%--------------------
%TITLE OF ARTICLE:
    %: (def) Title plain
% tit-it,%: Title italic
% tit-qq,qt-s,%: Title and punctuation in single quotes
% tit-qq,%: Title and punctuation in double quotes
% tit-qq,qt-g,%: Title and punctuation in guillemets
% tit-qq,qt-s,qx,%: Title in single quotes
% tit-qq,qx,%: Title in double quotes
% tit-qq,qt-g,qx,%: Title in guillemets
%--------------------
%COLLECTION/PROCEEDINGS TITLES (if quoted title)
% bt-qq,%: Quote collection and proceedings titles
%   %: (def) Collection and proceedings titles not in quotes
%--------------------
%CAPITALIZATION OF ARTICLE TITLE:
    %: (def) Sentence style
% atit-u,%: Title style
%--------------------
%ARTICLE TITLE PRESENT:
    %: (def) Article title present
% jtit-x,%: No article title
%--------------------
%JOURNAL NAMES:
    %: (def) Periods in journal names
% jxper,%: Dotless journal names
%--------------------
%JOURNAL NAME FONT:
    %: (def) Journal name italics
% jttl-rm,%: Journal name normal
%--------------------
%THESIS TITLE:
    %: (def) Thesis titles like books
% thtit-a,%: Thesis title like article
% thtit-x,%: No thesis title
%--------------------
%TECHNICAL REPORT TITLE:
    %: (def) Tech. report title like articles
% trtit-b,%: Tech. report title like books
%--------------------
%TECHNICAL REPORT NUMBER:
    %: (def) Tech. report and number plain
% trnum-it,%: Tech. report and number italic
%--------------------
%JOURNAL VOLUME:
%   %: (def) Volume plain
% vol-it,%: Volume italic
  vol-bf,%: Volume bold
% vol-2bf,%: Volume and number bold
%--------------------
%JOURNAL VOL AND NUMBER:
    %: (def) Journal vol(num)
% vnum-sp,%: Journal vol (num)
% vnum-cm,%: Journal vol, num
% vnum-nr,%: Journal vol, no. num
% vnum-h,%: Journal vol, \# number
% vnum-b,%: Journal vol number
% vnum-x,%: Journal vol, without number
%--------------------
%VOLUME PUNCTUATION:
    %: (def) Volume with colon
% volp-sp,%: Volume with colon and space
% volp-semi,%: Volume with semi-colon
% volp-com,%: Volume with comma
% volp-blk,%: Volume with blank
%--------------------
%YEAR IN JOURNAL SPECIFICATION:
    %: (def) Journal year like others
% jdt-v,%: Journal vol(year)
% jdt-vs,%: Journal vol (year)
% jdt-p,%: Year with pages
% jdt-pc,%: Year, comma, pages
%--------------------
%PAGE NUMBERS:
    %: (def) Start and stop page numbers
% jpg-1,%: Only start page number
%--------------------
%LARGE PAGE NUMBERS:
    %: (def) No separators for large page numbers
% pgsep-c,%: Comma inserted over 9999
% pgsep-s,%: Thin space inserted over 9999
% pgsep-p,%: Period inserted over 9999
%--------------------
%WORD `PAGE' IN ARTICLES:
    %: (def) Article pages numbers only
% jwdpg,%: Include `page' in articles
%--------------------
%POSITION OF PAGES:
    %: (def) Pages given mid text
% pp-last,%: Pages at end
%--------------------
%WORD `VOLUME' IN ARTICLES:
    %: (def) Article volume as number only
% jwdvol,%: Include `volume' in articles
%--------------------
%NUMBER AND SERIES FOR COLLECTIONS:
  num-xser,%: Allows number without series
%   %: (def) Standard BibTeX
%--------------------
%POSITION OF NUMBER AND SERIES:
    %: (def) After chapter and pages
% numser,%: Just before publisher
%--------------------
%VOLUME AND SERIES FOR BOOKS/COLLECTIONS:
    %: (def) Vol. 23 of Series
% ser-vol,%: Series, vol. 23
%--------------------
%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:
    %: (def) Series and volume after the editors
% ser-ed,%: Series and volume after booktitle
%--------------------
%JOURNAL NAME PUNCTUATION:
%   %: (def) Comma after journal
  jnm-x,%: Space after journal
%--------------------
%BOOK TITLE:
    %: (def) Book title italic
% btit-rm,bt-rm,%: Book title plain
%--------------------
%PAGES IN BOOKS:
    %: (def) Pages in book plain
% bkpg-par,%: Pages in book in parentheses
% bkpg-x,%: Pages in book bare
%--------------------
%TOTAL PAGES OF A BOOK:
    %: (def) Total book pages not printed
% pg-bk,%: For book: 345 pages
% pg-bk,pg-pre,%: Total book pages before publisher
%--------------------
%PUBLISHER ADDRESS:
    %: (def) Publisher, address
% add-pub,%: Address: Publisher
%--------------------
%PUBLISHER IN PARENTHESES:
    %: (def) Publisher as normal block
% pub-par,%: Publisher in parentheses
% pub-date,%: Publisher and date in parentheses
% pub-date,pub-xc,%: Publisher and date in parentheses, no comma
% pub-date,pub-xpar,%: Publisher and date without parentheses
% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma
%--------------------
%PUBLISHER POSITION:
%   %: (def) Publisher after chapter, pages
  pre-pub,%: Publisher before chapter, pages
% pre-edn,%: Publisher after edition
%--------------------
%ISBN NUMBER:
  isbn,%: Include ISBN
%   %: (def) No ISBN
%--------------------
%ISSN NUMBER:
  issn,%: Include ISSN
%   %: (def) No ISSN
%--------------------
%DOI NUMBER:
  doi,%: Include DOI
% url-doi,%: Format DOI as URL //dx.doi.org/doi
% agu-doi,doi,%: Insert DOI AGU style
%   %: (def) No DOI
%--------------------
%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):
    %: (def) Word `editor' after name
% edpar,%: `Name (editor),'
% edpar,bkedcap,%: `Name (Editor),'
% edparc,%: `Name, (editor)'
% edparc,bkedcap,%: `Name, (Editor)'
% edparxc,%: `Name (editor)'
% edparxc,bkedcap,%: `Name (Editor)'
%--------------------
%EDITOR IN COLLECTIONS:
    %: (def) Same as for edited book
% edby,%: In booktitle, edited by .. 
% edby-par,%: In booktitle (edited by ..)
% edby-parc,%: In booktitle, (edited by ..)
% edby,edbyx,%: In booktitle, editor ..
% edby,edbyw,%: In booktitle, (editor) ..
% edby-par,edbyx,%: In booktitle (editor..)
% edby-parc,edbyx,%: In booktitle, (editor..)
% edby,edbyy,%: In booktitle, .., editor
% edby-par,edbyy,%: In booktitle (.., editor)
%--------------------
%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable)
%   %: (def) `(editor,..)' or `(edited by..)'
% edcap,%: `(Editor,..)' or `(Edited by..)'
%--------------------
%PUNCTUATION BETWEEN SECTIONS (BLOCKS):
    %: (def) \newblock after blocks
% blk-com,%: Comma between blocks
% blk-com,com-semi,%: Semi-colon between blocks
% blk-com,com-blank,%: Blanks between blocks
% blk-tit,%: Period after titles of articles, books, etc
% blk-tit,tit-col,%: Colon after titles of articles, books, etc
% blk-tita,%: Period after titles of articles
% blk-tita,tit-col,%: Colon after titles of articles
%--------------------
%PUNCTUATION BEFORE NOTES (if not using \newblock)
%   %: (def) Notes have regular punctuation
% blknt,%: Notes preceded by period
%--------------------
%PUNCTUATION AFTER AUTHORS:
    %: (def) Author block normal
% au-col,%: Author block with colon
%--------------------
%PUNCTUATION AFTER `IN':
%   %: (def) Space after `in'
  in-col,%: Colon after `in'
% in-it,%: Italic `in'
% in-col,in-it,%: Italic `in' and colon
% in-x,%: No word `in'
%--------------------
%`IN' WITH JOURNAL NAMES (if using 'in' with collections)
    %: (def) No `in' before journal name
% injnl,%: Add `in' before journal name
%--------------------
%FINAL PUNCTUATION:
    %: (def) Period at very end
% fin-bare,%: No period at end
%--------------------
%ABBREVIATE WORD `PAGES' (if not using external language file)
%   %: (def) `Page(s)'
% pp,%: `Page' abbreviated
  ppx,%: `Page' omitted
%--------------------
%ABBREVIATE WORD `EDITORS':
%   %: (def) `Editor(s)'
  ed,%: `Editor' abbreviated
%--------------------
%OTHER ABBREVIATIONS:
%   %: (def) No abbreviations
  abr,%: Abbreviations
%--------------------
%ABBREVIATION FOR `EDITION' (if abbreviating words)
%   %: (def) `Edition' abbreviated as `edn'
  ednx,%: `Edition' abbreviated as `ed'
%--------------------
%MONTHS WITH DOTS:
%   %: (def) Months with dots
  mth-bare,%: Months without dots
%--------------------
%EDITION NUMBERS:
  xedn,%: Editions as in database
%   %: (def) Write out editions
% ord,%: Numerical editions
%--------------------
%Reading external language file \cfile=
%STORED JOURNAL NAMES:
    %: (def) Full journal names
% jabr,%: Abbreviated journal names
% jabr,jaa,%: Abbreviated with astronomy shorthands
%--------------------
%AMPERSAND:
%   %: (def) Use word `and'
% amper,%: Use ampersand
  varand,%: Use \BIBand
%--------------------
%COMMA BEFORE `AND':
%   %: (def) Comma before `and'
% and-xcom,%: No comma before `and'
  and-com,%: Comma even with 2 authors
%--------------------
%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors)
  and-com-ed,%: Comma with 2 editors
%   %: (def) Two editors without comma
%--------------------
%NO `AND' IN REFERENCE LIST:
%   %: (def) With `and'
  xand,%: No `and'
%--------------------
%COMMA BEFORE `ET AL':
%   %: (def) Comma before `et al'
  etal-xc,%: No comma before `et al'
%--------------------
%FONT OF `ET AL':
%   %: (def) Plain et al
  etal-it,%: Italic et al
% etal-rm,%: Roman et al
%--------------------
%ADDITIONAL REVTeX DATA FIELDS:
    %: (def) No additional fields
% revdata,eprint,url,url-blk,%: Include REVTeX data fields
%--------------------
%E-PRINT DATA FIELD: (without REVTeX fields)
    %: (def) Do not include eprint field
% eprint,%: Include eprint and archive fields
%--------------------
%URL ADDRESS: (without REVTeX fields)
    %: (def) No URL
% url,url-blk,%: Include URL
% url,url-nt,%: URL as note
% url,url-nl,%: URL on new line
%--------------------
%REFERENCE COMPONENT TAGS:
    %: (def) No reference component tags
% bibinfo,%: Reference component tags
%--------------------
%EMPHASIS: (affects all so-called italics)
    %: (def) Use emphasis
% em-it,%: Use true italics
% em-x,%: No italics
% em-ul,%: Underlining
%--------------------
%COMPATIBILITY WITH PLAIN TEX:
  nfss,%: Use LaTeX commands
% plntx,%: Use only Plain TeX
%--------------------
  }}
\generate{\file{ijer.bst}{\MBopts}}
\endbatchfile

Patch file

--- ijer.bst    2014-09-04 16:29:02.000000000 +0300
+++ new/ijer.bst    2014-09-05 00:22:31.000000000 +0300
@@ -1,6 +1,6 @@
 %%
 %% This is file `ijer.bst',
-%% generated with the docstrip utility.
+%% generated with the docstrip utility AND further modified.
 %%
 %% The original source files were:
 %%
@@ -932,7 +932,7 @@
         { t *
           address empty$
             'skip$
-            { ", " * address "address" bibinfo.check * }
+            { ": " * address "address" bibinfo.check * }
           if$
         }
       if$
@@ -1038,18 +1038,14 @@
   if$
   new.block
   format.btitle "title" output.check
+  new.sentence
   crossref missing$
     {
       format.publisher.address output
       format.bvolume output
-      format.chapter.pages "chapter and pages" output.check
-      new.block
       format.number.series output
-      new.sentence
     }
     {
-      format.chapter.pages "chapter and pages" output.check
-      new.block
       format.book.crossref output.nonnull
     }
   if$
@@ -1060,6 +1056,8 @@
   if$
   format.date "year" output.check
   date.block
+  format.chapter.pages "chapter and pages" output.check
+  new.block
   format.doi output
   new.block
   format.note output
@@ -1101,6 +1099,11 @@
   new.block
   crossref missing$
     { format.in.ed.booktitle "booktitle" output.check
+      add.blank
+      format.date "year" output.check
+      date.block
+      add.blank
+      format.pages "pages" output.check
       new.sentence
       publisher empty$
         { format.organization.address output }
@@ -1114,12 +1117,12 @@
       format.issn output
     }
     { format.incoll.inproc.crossref output.nonnull
+      format.date "year" output.check
+      date.block
+      add.blank
+      format.pages "pages" output.check
     }
   if$
-  format.date "year" output.check
-  date.block
-  add.blank
-  format.pages "pages" output.check
   format.doi output
   new.block
   format.note output
Related Question