%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The following is to be used with pubsbib.bst (a slightly modified version % of cslibib.bst, created by emma@csli.stanford.edu) or related bst % files. Designed to match selected Chicago-Manual-of-Style guidelines. % At end of document where bibliography is to appear, put: % % \nocite{} % \bibliographystyle{pubsbib} % \bibliography{} % % where .bib is your bibliography database file. % %%%%%%%%%%%%%%%%%%% % standard definition of \cite % \def\cite{\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} % % The revised \cite command takes advantage of the fact that % pubsbib.bst gives \bibcite in the format % \bibcite{labelname}{\citename{author }date} % while the standard format is \bibcite{labelname}{label} \let\@internalcite\cite \def\cite{\def\citename##1{##1}\@internalcite} % \shortcite gives only the date (no parens) \def\shortcite{\def\citename##1{}\@internalcite} % \cite gives author date (no parens, no comma) \def\@cite#1#2{{#1\if@tempswa ,\ #2\fi}} % standard def for \@lbibitem %\def\@lbibitem[#1]#2{\item[\@biblabel{#1}]\if@filesw % { \def\protect##1{\string ##1\space}\immediate % \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} % % revised so no label is produced \def\@lbibitem[#1]#2{\item[]\if@filesw { \def\protect##1{\string ##1\space}\immediate \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} % (Note that the following commands apply to report or book style, % not to article style.) % % The following could be used for setting up bibliographies at the end % of each chapter in a collection of papers with separate % bibliographies generated from a single .bib data-base. At the end % of each chapter, where the bibliography should appear, put the % following: \chapbibliography{}{}{} % Then, run each chapter individually (using includeonly), doing % bibtex immediately afterwards and renaming the resulting % .bbl file to be .bbl. Run again (some or all) % to actually produce the bibliography. % This may not work well with bib labels (e.g., numbers in square % brackets) that change from chapter to chapter. Better to use fixed % labels (e.g., author-date, as in pubsbib style). \def\chapbibliography#1#2#3{\bibliographystyle{#3}% \if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi \@input{#2.bbl}} %\def\chapbibliography#1#2#3{} % The thebibliography environment executes the following commands: % \def\newblock{\hskip .11em plus .33em minus .07em} -- % Defines the `closed' format, where the blocks (major units of % information) of an entry run together. % \sloppy -- Used because it's rather hard to do line breaks in % bibliographies, % \sfcode`\.=1000\relax -- % Causes a `.' (period) not to produce an end-of-sentence space. % % The following assumes there will be no labels % and there will be negative indentation. % \newif\ifsectbib \def\thebibliography#1{\ifsectbib %%% for a collection of papers, each \section*{References\@mkboth{References}{References}} %%% with its own \addcontentsline{toc}{section}{References}\list %%% bibliography {[\arabic{enumi}]}{\leftmargin \parindent \itemindent -\parindent \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \small \sfcode`\.=1000\relax \else %%% for a single bibliography chapter \chapter*{Bibliography\@mkboth{\titleofjob}{Bibliography}} \addcontentsline{toc}{chapter}{Bibliography}\list %\addcontentsline{toc}{chapter}{\protect\numberline{\null}Bibliography}\list {[\arabic{enumi}]}{\leftmargin \parindent \itemindent -\parindent \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \small \sfcode`\.=1000\relax \fi} \let\endthebibliography=\endlist \ifrepstyle \sectbibfalse \else \ifartstyle \sectbibtrue \else \sectbibtrue \fi \fi %% the following (needs work) can be used to get `author (year)' %% from \newcite{key} %% note that it cannot be used with multiple cites %% note also that there seems to be an extra space between ...? %% %% OLD: \def\cite{\def\citename##1{##1}\@internalcite} % %\def\newcite{\leavevmode\def\citename##1{##1(}\@internalciteb} % %\def\@internalciteb{\@ifnextchar % [{\@tempswatrue\@citexb}{\@tempswafalse\@citexb[]}} % %\def\@citexb[#1]#2{\if@filesw % \immediate\write\@auxout{\string\citation{#2}}\fi % \def\@citea{}\@newcite{\@for\@citeb:=#2\do % {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined % {b@\@citeb}{{\bf ?}\@warning % {Citation `\@citeb' on page \thepage \space undefined}}% %\hbox{\csname b@\@citeb\endcsname}}}{#1}} % %\def\@newcite#1#2{{#1\if@tempswa, #2\fi)}} \let\shcite=\shortcite \def\pcite#1{(\cite{#1})} \def\pshcite#1{(\shcite{#1})} %%%%%%%%%%%%%%%%%%%% % NOTE: the treatment of the year by \cite and \shortcite has been % altered by changes to the following definition (the two occurrences % of "purify$" have been deleted ... so that one can use hyphenated % dates (etc) in the year field). For the record (in case it causes % problems), the old definition in pubsbib.bst was: % % FUNCTION {calc.label} % { type$ "book" = % type$ "inbook" = % or % 'author.editor.key.label % { type$ "proceedings" = % 'editor.key.organization.label % { type$ "manual" = % 'author.key.organization.label % 'author.key.label % if$ % } % if$ % } % if$ % duplicate$ % "\protect\citename{" swap$ * " }" * % year field.or.null purify$ * % 'label := % year field.or.null purify$ #-1 #4 substring$ % * % sortify 'sort.label := % }