%% %% This is file `apacite.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% apacite.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 1994-2007 Erik Meijer and any individual authors listed %% elsewhere in this file. %% %% This file is part of the `apacite' package. %% ------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any later %% version. The latest version of this license is in: %% %% http://www.latex-project.org/lppl.txt %% %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% The `apacite' package consists of the files apacite.dtx and %% apacite.ins, and the following generated files: %% apacite.sty, apacite.bst, apacitex.bst, apa5ex.bib, %% apacite.drv, apacdoc.sty, %% english.apc, dutch.apc, finnish.apc, german.apc, ngerman.apc, %% greek.apc, norsk.apc, spanish.apc, swedish.apc. %% %% This work has the LPPL maintenance status `maintained' %% %% The Current Maintainer of this work is Erik Meijer %% %% This file may only be distributed together with a copy of the %% source files of the apacite package, i.e., apacite.dtx and %% apacite.ins. You may however distribute the apacite package without %% the generated files. %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{apacite} [2007/09/03 v4.00 APA citation] %% %% apacite.sty : citation and reference list according to APA manual %% Written by Erik Meijer %% %% Contains code adapted from %% index.sty [1995/09/28 v4.1beta Improved index support (dmj)], %% hyperref.dtx [6.71, 2000/10/04], %% babel.def [2001/03/01, v3.7h], %% backref.dtx [1.20, 2002/06/09], %% ltbibl.dtx [2004/02/15 v1.1q LaTeX Kernel (Bibliography)], %% bibtopic.dtx [2002/08/22 v1.0k], %% multibib.dtx [2004/01/28 v1.3 Multiple bibliographies for one document.], %% multibbl.dtx [2004/07/27 v1.1], %% amsrefs.dtx [2004/06/30 v2.0] %% ltidxglo.dtx [1996/01/20 v1.1e LaTeX Kernel (Index and Glossary)] %% doc.dtx [2004/02/09 v2.1b Standard LaTeX documentation package (FMi)] %% and code (used with permission) provided by: %% Stefan Bj\"ork. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Default. The ``old'' version %%% \def\@year@\BCAY#1#2#3{#3} %%% cannot exist jointly with this, so has to be moved to an option. \def\@year@\citeauthoryear#1#2#3{#3} \DeclareOption{BCAY}{% kept for compatibility with old versions \def\@year@\BCAY#1#2#3{#3}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% No Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@APAC@index \DeclareOption{noindex}{\@APAC@indexfalse}% %%%%%% End No Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DeclareOption{index}{\@APAC@indextrue}% %%%%%% End Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Include Corporate Authors in index? %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@APAC@include@corporate \DeclareOption{includecorporate}{\@APAC@include@corporatetrue}% \DeclareOption{suppresscorporate}{\@APAC@include@corporatefalse}% %%%%%% End Corporate Author options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Use index package or standard LaTeX index? %%%%%%%%%%%%%%%%%%%%% \newif\if@APAC@index@package \DeclareOption{indexpackage}{\@APAC@index@packagetrue}% \DeclareOption{noindexpackage}{\@APAC@index@packagefalse}% %%%%%% End index package options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Modifications of Author Index %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Standard index: from the index package \DeclareOption{stdindex}{% %% %% Index style as defined in the index package %% [1995/09/28 v4.1beta Improved index support (dmj)], %% which is the same code as in (v3.02, 15 September 1993), %% i.e., without table of contents entry. %% \ExecuteOptions{index}% %% %% This option requires the index package \ExecuteOptions{indexpackage}% %% \AtEndOfPackage{% \@ifclassloaded{article}{% \renewenvironment{theindex}{% \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \twocolumn[% \section*{\indexname}% \ifx\index@prologue\@empty\else \index@prologue \bigskip \fi ]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% \thispagestyle{plain}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem }{% \if@restonecol \onecolumn \else \clearpage \fi } }{% \renewenvironment{theindex}{% \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \twocolumn[% \@makeschapterhead{\indexname}% \ifx\index@prologue\@empty\else \index@prologue \bigskip \fi ]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% \thispagestyle{plain}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem }{% \if@restonecol \onecolumn \else \clearpage \fi }% }% }% }% \DeclareOption{tocindex}{% %% %% Index style as with the stdindex option, but with an %% added table of contents entry. %% \ExecuteOptions{index}% %% %% This option requires the index package \ExecuteOptions{indexpackage}% %% \AtEndOfPackage{% \@ifclassloaded{article}{% \renewenvironment{theindex}{% \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \twocolumn[% \section*{\indexname}% \ifx\index@prologue\@empty\else \index@prologue \bigskip \fi ]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% % % the following line added by EM \addcontentsline{toc}{section}{\indexname}% % \thispagestyle{plain}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem }{% \if@restonecol \onecolumn \else \clearpage \fi } }{% \renewenvironment{theindex}{% \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% \if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi \columnseprule \z@ \columnsep 35\p@ \twocolumn[% \@makeschapterhead{\indexname}% \ifx\index@prologue\@empty\else \index@prologue \bigskip \fi ]% \@mkboth{\MakeUppercase\indexname}% {\MakeUppercase\indexname}% % % the following line added by EM \addcontentsline{toc}{chapter}{\indexname}% % \thispagestyle{plain}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem }{% \if@restonecol \onecolumn \else \clearpage \fi }% }% }% } \DeclareOption{emindex}{% %% %% My (EM) own favorite index style. Maybe you like it too. %% \ExecuteOptions{index}% %% %% This option requires the index package \ExecuteOptions{indexpackage}% %% \AtEndOfPackage{% %% %% Redefine theindex such that automatically a chapter or section %% title is generated, with a corresponding table of contents %% entry. theindex is now in multicol environment. %% \RequirePackage{multicol} \renewenvironment{theindex}{% \edef\@indexname{\the\@nameuse{idxtitle@\@indextype}}% \@ifundefined{chapter}% {\section*{\@indexname}% \addcontentsline{toc}{section}{\@indexname}% }% {\chapter*{\@indexname}% \addcontentsline{toc}{chapter}{\@indexname}% }% \@mkboth{{\@indexname}}{{\@indexname}}% do we need this? \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem \setlength{\columnsep}{2em} \small \begin{multicols}{2} \raggedright }% {\end{multicols}\normalsize }% }% }% \DeclareOption{ltxemindex}{% %% %% Variation on emindex, without the `index' package %% \ExecuteOptions{index}% %% %% This option drops the index package \ExecuteOptions{noindexpackage}% %% \AtEndOfPackage{% %% %% Redefine theindex such that automatically a chapter or section %% title is generated, with a corresponding table of contents %% entry. theindex is now in multicol environment. %% \RequirePackage{multicol} \renewenvironment{theindex}{% % The index naming scheme of the `index' package is also absent, % therefore try to guess an index name. \@ifundefined{currentindexname}{% \@ifundefined{indexname}{% \edef\@indexname{Index}% }{\edef\@indexname{\indexname}}% }{\edef\@indexname{\currentindexname}}% \@ifundefined{chapter}% {\section*{\@indexname}% \addcontentsline{toc}{section}{\@indexname}% }% {\chapter*{\@indexname}% \addcontentsline{toc}{chapter}{\@indexname}% }% \@mkboth{{\@indexname}}{{\@indexname}}% do we need this? \def\pfill{\relax{}}% \parindent\z@ \parskip\z@ \@plus .3\p@\relax \let\item\@idxitem \setlength{\columnsep}{2em} \small \begin{multicols}{2} \raggedright }% {\end{multicols}\normalsize }% }% } %%%%%% End Modifications of Author Index %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Some options for the bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@numberedbib \DeclareOption{numberedbib}{% % % The bibliography is a section or chapter with a number (e.g., % section 6 or chapter 10). I think this does not work (i.e., it is % still unnumbered) when the section/chapter is in the backmatter. % \@numberedbibtrue } \DeclareOption{unnumberedbib}{% % % The bibliography is a section or chapter without a number (i.e., % a section* or chapter*). This is the default. % \@numberedbibfalse } \DeclareOption{sectionbib}{% % % The bibliography is a section. Typically used with the chapterbib % package, then each chapter has a bibliography section. The % nosectionbib option makes the bibliography a chapter (if chapters % are defined). If none of these options are requested, apacite tries % to guess the most logical choice. The bibliography is a section if % chapters are not defined or if we are in the ``mainmatter'' of a % document. Otherwise, it is a chapter. % \@ifundefined{@sectionbibtrue}{\newif\if@sectionbib}{}% % \@sectionbibtrue } \DeclareOption{nosectionbib}{% % % The bibliography is a chapter if chapters are defined % (otherwise, it is always a section). See the description % of the sectionbib option above for its usage. % \@ifundefined{@sectionbibfalse}{\newif\if@sectionbib}{}% % \@sectionbibfalse } \newif\if@tocbib \DeclareOption{tocbib}{% % % The bibliography in the table of contents, even if it's % unnumbered. This is the default. % \@tocbibtrue } \DeclareOption{notocbib}{% % % The bibliography not in the table of contents if it's % unnumbered. (Will be ignored if it's numbered.) % \@tocbibfalse } \DeclareOption{bibnewpage}{% % % The bibliography is started on a new page if it's a section. % (Will be ignored if it's a chapter.) % \def\@bibnewpage{\bibnewpage} } \DeclareOption{nobibnewpage}{% % % The bibliography is started on the same page if it's a section. % (Will be ignored if it's a chapter.) % \let\@bibnewpage\relax } %%%%%% End options for the bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Obsolete hyperref compatibility options %%%%%%%%%%%%%%%%%%%%%%%% \DeclareOption{hyper}{% \PackageWarningNoLine{apacite}{Obsolete option `hyper' ignored}% } \DeclareOption{nohyper}{% \PackageWarningNoLine{apacite}{Obsolete option `nohyper' ignored}% } %%%%%% End obsolete hyperref compatibility options %%%%%%%%%%%%%%%%%%%% %%%%%% Obsolete accentfix options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DeclareOption{accentfix}{% \PackageWarningNoLine{apacite}{Obsolete option `accentfix' ignored}% } \DeclareOption{noaccentfix}{% \PackageWarningNoLine{apacite}{Obsolete option `noaccentfix' ignored}% } %%%%%% End obsolete accentfix options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% Execute default options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ExecuteOptions{noindex,indexpackage,unnumberedbib,tocbib,% nobibnewpage,suppresscorporate} %%%%%% Execute user-requested options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProcessOptions %%%%%% Define author indexing stuff when requested \newcommand{\authorindexname}{Author Index} \if@APAC@index % % Author index requested. % \if@APAC@index@package % % Load \pkg{index} package. \RequirePackage{index}[1995/09/28] % % Define Author Index. % This may be changed in the preamble of the % document (or in a user-provided package) % by a \renewindex command. % \newindex{autx}{adx}{and}{\authorindexname} % % Author indexing command % \DeclareRobustCommand{\AX}[1]{% \if@filesw{% \protected@write\@auxout{}{% \string\protected@write\string\tf@autx{}{% \string\string\string \indexentry{\string#1|hyperpage}{\thepage}}}% }% \fi }% \else % % Without \pkg{index} package (experimental). % A bit of code adapted from ltidxglo.dtx \newwrite\@AXfile \immediate\openout\@AXfile=\jobname.adx \typeout {Writing author index file \jobname.adx }% % \DeclareRobustCommand{\AX}[1]{% \protected@write\@AXfile{}% {\string\indexentry{\string#1}{\thepage}}% }% % % Some code adapted from doc.dtx \def\PrintAX{\edef\currentindexname{\authorindexname}% \@input@{\jobname.and}% \global\let\PrintAX\@empty }% % % Do some hacking to make sure both \printindex and \printindex[autx] are defined % As yet untested. \AtBeginDocument{% % Make sure \printindex is defined. \@ifundefined{printindex}{\makeindex}{}% % Now, redefine \printindex to accommodate both \printindex and \printindex[autx] \let\orig@printindex\printindex \def\printindex{\@ifnextchar[{\APAC@printindex}{% \orig@printindex}}% % \def\APAC@printindex[autx]{\PrintAX}% }% \fi % % Index corporate authors? \if@APAC@include@corporate % Include corporate authors in index. \let\corporateAX\AX \else % Swallow argument (do not index). \let\corporateAX\@gobble \fi % \else % % No author index. % % Wait till \begin{document} for checking whether another % package is loaded that defines \printindex. % \AtBeginDocument{% \@ifundefined{printindex}% {%% \printindex not defined. Define \printindex so that it % suppresses the indexes. \def\printindex{\@ifnextchar[{\check@printindex}{% \check@printindex[]}}% % \def\check@printindex[#1]{\relax }% }% {% \printindex defined, so save its definition. \let\orig@printindex\printindex % % Redefine \printindex so that it suppresses the author index % but does not change other indexes. % 1. If there is no optional argument, use the original % definition. \def\printindex{\@ifnextchar[{\check@printindex}{\orig@printindex}}% % % 2. If there is an optional argument, check whether it is % equal to `autx'. If so, suppress this (author) index. % If not, use the original definition. \def\check@printindex[#1]{% % Use a clumsy way to check whether #1 = autx % but seemingly more elegant ways somehow didn't work. \expandafter\def\csname APAC@#1\endcsname{DUMMY}% \@ifundefined{APAC@autx}% {\orig@printindex[#1]}% {\let\APAC@autx\@undefined}% }% }% }% % % Empty author indexing commands % \let\AX\@gobble \let\corporateAX\@gobble % \fi %%%%%% Chapterbib compatibility %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{} \gdef\@extra@binfo{} %%%%%% End Chapterbib compatibility %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Commands for specific types of @misc entries. %%% These are recognized by apacite.bst. \newcommand{\bibmessage}{Msg} \newcommand{\bibcomputerprogram}{Computer program} \newcommand{\bibcomputerprogrammanual}{Computer program manual} \newcommand{\bibcomputerprogramandmanual}{Computer program and manual} \newcommand{\bibcomputersoftware}{Computer software} \newcommand{\bibcomputersoftwaremanual}{Computer software manual} \newcommand{\bibcomputersoftwareandmanual}{Computer software and manual} \newcommand{\bibprogramminglanguage}{Programming language} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Command for corporate authors. %%% This is recognized by apacite.bst. \let\bibcorporate\relax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% The following commands are recognized by apacite.bst. %%% They denote that the publication date is unknown, %%% and that the type should be left empty (for @techreport, where %%% ``Tech. Rep.'' is the default type if the field is left empty). \newcommand{\bibnodate}{n.d.\hbox{}} \newcommand{\bibnotype}{} %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% \newcommand{\BAstyle}{}% \newcommand{\BAastyle}{}% \newcommand{\BBOP}{(} % open parenthesis \newcommand{\BBCP}{)} % closing parenthesis \newcommand{\BAP}{ } % after prefix, before first citation \newcommand{\BBAA}{\&} % between authors in parentheses and ref. sec. \newcommand{\BBAB}{and} % between authors in text \newcommand{\BBAY}{, } % between author(s) and year \newcommand{\BBYY}{, } % between years of multiple citations with same author \newcommand{\BBC}{; } % between cites \newcommand{\BBN}{, } % before note \newcommand{\BBOQ}{} % open quote for article title \newcommand{\BBCQ}{} % closing quote for article title \newcommand{\BCBT}{,} % comma between authors in ref. sec % when no. of authors = 2 \newcommand{\BCBL}{,} % comma before last author \newcommand{\BAnd}{\&} % for ``Ed. \& Trans.'' in ref. list \DeclareRobustCommand{\BPBI}{.~}% Period between initials \DeclareRobustCommand{\BHBI}{.-}% Hyphen between initials \newcommand{\BBA}{\BBAA} \let\Bem\emph \newcommand{\APACciteatitle}[1]{``#1''}% Format as article title in text \newcommand{\APACcitebtitle}[1]{{\em #1\/}}% Format as book title in text \newcommand{\APACSortNoop}[1]{} % Can be used to change the sorting order: % When put between a pair of braces at the % front of a field, the entry is sorted on % the argument of this command, but the % argument is never displayed. \newcommand{\APACyear}[1]{{#1}}% \newcommand{\APACexlab}[1]{{#1}}% \newcounter{BibCnt} \renewcommand{\theBibCnt}{\alph{BibCnt}} \newcommand{\BCnt}[1]{\setcounter{BibCnt}{#1}\protect\theBibCnt} \newcommand{\BCntIP}[1]{\setcounter{BibCnt}{#1}\mbox{-\protect\theBibCnt}} \newcommand{\BCntND}[1]{\setcounter{BibCnt}{#1}\mbox{-\protect\theBibCnt}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BOthers}[1]{et al.\hbox{}} \newcommand{\BOthersPeriod}[1]{et al.\hbox{}} \newcommand{\BIP}{in press} % used as year for in-press citations \newcommand{\BIn}{In} % for ``In '' editor... \newcommand{\Bby}{by} % for ``by '' editor... (in reprints) \newcommand{\BCHAP}{chap.\hbox{}} % chapter \newcommand{\BCHAPS}{chap.\hbox{}} % chapters \newcommand{\BED}{Ed.\hbox{}} % editor \newcommand{\BEDS}{Eds.\hbox{}} % editors \newcommand{\BTRANS}{Trans.\hbox{}} % translator \newcommand{\BTRANSS}{Trans.\hbox{}} % translators \newcommand{\BTRANSL}{trans.\hbox{}} % translation, for the year field \newcommand{\BCHAIR}{Chair} % chair of symposium \newcommand{\BCHAIRS}{Chairs} % chairs \newcommand{\BVOL}{Vol.\hbox{}} % volume \newcommand{\BVOLS}{Vols.\hbox{}} % volumes \newcommand{\BNUM}{No.\hbox{}} % number \newcommand{\BNUMS}{Nos.\hbox{}} % numbers \newcommand{\BEd}{ed.\hbox{}} % edition \newcommand{\BPG}{p.\hbox{}} % page \newcommand{\BPGS}{pp.\hbox{}} % pages \newcommand{\BTR}{Tech.\ Rep.\hbox{}} % (default) technical report type name \newcommand{\BPhD}{Doctoral dissertation}% (default) PhD thesis type name \newcommand{\BUPhD}{Unpublished doctoral dissertation} \newcommand{\BMTh}{Master's thesis} % (default) master's thesis type name \newcommand{\BUMTh}{Unpublished master's thesis} \newcommand{\BAuthor}{Author} % Used if publisher = author \newcommand{\BOWP}{Original work published} \newcommand{\BREPR}{Reprinted from} \newcommand{\BAvailFrom}{Available from\ }% Websites; note the space. \newcommand{\BRetrieved}[1]{Retrieved {#1}, from\ }% Websites; note the space. \newcommand{\BMsgPostedTo}{Message posted to\ }% Messages; note the space. \def\refname{References}% Name of ref. list if it's a section. \def\bibname{References}% Name of ref. list if it's a chapter. \newcommand{\bibliographyprenote}{} \newcommand{\APACmetaprenote}{% References marked with an asterisk indicate studies included in the meta-analysis.} \newcommand{\APACmetastar}{\ensuremath{{}^\ast}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% % % Both babel and (n)german use \iflanguage to check the main % language. They both also use \languagename, but that gives % more problems with dialects. E.g., if \languagename = austrian % then \iflanguage{german}{Yes}{No} gives Yes. This allows us % to provide only .apc files for the language class without % complicated code to check whether a certain dialect is used. % % Check whether \iflanguage is defined. If not, no language support % is offered. % \@ifundefined{iflanguage}% {\relax }% {% % % My teTeX under Cygwin automatically loads babel with % default language "nohyphenation", so this language should % revert to doing nothing. Strangely enough \iflanguage % does not work correctly, so I'll use a trick. (Some trial % and error, because babel.dtx states that there must be % a '\string ' before the 'nohyphenation', but apparently in % this situation it's the other way around.) % \edef\APAC@tmp{nohyphenation}% \ifx\languagename\APAC@tmp \else \InputIfFileExists{\languagename.apc}{}{% % % \languagename.apc does not exist; try whether the current % language is a dialect of one of the known languages. This % is not perfect, because languages for which no hyphenation % patterns have been found revert to the default language, % so that the wrong language file may be loaded here in that % case. % % Define a modification of \iflanguage that executes the "true" % code if the language is defined and equal to the current % language and does nothing otherwise. (Just \iflanguage gives % an error if the language is not loaded.) % \def\APAC@iflang##1##2{% \expandafter\ifx\csname l@##1\endcsname\relax \else \ifnum\csname l@##1\endcsname=\language {##2}% \fi \fi }% % Define language support file. The \def instead of a direct \input % is done to provide a mechanism to check whether a language file % has been defined. % \APAC@iflang{dutch}{\gdef\APAC@apcfile{dutch.apc}}% \APAC@iflang{finnish}{\gdef\APAC@apcfile{finnish.apc}}% \APAC@iflang{german}{\gdef\APAC@apcfile{german.apc}}% \APAC@iflang{ngerman}{\gdef\APAC@apcfile{ngerman.apc}}% \APAC@iflang{greek}{\gdef\APAC@apcfile{greek.apc}}% \APAC@iflang{norsk}{\gdef\APAC@apcfile{norsk.apc}}% \APAC@iflang{spanish}{\gdef\APAC@apcfile{spanish.apc}}% \APAC@iflang{swedish}{\gdef\APAC@apcfile{swedish.apc}}% % % The default English as last one. \APAC@iflang{english}{\gdef\APAC@apcfile{english.apc}}% % \@ifundefined{APAC@apcfile}{% \PackageWarningNoLine{apacite}{% No suitable language definition file (\languagename.apc) found}% }{% \InputIfFileExists{\APAC@apcfile}{}{% \PackageWarningNoLine{apacite}{% Language definition file \APAC@apcfile\space not found}% }% }% \let\APAC@apcfile\@undefined }% \fi \let\APAC@tmp\@undefined }% \let\APAC@iflang\@undefined } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\bibnewpage{\clearpage}% apa.cls uses \newpage, change with \renewcommand \let\bibliographytypesize\normalsize %%% declare four parameters \newskip{\bibleftmargin} \newskip{\bibindent} \newskip{\bibparsep} \newskip{\bibitemsep} %%% and give them default values \bibleftmargin=2.5em \bibindent=-\bibleftmargin \bibparsep=0pt% \bibitemsep\z@ \@plus .3\p@\relax \newcommand{\bibphant}[1]{} \def\APAC@extra@b@citeb{\APAC@curr@aux\APAC@bu\@extra@b@citeb}% \def\APAC@extra@binfo{\APAC@curr@aux\APAC@bu\@extra@binfo}% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% \def\@lbibitem[#1]#2{% \def\BBA{\BBAA}% % For compatibility with chapterbib, bibunits, backref, and hyperref. % Adapted from natbib.dtx. \item[\hyper@natanchorstart{#2\APAC@extra@b@citeb}% \@biblabel{#1}% \hyper@natanchorend]% \if@filesw{% \def\BBA{\string\BBA}% \let\protect\noexpand % bibunits redefines \bibcite through \AtBeginDocument % in a way that is incompatible with apacite's definition. % The simplest way to get things working automatically % seems to be introducing the parallel \APACbibcite command. % This should also solve many other compatibility problems. \immediate\write\@newciteauxhandle{\string\bibcite{#2}{#1}}% \immediate\write\@newciteauxhandle{\string\APACbibcite{#2}{#1}}% \def\BBA{\BBAA}% }% \fi \ignorespaces } \def\APACbibcite#1#2{% \global\expandafter \def\csname b@#1\APAC@extra@binfo\endcsname{#2}% names \global\expandafter \def\csname Y@#1\APAC@extra@binfo\endcsname{\@year@#2}% year } \let\bibcite\APACbibcite %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH BABEL %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% COMMENTS FROM hyperref.dtx: %% %% Package |babel| redefines \cmd{\bibcite} with %% macro \cmd{\bbl@cite@choice}. It needs to be overwritten %% to avoid the warning ``Label(s) may have changed.''. %% %% END COMMENTS %% %% Here, a slightly adapted version of the code mentioned above is inserted. %% The other \bibcite-restoring compatibility code above does something %% similar, but does not do the job correctly if babel is loaded (why?). %% Clearly, this only works if babel is loaded before apacite, but %% putting it in a \AtBeginDocument does not work well. \@ifundefined{bbl@cite@choice}{}{% \g@addto@macro\bbl@cite@choice{% \let\bibcite\APACbibcite }% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH BIBTOPIC %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% \@ifpackageloaded{bibtopic}{% % % Somewhat rudely disable this command to prevent an undesired % error message of bibtopic. \renewcommand*\bt@change@thb{\relax}% }{% % % These bibtopic hooks are included in the thebibliography % environment, so bibtopic should work correctly. If bibtopic is % not loaded, they should do nothing. \providecommand{\bt@beg@thb@hook}{\relax} \providecommand{\bt@end@thb@hook}{\relax} }% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH BIBUNITS %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtEndOfPackage{% \let\APACstd@cite\cite \let\APACstd@nocite\nocite \let\APACstd@lbibitem\@lbibitem } \@ifundefined{APAC@bu}{\def\APAC@bu{}}{} \AtBeginDocument{% \@ifpackageloaded{bibunits}{% % To mimic chapterbib behavior (with flags etc.). \def\APAC@bu{% \ifx\cite\std@cite % Outside a bibunit; the `@APACbu' strings are intended to % minimize the possibility of wrong matches, such as % \b@ex11 = ex11 from the global aux % or % \b@ex11 = ex1 from bibunit 1, % and the last `@' is similarly intended to avoid confusion % if both bibunits and chapterbib are loaded (`11@1' = 11th % bibunit, 1st chapterbib unit; `1@11' = 1st bibunit, 11th % chapterbib unit). It seems unlikely that both packages would % be used at the same time, but safety first. @APACbu0@% \else % Within a bibunit: use bibunit number to distinguish the bibunits. @APACbu\the\@bibunitauxcnt @% \fi }%% % Standard apacite definition of \cite and \nocite commands. \let\std@cite\APACstd@cite % This is mainly necessary to avoid incorrect `Citation undefined' % warnings. \let\std@nocite\APACstd@nocite % Restore apacite definition of \bibitem, mainly because of the % \@newciteauxhandle instead of \@auxout. \def\std@lbibitem[#1]#2{% \let\@APACtemp@auxout\@newciteauxhandle \let\@newciteauxhandle\@bibunitaux \APACstd@lbibitem[#1]{#2}% \let\@newciteauxhandle\@APACtemp@auxout }%% % To make sure everything works whether bibunits is loaded % before or after apacite. \let\@lbibitem\std@lbibitem % }{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH MULTIBBL %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \@ifundefined{APAC@curr@aux}{\def\APAC@curr@aux{}}{} \AtBeginDocument{% \@ifpackageloaded{multibbl}{% % To mimic chapterbib behavior (with flags etc.). \def\APAC@def@curr@aux#1{\def\APAC@curr@aux{@APACaux@#1@}}% % Ditto. This puts the \bibcite commands in #1.aux instead % of in the main aux file, so that the flags can be differentiated. % This also means that the aux file has to be read by LaTeX % before it is overwritten. \def\newbibliography#1{% \APAC@def@curr@aux{#1}% \@input@{#1.aux}% \begingroup \if@filesw \expandafter\newwrite\csname #1@auxfile\endcsname \expandafter\immediate\openout \csname #1@auxfile\endcsname #1.aux\relax \typeout{Writing auxiliary file #1.aux }% \fi \endgroup }%% % Add the flag to the bibliography. \let\APAC@mbbl@bibliography\bibliography \def\bibliography#1#2#3{% \APAC@def@curr@aux{#1}% \let\@APACtemp@auxout\@newciteauxhandle \def\@APACtemp{\csname #1@auxfile\endcsname}% \let\@newciteauxhandle\@APACtemp \APAC@mbbl@bibliography{#1}{#2}{#3}% \let\@newciteauxhandle\@APACtemp@auxout }%% % Add an extra argument to \@@cite. \let\@orig@@cite\@@cite \def\@@cite<#1>[#2]#3#4{% \nocite{#3}{#4}% \let\@temp@nocite\nocite \let\nocite\@gobble % \APAC@def@curr@aux{#3}% \@orig@@cite<#1>[#2]{#4}% % \let\nocite\@temp@nocite \let\@temp@nocite\@undefined }%% % % Add an extra argument to \nocite. \let\@orig@nocite\nocite \def\nocite#1#2{% % Define a flag. \APAC@def@curr@aux{#1}% % % No flag-setting in \nocite: a no-cite is not a cite, % so a subsequent cite may be the first cite. \@bsphack \ifx\@onlypreamble\document % Since we are after \begin{document} we can do the citations: \@for\@citeb:=#2\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% % \@newciteauxhandle for compatibility with multibib % #1@auxfile for compatibility with multibbl \@ifundefined{#1@auxfile}{% \if@filesw \immediate\write\@newciteauxhandle{\string\citation{\@citeb}}% \fi }{\if@filesw \expandafter\immediate% \write\csname #1@auxfile\endcsname{\string\citation{\@citeb}}% \fi }% % \@ifundefined{b@\@citeb\APAC@extra@b@citeb}{% \edef\B@my@dummy{*}% \ifx\@citeb\B@my@dummy \else \G@refundefinedtrue \@latex@warning{Citation `\@citeb' undefined}% \fi }{}% }% \else % apacite has no compatibility problems, because it does not work % with LaTeX 2.09 anyway, so we can do the following, suggested % in ltbibl.dtx: \AtBeginDocument{\nocite{#1}{#2}}% \fi \@esphack % % For compatibility with multibib. \@restore@auxhandle }%% % % Add an extra argument to \nocitemeta. \let\@orig@@nocitemeta\nocitemeta \def\nocitemeta#1#2{% \nocite{#1}{#2}% \let\@temp@nocite\nocite \let\nocite\@gobble % \@orig@@nocitemeta{#2}% % \let\nocite\@temp@nocite \let\@temp@nocite\@undefined }% }{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH MULTIBIB %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand\@newciteauxhandle{\@auxout} \def\@restore@auxhandle{\gdef\@newciteauxhandle{\@auxout}} \def\@mb@citenamelist{% cite,fullcite,shortcite,citeNP,fullciteNP,shortciteNP,% citeA,fullciteA,shortciteA,citeauthor,fullciteauthor,shortciteauthor,% citeauthorNP,fullciteauthorNP,shortciteauthorNP,% citeyear,citeyearNP,nocite,nocitemeta% }% \AtBeginDocument{% \@ifundefined{newcites}{\global\let\@restore@auxhandle\relax}{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH SPLITBIB %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% \@ifpackageloaded{splitbib}{% % Presumably, this doesn't hurt without splitbib as well. \def\citeauthoryear{\string\citeauthoryear}% }{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH NATBIB %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% \@ifpackageloaded{natbib}{% % % Redefine a natbib command. This may be ethically dubious, but % without it, natbib simply cannot handle apacite-generated .bbl % files. The only reason I can think of why both apacite.sty % and natbib would be loaded is exactly the situation when you % want to use natbib for the citations and apacite for the reference % list. In this situation you would load apacite.sty, not for the % citation commands, but for the punctuation commands and labels % defined by apacite. In this situation, the redefinition below % is necessary and therefore I do this here. % \def\NAT@parse@date#1#2#3#4#5#6@@{% \def\NAT@year{{#1}}\def\NAT@exlab{{#2}}% }% % % natbib redefines \thebibliography, which interferes a little % with our purposes. Therefore, add some patches. % \let\@oldbibpreamble\bibpreamble \def\bibpreamble{% This goes wrong if \bibpreamble is redefined % later on, i.e., by the user, but I haven't thought % of a better hack yet. \@oldbibpreamble% \bibliographytypesize% \bibliographyprenote% \@ifundefined{APAC@metaprenote@\APAC@extra@b@citeb}% {}% skip {\csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname}% }% \let\@old@endthebibliography\endthebibliography \def\endthebibliography{\@old@endthebibliography% \normalsize}% }{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH HYPERREF %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% \@ifundefined{NAT@parse}{% \def\NAT@parse{This is a fake natbib command to fool hyperref.}}{}% \@ifundefined{hyper@natlinkstart}{% \let\hyper@natlinkstart\@gobble}{}% \@ifundefined{hyper@natlinkend}{% \let\hyper@natlinkend\relax}{}% \@ifundefined{hyper@natanchorstart}{% \let\hyper@natanchorstart\@gobble}{}% \@ifundefined{hyper@natanchorend}{% \let\hyper@natanchorend\relax}{}% \@ifundefined{hyperpage}{% \def\hyperpage#1{#1}}{}% } \AtBeginDocument{% \@ifpackageloaded{hyperref}{% % The next should always be true, but just to be sure... \@ifpackageloaded{url}{% % Is obeyspaces option requested? If not, then... \ifx\@empty\Url@ObeySp\@empty % remove spaces from hyperlinks. \def\url@#1{\def\@tmp@arg{\string#1}% \HyPsd@Subst{ }{}{\@tmp@arg}% \hyper@linkurl{\Hurl{#1}}{\@tmp@arg}}% \fi }{}% }{}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% COMPATIBILITY WITH BACKREF %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% A bit of code that makes life a little easier %% (adapted from amsrefs.dtx). \def\back@cite{}% \def\CurrentBib{}% \def\PrintBackRefs{}% \def\APACrestorebibitem{}% \AtBeginDocument{% \@ifpackageloaded{backref}{% % Make sure that \ifBR@verbose is defined. \@ifundefined{ifBR@verbose}{% \let\ifBR@verbose\iffalse \let\fi\fi}{}% % A backcite command that makes the code of other commands better % readable. \def\back@cite#1{% \ifBR@verbose \PackageInfo{backref}{back cite \string`#1\string'}% \fi \Hy@backout{#1\APAC@extra@b@citeb}% }%% % Adaptation of the \bibitem command so that backref does not % scan the whole entry. The placement of the backrefs is explicitly % done through \PrintBackRefs. \def\APACrestorebibitem{% \def\BR@@lbibitem[##1]##2{% \BRorg@bibitem[{##1}]{##2}% \def\CurrentBib{##2\APAC@extra@b@citeb}% }%% }% % Printing the backrefs: revert to the standard backrefs macro. \def\PrintBackRefs#1{\BR@backref{#1}}% }{%%% % backref not loaded. \let\back@cite\@gobble \let\PrintBackRefs\@gobble }% } \def\BR@@lbibitem[#1]#2#3\par{% \BRorg@bibitem[#1]{#2}#3% \BR@backref{#2}% }% \def\makehashother{\catcode`\#=12\relax}% \def\makehashmacropar{\catcode`\#=6\relax}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FOR USE WITH THE URL PACKAGE (AND HYPERREF) %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \AtBeginDocument{% \@ifpackageloaded{url}{% % To circumvent an ``undefined'' error \@ifundefined{Url@force@Tilde}{\def\Url@force@Tilde{\relax}}{}% % % The original dot. (Simply using `.' causes an infinite loop. % This command is used below, so that encoding-issues can be resolved % easier by redefining \Url@APACdot.) \def\Url@APACdot{\mathchar"2E }% \def\Url@APACcomma{\mathchar"2C }% \def\Url@APACquestionmark{\mathchar"3F }% \def\Url@APACexclamation{\mathchar"21 }% \def\Url@APAChyphen{\mathchar"2D }% \def\Url@APACunderscore{\_}% % % APA-definitions. \def\APACurlBreaks{% % Remove dot and slash from ordinary breaks. \def\UrlBreaks{\do\@\do\\\do\|\do\;\do\>\do\]\do\)\do\'\do+\do\=\do\#}% % Add slash to big breaks, so that http:// is broken after the second % slash instead of after the colon. \def\UrlBigBreaks{\do\/\do\:\do@url@hyp}% % These are the default ones. Repeat them to get a complete style and % we don't have to rely on what is the default (which might change). \def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% \def\UrlOrds{\do\*\do\~\do\'\do\"}% % Define a dot as an empty binary relation (after which a break may % occur) followed by a dot-symbol (after which no break may occur). % The Chicago Manual of Style requests the same treatment of % a couple of other punctuation marks, different from url.sty's % default behavior. \def\UrlSpecials{% \do\.{\mathbin{}\Url@APACdot }\do\,{\mathbin{}\Url@APACcomma }% \do\-{\mathbin{}\Url@APAChyphen }% \do\?{\mathbin{}\Url@APACquestionmark }% \do\!{\mathbin{}\Url@APACexclamation }% \do\_{\mathbin{}\Url@APACunderscore }% \do\ {\Url@space}\do\%{\Url@percent}\do\^^M{\Url@space}% \Url@force@Tilde}% package option may force faked text-ascii-tilde }%% % Change underscore for when a non-tt font is used. \def\Url@OTnonTT{\do\<{\langle}\do\>{\mathbin{\rangle}}\do \_{\mathbin{}\_}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do \\{\mathbin{\backslash}}\UrlTildeSpecial} % Now define four APA url-styles, based on the standard styles in % url.sty. \def\url@APACttstyle{\def\UrlFont{\ttfamily}\APACurlBreaks }% \def\url@APACrmstyle{\def\UrlFont{\rmfamily}\APACurlBreaks }% \def\url@APACsfstyle{\def\UrlFont{\sffamily}\APACurlBreaks }% \def\url@APACsamestyle{\def\UrlFont{}\APACurlBreaks }% % % Use APACtt-style by default. \urlstyle{APACtt}% }{}% } \AtBeginDocument{% \@ifundefined{url}{% \def\url#1{\texttt{#1}}% }{}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% THE CITATION COMMANDS %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@F@cite\@F@citetrue \newif\if@A@cite\@A@citefalse \newif\if@Y@cite\@Y@citefalse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\cite{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \def\@BBOP{\BBOP}% % open parenthesis \def\@BBCP{\BBCP}% % close parenthesis \@ifnextchar<% % > {\@cite}% {\@cite<>}% } \def\fullcite{% \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% \def\@BBOP{\BBOP}% % open parenthesis \def\@BBCP{\BBCP}% % close parenthesis \@ifnextchar<% % > {\@cite}% {\@cite<>}% } \def\shortcite{% \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% \def\@BBOP{\BBOP}% % open parenthesis \def\@BBCP{\BBCP}% % close parenthesis \@ifnextchar<% % > {\@cite}% {\@cite<>}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\citeNP{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \def\@BBOP{}% % open parenthesis \def\@BBCP{}% % close parenthesis \@ifnextchar<%% > {\@cite}% {\@cite<>}% } \def\fullciteNP{% \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% \def\@BBOP{}% % open parenthesis \def\@BBCP{}% % close parenthesis \@ifnextchar<%% > {\@cite}% {\@cite<>}% } \def\shortciteNP{% \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% \def\@BBOP{}% % open parenthesis \def\@BBCP{}% % close parenthesis \@ifnextchar<%% > {\@cite}% {\@cite<>}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@cite<#1>{% % % definition of some parameters % \def\@BAP{\BAP}% % after precitation [=#1] before first citation \def\@BBA{\BBAA}% % `and' between authors \def\@BBAY{\BBAY}% % between author and year \def\@BAY{}% % after year \def\@BBY{\BBYY}% % between years of multiple citations with same author \def\@BBC{\BBC}% % between cites \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] \def\@BAstyle{\BAstyle}% text style of authors \@A@citetrue% % cite authors \@Y@citetrue% % cite years \@ifnextchar[% % ] {\@@cite<#1>}% {\@@cite<#1>[]}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\citeA{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \@ifnextchar<% %> {\@citeA}% {\@citeA<>}% } \def\fullciteA{% \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% \@ifnextchar<% %> {\@citeA}% {\@citeA<>}% } \def\shortciteA{% \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% \@ifnextchar<% %> {\@citeA}% {\@citeA<>}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@citeA<#1>{% % % definition of some parameters % \def\@BBOP{}% % open parenthesis. \def\@BAP{\BAP}% % after precitation [=#1] before first citation \def\@BBA{\BBAB}% % `and' between authors \def\@BBAY{ \BBOP}%% between author and year \def\@BAY{\BBCP}% % after year \def\@BBY{\BBYY}% % between years of multiple citations with same author \def\@BBC{\BBC}% % between cites \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] \def\@BBCP{}% % close parenthesis \def\@BAstyle{\BAstyle}% text style of authors \@A@citetrue% % cite authors \@Y@citetrue% % cite years \@ifnextchar[% % ] {\@@cite<#1>}% {\@@cite<#1>[]}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\citeauthor{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \@ifnextchar<% %> {\@citeauthor}% {\@citeauthor<>}% } \def\fullciteauthor{% \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% \@ifnextchar<% %> {\@citeauthor}% {\@citeauthor<>}% } \def\shortciteauthor{% \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% \@ifnextchar<% %> {\@citeauthor}% {\@citeauthor<>}% } \def\citeauthorNP{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \@ifnextchar<% %> {\@citeauthorNP}% {\@citeauthorNP<>}% } \def\fullciteauthorA{% \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% \@ifnextchar<% %> {\@citeauthorNP}% {\@citeauthorNP<>}% } \def\shortciteauthorA{% \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% \@ifnextchar<% %> {\@citeauthorNP}% {\@citeauthorNP<>}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@citeauthor<#1>{% % % definition of some parameters % \def\@BBOP{}% % open parenthesis \def\@BAP{\BAP}% % after precitation [=#1] before first citation \def\@BBA{\BBAB}% % `and' between authors \def\@BBAY{}% % between author and year \def\@BAY{}% % after year \def\@BBY{}% % between years of multiple citations with same author \def\@BBC{\BBC}% % between cites \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] \def\@BBCP{}% % close parenthesis \def\@BAstyle{\BAastyle}% text style of authors \@A@citetrue% % cite authors \@Y@citefalse% % do not cite years \@ifnextchar[% % ] {\@@cite<#1>}% {\@@cite<#1>[]}% } \def\@citeauthorNP<#1>{% % % definition of some parameters % \def\@BBOP{}% % open parenthesis \def\@BAP{\BAP}% % after precitation [=#1] before first citation \def\@BBA{\BBAA}% % `and' between authors \def\@BBAY{}% % between author and year \def\@BAY{}% % after year \def\@BBY{}% % between years of multiple citations with same author \def\@BBC{\BBC}% % between cites \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] \def\@BBCP{}% % close parenthesis \def\@BAstyle{\BAastyle}% text style of authors \@A@citetrue% % cite authors \@Y@citefalse% % do not cite years \@ifnextchar[% % ] {\@@cite<#1>}% {\@@cite<#1>[]}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\citeyear{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \def\@BBOP{\BBOP}% % open parenthesis \def\@BBCP{\BBCP}% % close parenthesis \@ifnextchar<% % > {\@citeyear}% {\@citeyear<>}% } \def\citeyearNP{% \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% \def\@BBOP{}% % open parenthesis \def\@BBCP{}% % close parenthesis \@ifnextchar<% % > {\@citeyear}% {\@citeyear<>}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@citeyear<#1>{% % % definition of some parameters % \def\@BAP{\BAP}% % after precitation [=#1] before first citation \def\@BBA{}% % `and' between authors \def\@BBAY{}% % between author and year \def\@BAY{}% % after year \def\@BBY{\BBYY}% % between years of multiple citations with same author \def\@BBC{\BBC}% % between cites \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] \def\@BAstyle{}% % text style of authors \@A@citefalse% % do not cite authors \@Y@citetrue% % cite years \@ifnextchar[% % ] {\@@cite<#1>}% {\@@cite<#1>[]}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% The core citation routines %% The following commands must have been defined: %% \@BBOP open parenthesis %% \@BAP after precitation [=#1] before first citation %% \@BBA `and' between authors %% \@BBAY between author and year %% \@BAY after year %% \@BBY between years of multiple citations with same author %% \@BBC between cites %% \@BBN after last citation before note/postcitation [=#2] %% \@BBCP close parenthesis %% \@BAstyle formatting style of authors (e. g., \scshape) %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Code to be executed if current author(s) equal previous \def\@ifauthorsequalc@de#1{% \if@F@cite% \@F@citefalse% \else% \if@Y@cite% {\@BBY}% \fi% \fi% \if@Y@cite% \hyper@natlinkstart{#1}% {\csname Y@\@citeb\APAC@extra@b@citeb\endcsname}% \hyper@natlinkend \fi% } %%% Code to be executed if current author(s) do not equal previous \def\@ifauthorsunequalc@de#1{% \if@F@cite% \@F@citefalse% \else% \if@Y@cite% {\@BAY}% \fi% {\@BBC}% \fi% \edef\@cite@undefined{?}% \def\BBA{\@BBA}% \if@A@cite% \hyper@natlinkstart{#1}% {\csname b@\@citeb\APAC@extra@b@citeb\endcsname}% \hyper@natlinkend \if@Y@cite% {\@BBAY}% \fi% \fi% \if@Y@cite% \hyper@natlinkstart{#1}% {\csname Y@\@citeb\APAC@extra@b@citeb\endcsname}% \hyper@natlinkend \fi% \let\BBA\relax% } \def\@@cite<#1>[#2]#3{% % % Write citation(s) to .aux file(s) % \nocite{#3}% % % the previous cite, for multiple citations with same author % \edef\@citeP{}% % % open parenthesis and pre-note % The \mbox is to avoid hyperref problems if a \citeA follows an \item. \mbox{\@BBOP}% \ifx\@empty#1\@empty \else% {\ignorespaces #1\@BAP}% \fi% % % loop over citation entries % \@for\@citeb:=#3\do{% % Removes a possible space before the citation key, so that % e.g. \cite{key1, key2} can be done. \edef\@citeb{\expandafter\@firstofone\@citeb}% % For backref. \back@cite{\@citeb}% % % check whether citation is defined % \@ifundefined{b@\@citeb\APAC@extra@b@citeb}% {\expandafter\def\csname b@\@citeb\APAC@extra@b@citeb\endcsname{?}% \expandafter\def\csname Y@\@citeb\APAC@extra@b@citeb\endcsname{?}% % The following is now handled by \nocite %\G@refundefinedtrue %\@latex@warning{Citation `\@citeb' undefined}% }%% % If citation is defined: % check whether flag is set that identifies that % this is not the first citation to the work % if flag is not set, it will be set to DUMMY % if this is the first citation to the work, % the full citation is used; else the short version % is used % {\@ifundefined{flag@\@citeb\APAC@extra@b@citeb}% {\global\expandafter \def\csname flag@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% \def\BCA##1##2{{\@BAstyle ##1}}% }% {\def\BCA##1##2{{\@BAstyle ##2}}% }% }% % Check whether current author(s) is (are) equivalent % to previous. If so, only year is cited in text % and a \@BBY (probably comma and space) is inserted between % the two years. % % The \protected@edef fixes the problem with authors with accents % (e.g., J{\"{o}}reskog). Previous versions of apacite solved this % less elegantly (accentfix option). This fix provided by Robert Schlicht. % See also the new definition of \@citeP below. \protected@edef\B@my@dummy{\csname b@\@citeb\APAC@extra@b@citeb\endcsname}% \ifx\@citeP\B@my@dummy% \@ifauthorsequalc@de{\@citeb\APAC@extra@b@citeb}% \else% \@ifauthorsunequalc@de{\@citeb\APAC@extra@b@citeb}% \fi% % define previous citation-author as current % \protected@edef\@citeP{\csname b@\@citeb\APAC@extra@b@citeb\endcsname}% % \let\BCA\relax% }%% % end loop over citation entries % add note [=#2] and closing parenthesis % \ifx\@empty#2\@empty \else% {\@BBN #2}% \fi% \if@Y@cite% {\@BAY}% \fi% {\@BBCP}% % % define first citation true for next \@@cite % \@F@citetrue % } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\nocite#1{% % No flag-setting in \nocite: a no-cite is not a cite, % so a subsequent cite may be the first cite. \@bsphack \ifx\@onlypreamble\document % Since we are after \begin{document} we can do the citations: \@for\@citeb:=#1\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% % \@newciteauxhandle for compatibility with multibib \if@filesw \immediate\write\@newciteauxhandle{\string\citation{\@citeb}}% \fi % \@ifundefined{b@\@citeb\APAC@extra@b@citeb}{% \edef\B@my@dummy{*}% \ifx\@citeb\B@my@dummy \else \G@refundefinedtrue \@latex@warning{Citation `\@citeb' undefined}% \fi }{}% }% \else % apacite has no compatibility problems, because it does not work % with LaTeX 2.09 anyway, so we can do the following, suggested % in ltbibl.dtx: \AtBeginDocument{\nocite{#1}}% \fi \@esphack % % For compatibility with multibib. \@restore@auxhandle } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\nocitemeta#1{% \nocite{#1}% \@bsphack% \expandafter\global\expandafter\def \csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname{% \APACmetaprenote}% % \@for\@citeb:=#1\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% % Define meta-analysis flag for current item \@ifundefined{flagmeta@\@citeb\APAC@extra@b@citeb}% {\global\expandafter \def\csname flagmeta@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% }% {}% }% \@esphack% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\APACinsertmetastar#1{% \@for\@citeb:=#1\do{% \edef\@citeb{\expandafter\@firstofone\@citeb}% \@ifundefined{flagmeta@\@citeb\APAC@extra@b@citeb}% {}% skip {{\APACmetastar}}% }% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@biblabel#1{} \def\st@rtbibsection{% \@bibnewpage% start a new page if desired \if@numberedbib% \section{\refname}% e.g., 6. References \else% \section*{\refname}% e.g., References \if@tocbib% \addcontentsline{toc}{section}{\refname}% \fi% \@ifundefined{chapter} {\@mkboth{{\refname}}{{\refname}}}% do we need this? yep. why? {\markright{{\refname}}}% do we need this? yep. why? % \fi% }% \def\st@rtbibchapter{% % here no \@bibnewpage, because it is assumed that % the \chapter starts a new page \if@numberedbib% \chapter{\bibname}% e.g., 6. References \else% \chapter*{\bibname}% e.g., References \if@tocbib% \addcontentsline{toc}{chapter}{\bibname}% \fi% \@mkboth{{\bibname}}{{\bibname}}% do we need this? yep. why? % \fi% }% \def\thebibliography#1{% % % Start the bibliography section or chapter % \@ifundefined{chapter}% {\st@rtbibsection}% {\@ifundefined{@sectionbibtrue}% we have to guess {\@ifundefined{@mainmatterfalse}% check if mainmatter exists {\st@rtbibchapter}% {\if@mainmatter% \st@rtbibsection% typically, a chapter-specific bibliogr. \else% \st@rtbibchapter% a bibliography at the end \fi% }% }% {% an explicit option has been chosen % \if@sectionbib% \st@rtbibsection% bibliography is a section \else% \st@rtbibchapter% bibliography is a chapter \fi% }% }% % \bibliographytypesize% e.g., to put the bibliography in \small type \bibliographyprenote% some explanatory note before the references % \@ifundefined{APAC@metaprenote@\APAC@extra@b@citeb}% {}% skip {\csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname}% % \list{\relax}{\labelsep=0em% \parsep=\bibparsep% \itemsep=\bibitemsep% \leftmargin=\bibleftmargin% \itemindent=\bibindent}% changed to cope with 4th ed. \def\newblock{\hskip .11em plus .33em minus .07em}% \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax % For compatibility with bibtopic. \bt@beg@thb@hook % To overrule backref. \APACrestorebibitem } \def\endthebibliography{% % For compatibility with bibtopic. \bt@end@thb@hook % \def\@noitemerr{% \@latex@warning{Empty `thebibliography' environment}% }% \endlist\normalsize } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% REFERENCE LIST FORMATTING COMMANDS %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\APACrefYear}[1]{% % Should never be empty. {\BBOP}{#1}{\BBCP}% } \newcommand{\APACmonth}[1]{\ifcase #1\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\or Winter\or Spring\or Summer\or Fall\else {#1}\fi} \newcommand{\APACrefYearMonthDay}[3]{% % year (+ addendum) {\BBOP}{#1}% % month \ifx\@empty#2\@empty \else \unskip, {#2}% \fi % day \ifx\@empty#3\@empty \else \unskip\ {#3}% \fi {\BBCP}% } \newcommand{\APACrefatitle}[2]{#2} \newcommand{\APACrefbtitle}[2]{\Bem{#2}} \newcommand{\APACrefaetitle}[2]{[#2]} \newcommand{\APACrefbetitle}[2]{[#2]} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \let\@xp\expandafter \newcommand{\PrintCardinal}[1]{% \afterassignment\print@cardinal \count@ 0#1\relax\@nil } \def\print@cardinal#1#2\@nil{% \ifx\relax#1\relax \ifnum\count@>\z@ \CardinalNumeric\count@ \else ??th% \fi \else \ifnum \count@>\z@ \number\count@ \fi #1#2\relax \fi } \newcommand{\CardinalNumeric}[1]{% \number#1\relax \if \ifnum#1<14 \ifnum#1>\thr@@ T\else F\fi \else F% \fi T% th% \else \@xp\keep@last@digit\@xp#1\number#1\relax \ifcase#1th\or st\or nd\or rd\else th\fi \fi } \def\keep@last@digit#1#2{% \ifx\relax#2% \@xp\@gobbletwo \else #1=#2\relax \fi \keep@last@digit#1% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\APACjournalVolNumPages}[4]{% % journal \Bem{#1}% % volume \ifx\@empty#2\@empty \else \unskip, \Bem{#2}% \fi % issue number \ifx\@empty#3\@empty \else \unskip({#3})% \fi % pages \ifx\@empty#4\@empty \else \unskip, {#4}% \fi } \newcommand{\APACaddressPublisher}[2]{% \ifx\@empty#1\@empty % publisher \ifx\@empty#2\@empty \else {#2}% \fi % \else % address {#1}% % publisher \ifx\@empty#2\@empty \else \unskip: {#2}% \fi % \fi } \let\APACaddressInstitution\APACaddressPublisher \newcommand{\APACaddressPublisherEqAuth}[2]{% \ifx\@empty#1\@empty % Publisher. This cannot be empty, because it is equal to the author. {\BAuthor{}}% % \else % Address and publisher. These are not empty. {#1\unskip: \BAuthor{}}% % \fi } \let\APACaddressInstitutionEqAuth\APACaddressPublisherEqAuth \let\APAChowpublished\relax \newenvironment{APACrefURL}[1][]{% \ifx\@empty#1\@empty \BAvailFrom \else \BRetrieved{#1}% \fi }{} \newenvironment{APACrefURLmsg}{% \BMsgPostedTo }{} \newcommand{\APACorigED}[1]{% \ifx\@empty#1\@empty \else % ``by E. D. Itor (Ed.)'' \Bby\ {#1}, \BED{}% \fi } \newcommand{\APACorigEDS}[1]{% \ifx\@empty#1\@empty \else % ``by E. D. Itor \& A. N. Other (Eds.)'' \Bby\ {#1}, \BEDS{}% \fi } \newcommand{\APACrefnote}[1]{% \ifx\@empty#1\@empty \else ({#1})% \fi } \newcommand{\APACorigyearnote}[2]{% \ifx\@empty#1\@empty % Original year empty: format note. \APACrefnote{#2}% \else % Check for \bibnodate. I think the following command does not check % whether #1 = `\bibnodate', but expands them, but that should % also be OK and saves a lot of juggling with \expandafter commands. \ifx\bibnodate#1\@empty % Original year unknown: format (only) note. \APACrefnote{#2}% \else % Original year has been given: ``Original work published''. (\BOWP{} {#1}% % Note \ifx\@empty#2\@empty \else \unskip; {#2}% \fi % Final parenthesis. )%% % \fi \fi } \newcommand{\APACorigjournalnote}[6]{% % "(Reprinted from " (note the space) (\BREPR{} % % Journal (should not be empty) \Bem{#2}% % Year \ifx\@empty#1\@empty \else \unskip, {#1}% \fi % Volume \ifx\@empty#3\@empty \else \unskip, \Bem{#3}% \fi % Issue number \ifx\@empty#4\@empty \else \unskip{[#4]}% \fi % Pages \ifx\@empty#5\@empty \else \unskip, {#5}% \fi % Note \ifx\@empty#6\@empty \else \unskip; {#6}% \fi % Final parenthesis. )%% % } \def\@connect@with@commas#1{% % Commas should only be inserted if both sides are nonempty. \def\@comma@space{\unskip, }% \let\@connect@string\relax % Loop over elements. \@for\@element@:=#1\do{% \ifx\@empty\@element@% \else % Not empty: insert connect string (nothing for the first % nonempty element, a comma and space afterwards). \@connect@string\@element@% \let\@connect@string\@comma@space \fi }% \let\@connect@string\@undefined \let\@comma@space\@undefined } \newcommand{\APACorigbooknote}[9]{% % % "(Reprinted from " (note the space) (\BREPR{} % % % Title, edition, volume, pages, editor, year, address: publisher % These should not all be empty, but this is not checked here % (because it's done in the .bst file). \@connect@with@commas{% {#3},{#4},{#5},{#6},{#2},{#1},{\APACaddressPublisher{#7}{#8}}% }%% % % Add optional note. \ifx\@empty#9\@empty \else ; #9% \fi % % Final parenthesis. )%% % } \newcommand{\APACbVolEdTR}[2]{% \ifx\@empty#1\@empty \ifx\@empty#2\@empty \else % (Technical Report No.\ ) {(#2)}% \fi \else % (2nd ed., Vol.~1 ({#1}% \ifx\@empty#2\@empty \else % ; Technical Report No.\ \unskip; {#2}% \fi % Final parenthesis. )%% \fi } \newcommand{\APACbVolEdTRpgs}[3]{% \ifx\@empty#1\@empty \ifx\@empty#2\@empty \ifx\@empty#3\@empty \else % (pp. 10--30) {(#3)}% \fi \else % (Technical Report No.\ , pp. 10--30) (\@connect@with@commas{{#2},{#3}})% \fi \else % (2nd ed., Vol.~1 ({#1}% \ifx\@empty#2\@empty \ifx\@empty#3\@empty \else % ; pp. 10--30 \unskip; {#3}% \fi \else % ; Technical Report No.\ , pp. 10--30 \unskip; \@connect@with@commas{{#2},{#3}}% \fi % Final parenthesis. )%% \fi } %% \endinput %% %% End of file `apacite.sty'.