Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
% \iffalse meta-comment
%
% This is file `apacite.sty'.
%
% Copyright 1994-2005 Erik Meijer and any individual authors listed
% elsewhere in this file. All rights reserved.
%
% This file is part of the `apacite' package.
% -------------------------------------------
%
% It may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% The list of all files belonging to the `apacite' package, with a
% short description, is given in the file `manifest.txt'.
%
% \fi
%% 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],
%% and code (used with permission) provided by others:
%% Ross Moore, Stefan Bj\"ork.
\NeedsTeXFormat{LaTeX2e}[1998/06/01] % Should this be a later one?
\ProvidesPackage{apacite}[2005/06/08 APA citation]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 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 previous versions
\def\@year@\BCAY#1#2#3{#3}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Accent fix options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareOption{accentfix}{%
%
% A cedilla accent (\c{c}) in an author name used to lead
% to errors, only due to the checking whether subsequent authors
% in the same citation are equivalent. The same problem is
% anticipated with the \b{...} accent and the \d{...} accent
% and the \copyright symbol (will the latter turn up in an
% author name?), due to the same use of \crcr, cf. The TeXbook, p. 356.
%
% This fix therefore redefines these to sensible alternatives,
% only for comparison of authors, not for any real formatting.
% Therefore, the user should not notice this, apart from the
% lack of errors, of course. Therefore, it is also a default
% option. However, because I haven't tested this thoroughly, I give
% the user the option to turn it off (noaccentfix). The user
% is then responsible for fixing any error messages generated
% by such characters.
%
\def\b@APAC#1{#1\_}% bar-under accent
\def\c@APAC#1{\accent'30 #1}% cedilla accent
\def\d@APAC#1{#1.}% dot-under accent
\def\copyright@APAC#1{copyright}% copyright symbol
\def\@pre@accentfix{%
%
% store original definitions
\let\old@b@APAC\b
\let\old@c@APAC\c
\let\old@d@APAC\d
\let\old@copyright@APAC\copyright
%
% redefine them
\let\b\b@APAC
\let\c\c@APAC
\let\d\d@APAC
\let\copyright\copyright@APAC
}%
\def\@post@accentfix{%
%
% restore original definitions
\let\b\old@b@APAC
\let\c\old@c@APAC
\let\d\old@d@APAC
\let\copyright\old@copyright@APAC
}%
}
\DeclareOption{noaccentfix}{%
%
% See accentfix above for description.
%
\let\@pre@accentfix\relax%
\let\@post@accentfix\relax%
}
%%% End Accent fix options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% No Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% The \if is necessary because packages can not be required here, so
% we must handle the consequences of the index and noindex options
% later.
%
\newif\if@APAC@index
\DeclareOption{noindex}{\@APAC@indexfalse}%
%
%%%%%% End No Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\DeclareOption{index}{\@APAC@indextrue}%
%
%%%%%% End Author Index option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% 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}%
\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}%
\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}%
\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
}%
}%
}%
%%%%%% 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Hyperref compatibility option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% (This does not work completely satisfactory, so
% is only a non-default option.)
%
\newif\if@hyper@APA@comp
\DeclareOption{hyper}{%
\@hyper@APA@comptrue % hyperref compatibility option is on
}
%%%%%% End Hyperref compatibility option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% No Hyperref compatibility option %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% If the hyperref compatibility code is not desired.
%
\DeclareOption{nohyper}{%
\@hyper@APA@compfalse % hyperref compatibility option is off
}
%%%%%% End No Hyperref compatibility option %%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% Execute default options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\ExecuteOptions{accentfix,noindex,nohyper,unnumberedbib,tocbib,%
nobibnewpage}
%%%%%% Execute user-requested options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\ProcessOptions
%%%%%% Define author indexing stuff when requested
%
\newcommand{\authorindexname}{Author Index}
\if@APAC@index
%
% Author index requested.
% 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
%
\def\AX#1{%
\write\@auxout%
{\string\@writefile{autx}{%
\string\indexentry{\string#1}{\thepage}}}%
% \expandafter\string\expandafter\indexentry{#1}{\thepage}}}%
}
%
\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 command
%
\def\AX#1{}
%
\fi
%%%%%% Chapterbib compatibility %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% From the instructions of the chapterbib package.
\@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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 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.{}}
\newcommand{\bibnotype}{}
%%%%%%%%%%%%%%%%%%%%%
% cite punctuations %
%%%%%%%%%%%%%%%%%%%%%
% text style of authors in-text citation
% (\cite, \shortcite, \fullcite,
% \citeA, \shortciteA, \fullciteA,
% \citeNP, \shortciteNP, \fullciteNP)
\newcommand{\BAstyle}{}%
% text style of authors in-text citation
% (\citeauthor, \shortciteauthor, \fullciteauthor)
\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
%
\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.
% Two commands that are used to trick natbib.
\newcommand{\APACyear}[1]{{#1}}%
\newcommand{\APACexlab}[1]{{#1}}%
%
% For multiple citations with same author-year.
% (Kruskal, 1964a, 1964b)
% The \protect is necessary when natbib is used.
%
\newcounter{BibCnt}
\renewcommand{\theBibCnt}{\alph{BibCnt}}
\newcommand{\BCnt}[1]{\setcounter{BibCnt}{#1}\protect\theBibCnt}
%
% In press, no date.
% The \mbox prevents a line break at the hyphen.
%
\newcommand{\BCntIP}[1]{\setcounter{BibCnt}{#1}\mbox{-\protect\theBibCnt}}
\newcommand{\BCntND}[1]{\setcounter{BibCnt}{#1}\mbox{-\protect\theBibCnt}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Labels, mostly for reference list %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\BOthers}[1]{et al.{}} % ``others'', the argument contains a
% dot to suppress an additional one
% in the reference list
\newcommand{\BOthersPeriod}[1]{et al.{}}% ``others'', the argument contains a
% dot to suppress an additional one
% in the reference list. The difference
% with \BOthers is that, if another
% string is used to define \BOthers,
% this one should always finish with a
% period and the previous one not
% necessarily (e.g., if explicit
% ``others'' is used).
\newcommand{\BIP}{in press} % used as year for in-press citations
\newcommand{\BIn}{In} % for ``In '' editor...
\newcommand{\BCHAP}{chap.{}} % chapter
\newcommand{\BCHAPS}{chap.{}} % chapters
\newcommand{\BED}{Ed.{}} % editor
\newcommand{\BEDS}{Eds.{}} % editors
\newcommand{\BTRANS}{Trans.{}} % translator
\newcommand{\BTRANSS}{Trans.{}} % translators
\newcommand{\BTRANSL}{trans.{}} % translation, for the year field
\newcommand{\BCHAIR}{Chair} % chair of symposium
\newcommand{\BCHAIRS}{Chairs} % chairs
\newcommand{\BVOL}{Vol.{}} % volume
\newcommand{\BVOLS}{Vols.{}} % volumes
\newcommand{\BNUM}{No.{}} % number
\newcommand{\BNUMS}{Nos.{}} % numbers
\newcommand{\BEd}{ed.{}} % edition
\newcommand{\BPG}{p.{}} % page
\newcommand{\BPGS}{pp.{}} % pages
\newcommand{\BTR}{Tech.\ Rep.{}} % (default) technical report type name
\newcommand{\BPhD}{Doctoral dissertation}
% (default) PhD thesis type name
\newcommand{\BUPhD}{Unpublished doctoral dissertation}
% (default) unpublished PhD thesis
% type name
\newcommand{\BMTh}{Master's thesis} % (default) master's thesis type name
\newcommand{\BUMTh}%
{Unpublished master's thesis} % (default) unpublished
% master's thesis type name
\newcommand{\BOWP}{Original work published}
\newcommand{\BREPR}{Reprinted from}
\def\refname{References}% Name of ref. list if it's a section.
\def\bibname{References}% Name of ref. list if it's a chapter.
%
% An optional note just before the references in the reference list.
% Defaults to nothing, but can be changed to a list of commands
% (e.g., if author formatting should be different in the reference
% list) and/or text (e.g., for an explanatory note).
%
\newcommand{\bibliographyprenote}{}
%
% Prenote used just before the references in the reference list
% when a meta-analysis is reported.
%
\newcommand{\APACmetaprenote}{%
References marked with an asterisk indicate studies
included in the meta-analysis.}
%
% The star that's put in front of the entries used in the meta-analysis
%
\newcommand{\APACmetastar}{$\star$\ }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Load language dependent sections from an external file.
% (Based on code by Stefan Bj\"ork, 2004/12/25.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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 }%
{% %
% 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. The language files that are shipped with the
% current release are defined explicitly. If the requested language
% is not in this list, \languagename.apc is loaded if it exists.
%
\APAC@iflang{dutch}{\gdef\APAC@apcfile{dutch.apc}}%
\APAC@iflang{english}{\gdef\APAC@apcfile{english.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{swedish}{\gdef\APAC@apcfile{swedish.apc}}%
%
\@ifundefined{APAC@apcfile}{%
\def\APAC@apcfile{\languagename.apc}}{\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{\APAC@apcfile}{}{%
\PackageWarningNoLine{apacite}{%
Language definition file \APAC@apcfile\space not found.}}%
\fi
\let\APAC@tmp\@undefined
}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Bibliography style parameters.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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
%
% To force another order (in Part 1, Part 2 cases)
% Actually, this is the same as \SortNoop used in the examples,
% so I do not discuss this in the documentation. It should
% not be considered part of apacite, but I keep it for backwards
% compatibility.
\newcommand{\bibphant}[1]{}
%
% Around 1998, I got error messages with accented characters
% in author names. After some trial and error, I found out that
% this works. However, later it was apparently not necessary anymore
% (tests without it worked well), but I keep it because it's harmless
% and I'm not sure enough.
%
\@ifundefined{accent@spacefactor}{\def\accent@spacefactor{}}{}
%%%%%%%%%%%%%
% citations %
%%%%%%%%%%%%%
\def\@lbibitem[#1]#2{%
\def\BBA{\BBAA}%
\item[\@biblabel{#1}]%
\if@filesw{%
\def\BBA{\string\BBA}%
\def\protect##1{\string ##1}%
\immediate\write\@auxout{\string\bibcite{#2}{#1}}%
\def\BBA{\BBAA}%
}%
\fi%
\ignorespaces%
}
% Year is separately handled by \Y@
\def\bibcite#1#2{%
\global\expandafter\def\csname b@#1\@extra@binfo\endcsname{#2}% names
\global\expandafter\def\csname Y@#1\@extra@binfo\endcsname{\@year@#2}% year
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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}}%
}%
}{}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% COMPATIBILITY WITH HYPERREF %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Include experimental hyperref-compatibility code provided by Ross Moore,
% if the hyper option is requested.
\if@hyper@APA@comp% hyperref compatibility option is on
%
% accommodate both APA and other (e.g. hyperref) patchings of \bibcite
%
\def\bibcite@APA@other#1#2{%
\bibcite@other{#1}{#2}%
\expandafter\xdef\csname Y@#1\endcsname{\@year@#2}}%
\let\bibcite@APA\bibcite % record the APA-only definition of \bibcite
%
% check via \AtBeginDocument as to whether \bibcite has been changed;
% if so, then correct the patching when the .aux file is read.
%
\AtBeginDocument{%
\ifx\bibcite\bibcite@APA\else
\immediate\write\@auxout{\string\install@other@APA}%
\fi }%
%
\def\install@other@APA{%
\ifx\bibcite\bibcite@APA\else
\let\bibcite@other\bibcite
\let\bibcite\bibcite@APA@other
\fi \let\install@other@APA\relax }%
%
% This command should not be needed; it allows the patch to be
% forced at an earlier time, if desired.
%
\def\installhyperAPA{%
\@ifpackageloaded{hyperref}{\install@other@APA}%
{\AtBeginDocument{\install@other@APA}}%
}%
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 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, I (EM) literally insert the code mentioned above.
%% Are the \begingroup and \endgroup necessary or even useful?
%% The hyperref-compatibility patch above does a similar thing with
%% \bibcite.
%%
\let\Hy@bibcite\bibcite
\begingroup
\@ifundefined{bbl@cite@choice}{}{%
\g@addto@macro\bbl@cite@choice{%
\let\bibcite\Hy@bibcite
}%
}%
\endgroup
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% COMPATIBILITY WITH BACKREF %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% some code from backref.dtx, adapted by EM
%%
\AtBeginDocument{%
\@ifpackageloaded{backref}{%
\global\let\BRorg@citeapa\@@cite % EM
\global\let\@@cite\BR@citeapa % EM
}{}%
}
\def\BR@citeapa<#1>[#2]#3{% % EM
\BRorg@citeapa<#1>[#2]{#3}% % EM
\ifBR@verbose
\PackageInfo{backref}{back cite \string`#3\string'}% EM
% Am I allowed to define an info message of another package?
% It seems strange. But it's also strange to change `backref'
% into `apacite', because backref does the backreferencing,
% and the command is merely an adaptation of the corresponding
% backref command.
\fi
\Hy@backout{#3}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% First citation in multi-citation.
\newif\if@F@cite\@F@citetrue
% Two flags to denote whether only author or year must be cited or both.
\newif\if@A@cite\@A@citefalse
\newif\if@Y@cite\@Y@citefalse
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \cite[postfix]{keys}
% \fullcite[postfix]{keys}
% \shortcite[postfix]{keys}
% writes \citation{keys} on .aux
% produces (prefix Authors1, Year1; Authors2, Year2; ..., postfix)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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<>}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \citeNP[postfix]{keys}
% \fullciteNP[postfix]{keys}
% \shortciteNP[postfix]{keys}
% writes \citation{keys} on .aux
% produces prefix Authors1, Year1; Authors2, Year2; ..., postfix
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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<>}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% second layer of \cite command
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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>[]}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \citeA[postfix]{keys}
% \fullciteA[postfix]{keys}
% \shortciteA[postfix]{keys}
% writes \citation{keys} on .aux
% produces prefix Authors1 (Year1), ..., AuthorN (YearN, postfix)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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<>}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% second layer of \citeA command
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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>[]}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \citeauthor[postfix]{keys}
% \fullciteauthor[postfix]{keys}
% \shortciteauthor[postfix]{keys}
% writes \citation{keys} on .aux
% produces prefix Authors1, ..., AuthorsN, postfix
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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<>}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% second layer of \citeauthor command
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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>[]}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \citeyear[postfix]{keys}
% writes \citation{keys} on .aux
% produces (prefix Year1, ..., YearN, postfix)
%
% \citeyearNP[postfix]{keys}
% writes \citation{keys} on .aux
% produces prefix Year1, ..., YearN, postfix
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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<>}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% second layer of \citeyear command
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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{%
\if@F@cite%
\@F@citefalse%
\else%
\if@Y@cite%
{\@BBY}%
\fi%
\fi%
\if@Y@cite%
{\csname Y@\@citeb\@extra@b@citeb\endcsname}%
\fi%
}
%%% Code to be executed if current author(s) do not equal previous
\def\@ifauthorsunequalc@de{%
\if@F@cite%
\@F@citefalse%
\else%
\if@Y@cite%
{\@BAY}%
\fi%
{\@BBC}%
\fi%
\edef\@cite@undefined{?}%
\def\BBA{\@BBA}%
\if@A@cite%
{\csname b@\@citeb\@extra@b@citeb\endcsname}%
\if@Y@cite%
{\@BBAY}%
\fi%
\fi%
\if@Y@cite%
{\csname Y@\@citeb\@extra@b@citeb\endcsname}%
\fi%
\let\BBA\relax%
}
\def\@@cite<#1>[#2]#3{%
%
% write citation(s) to .aux file
%
\if@filesw{%
\immediate\write\@auxout{\string\citation{#3}}%
}%
\fi%
%
% the previous cite, for multiple citations with same author
%
\edef\@citeP{}%
%
% open parenthesis and precitation
%
{\@BBOP}%
\ifx\@empty#1%
\else%
{\ignorespaces #1\@BAP}%
\fi%
%
% loop over citation entries
%
\@for\@citeb:=#3\do{%
%
% check whether citation is defined
%
\@ifundefined{b@\@citeb\@extra@b@citeb}%
{\expandafter\def\csname b@\@citeb\@extra@b@citeb\endcsname{?}%
\expandafter\def\csname Y@\@citeb\@extra@b@citeb\endcsname{?}%
\@warning{Citation `\@citeb' on page \thepage\space 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\@extra@b@citeb}%
{\global\expandafter
\def\csname flag@\@citeb\@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.
%
% Code differs depending on whether hyperref-compatibility
% option is loaded.
\if@hyper@APA@comp
% hyperref-compatibility option on
% (code provided by Ross Moore)
\expandafter\def\expandafter\B@my@dummy
\expandafter{\csname b@\@citeb\@extra@b@citeb\endcsname}%
\expandafter\expandafter\expandafter
\ifx\expandafter\@citeP\B@my@dummy\relax%
\@ifauthorsequalc@de
\else%
\@ifauthorsunequalc@de
\fi%
% define previous citation-author as current
%
\expandafter\def\expandafter\@citeP
\expandafter{\csname b@\@citeb\@extra@b@citeb\endcsname}%
%
\else%
% else: hyperref-compatibility option off
% (code dating from theapa.sty)
\@pre@accentfix% fix problems with cedilla-type accents
\edef\B@my@dummy{\csname b@\@citeb\@extra@b@citeb\endcsname}%
\@post@accentfix% return to old definitions
\ifx\@citeP\B@my@dummy%
\@ifauthorsequalc@de
\else%
\@ifauthorsunequalc@de
\fi%
% define previous citation-author as current
%
\@pre@accentfix% fix problems with cedilla-type accents
\edef\@citeP{\csname b@\@citeb\@extra@b@citeb\endcsname}%
\@post@accentfix% return to old definitions
%
\fi
\let\BCA\relax%
}%%
% end loop over citation entries
% add note [=#2] and closing parenthesis
%
\ifx\@empty#2%
\else%
{\@BBN #2}%
\fi%
\if@Y@cite%
{\@BAY}%
\fi%
{\@BBCP}%
%
% define first citation true for next \@@cite
%
\@F@citetrue %
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \nocite{key} : entry in reference list, not in text
%
% This is a little different from \@@cite with
% \@A@citefalse and \@Y@citefalse
% because of the `*' variant (cite all entries in bibfile)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\nocite#1{%
\@bsphack%
\if@filesw{%
\immediate\write\@auxout{\string\citation{#1}}}%
\fi%
\@for\@citeb:=#1\do{%
\@ifundefined{b@\@citeb\@extra@b@citeb}%
{\edef\B@my@dummy{*}%
\ifx\@citeb\B@my@dummy%
\else%
\@warning{Citation `\@citeb' on page \thepage\space undefined}%
\fi%
}%
{}% Removed flag-setting: a no-cite is not a cite,
% so a subsequent cite may be the first cite.
}%
\@esphack%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \nocitemeta{key} : entry in reference list, not in text,
% for entries that are used in a meta-analysis.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\nocitemeta#1{%
\@bsphack%
\if@filesw{%
\immediate\write\@auxout{\string\citation{#1}}}%
\fi%
%
\global\def\APAC@metaprenote{\APACmetaprenote}%
\@for\@citeb:=#1\do{%
\@ifundefined{b@\@citeb\@extra@b@citeb}%
{\edef\B@my@dummy{*}%
\ifx\@citeb\B@my@dummy%
\else%
\@warning{Citation `\@citeb' on page \thepage\space undefined}%
\fi%
}%
{ % Define meta-analysis flag for current item
%
\@ifundefined{flagmeta@\@citeb\@extra@b@citeb}%
{\global\expandafter
\def\csname flagmeta@\@citeb\@extra@b@citeb\endcsname{DUMMY}%
}%
{}%
}%
}%
\@esphack%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \APACinsertmetastar{key}: insert an asterisk before the names in the
% reference list for entries that are used in a meta-analysis.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\APACinsertmetastar#1{%
\@bsphack%
\@for\@citeb:=#1\do{%
\@ifundefined{flagmeta@\@citeb\@extra@b@citeb}%
{}% skip
{{\APACmetastar}}%
}%
\@esphack%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% No labels in the bibliography.
%
\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}%
% else: chapter is defined
{\@ifundefined{@sectionbibtrue}% we have to guess
{\@ifundefined{@mainmatterfalse}% check if mainmatter exists
{\st@rtbibchapter}%
% else: mainmatter is defined
{\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}
{}% skip
{\APAC@metaprenote}
%
\list{\relax}{\labelsep=0em%
% \parskip\z@ \@plus .3\p@\relax
\parsep=\bibparsep%
\itemsep=\bibitemsep%
\leftmargin=\bibleftmargin%
\itemindent=\bibindent}% changed to cope with 4th ed.
\def\newblock{\unskip\ \hskip .11em plus .33em minus .07em}%
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax
}
\def\endthebibliography{\endlist\normalsize}
%
% natbib redefines \thebibliography, which interferes a little
% with our purposes. Therefore, add some patches.
%
\AtBeginDocument{%
\@ifpackageloaded{natbib}{%
\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}
{}% skip
{\APAC@metaprenote}%
}%
\let\@old@endthebibliography\endthebibliography
\def\endthebibliography{\@old@endthebibliography%
\normalsize}
}%
{}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% EOF apacite.sty
%