% \def\filename{changes.tex} % \def\fileversion{1.0} % \def\filedate{2004/06/30} % % American Mathematical Society % Technical Support % Publications Technical Group % 201 Charles Street % Providence, RI 02904 % USA % tel: (401) 455-4080 % (800) 321-4267 (USA and Canada only) % fax: (401) 331-3842 % email: tech-support@ams.org % % Copyright 2004, 2007, 2010 American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c % 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.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is the American Mathematical % Society. % % ==================================================================== \documentclass[11pt]{amsdtx} %\usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{fullpage} \usepackage{amsrefs} \MakeShortVerb{\|} \makeatletter \def\bysame{% \leavevmode\hbox to3em{\hrulefill}\thinspace \kern\z@ } \DeclareRobustCommand{\fld}{\category@index{field}} \DeclareRobustCommand{\btype}{\category@index{entry type}} \long\def\@ifempty#1{\@xifempty#1@@..\@nil} \long\def\@xifempty#1#2@#3#4#5\@nil{% \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi } \long\def\@ifnotempty#1{\@ifempty{#1}{}} \newcounter{changecounter} \newcommand\change[1][]{% \refstepcounter{changecounter}% \medskip \par \noindent \textbf{Change~\thechangecounter\@ifnotempty{#1}{ [#1]}.}\enskip \ignorespaces } %% \newcommand\bugref[1]{% %% [#1]% %% } \newcounter{tableline}[table] \newcommand{\tbl}{% \refstepcounter{tableline} \thetableline.% } \makeatother \title{User-Visible Changes to the \pkg{amsrefs} Package, version~2.0} \author{David M. Jones} \date{June 30, 2004} \begin{document} \maketitle This document describes some of the user-visible changes made to the \pkg{amsrefs} package between version~1.23, the last public release, and version~2.0. This list is not exhaustive. Instead, the focus is on correct (or at least reasonable) user documents that would produce different output when processed under the two versions. In general, the changes discussed here fall between the following poles: \begin{enumerate} \item Version~1.23 produces results that are subtly wrong. These range from things that would go unnoticed by any but the most attentive reader to things that, even if noticed, would likely be shrugged off as unimportant. \item Version~1.23 produces results that are obviously wrong, i.e., they would be obvious under even the most cursory examination of the output. In most cases, this means the resulting document would be unacceptable. \end{enumerate} We don't include the even more severe category of examples where version~1.23 generates a fatal error since no document would be produced in that case. We also don't include enhancements or new features that depend upon new syntax, since such constructs would not be expected to be found in version~1.23 documents. Reference numbers in square brackets refer to bugs reported by users. \section{The \opt{initials} option} See table~\ref{tbl:initials_bugs} for illustrations of these changes. \begin{table}\small \caption{Bugs in the \opt{initials} option} \label{tbl:initials_bugs} \begin{tabular*}{\textwidth}{@{}ll@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{}} & \textbf{Input} & \textbf{v1.23 output} & \textbf{v2.0 output} \\ \tbl & |Doe, J.| & J. . Doe & J. Doe \\ \tbl & |Doe, John R.| & J. R. . Doe & J. R. Doe \\ \tbl & |Doe, Yu.| & Y. . Doe & Yu. Doe \\ \tbl & |Doe, J.~R.| & J.~ R. . Doe & J. R. Doe \\ \tbl & |Doe, John~Henry| & J. Doe & J. H. Doe \\ \tbl & |Bing, R H| & R H. Bing & R H Bing\\ \tbl & |Katzenbach, N. {deB}elleville| & @B@@@@@@@@ @@ N. Katzenbach & N. deB. Katzenbach \\ \tbl & |Katzenbach, N. deB.| & @ @ @@ N. Katzenbach & N. deB. Katzenbach \\ \tbl & \texttt{Grömov, Mårtin} & MÅ. Grömov & M. Grömov \\ \tbl & |Doe, {Yu}ri| & Y. Doe & Yu. Doe \end{tabular*} \end{table} \change[B-2005]\label{chng:final_dots} When a given name ends in a period, an extra space and period would be appended to the name. Lines 1 and~2 in table~\ref{tbl:initials_bugs} illustrate the most common cases. Line~3 illustrates a related case that is both a bug fix and an enhancement (cf.\ lines 7 and~8): initials consisting of multiple characters were not recognized (cf.\ change~\ref{chng:multi_char_inits}). \change[B-2005a] Ties (|~|) between given names resulted in incorrect output, either extra space (line~4) or a dropped initial (line~5). Since \bibtex/ automatically generates ties, this problem occurs frequently when using \bst{amsxport}. \change A name consisting of a single letter would receive an erroneous period (line~6). \change\label{chng:initial_lowercase} Names beginning with lowercase letters were handled badly (lines 7 and~8) (cf.\ change~\ref{chng:multi_char_inits}). \change Extended character sets were not handled well. For example, when using T1 fonts, lowercase 8-bit characters were not processed correctly (line~9). \change\label{chng:multi_char_inits} There was no way to indicate a multi-character initial (line~10). (Cf.\ changes \ref{chng:final_dots} and~\ref{chng:initial_lowercase}). \section{The \fld{xref} field} \change[B-2009] Repeatable fields (such as \fld{editor}) were not inherited via the \fld{xref} field. Consider the following example: \begin{verbatim} \bib*{icalp77}{proceedings}{ editor={Arto Salomaa}, editor={Magnus Steinby}, title={Automata, Languages and Programming, Fourth Colloquium} } \bib{AhoS1977}{article}{ title={How Hard is Compiler Code Generation?}, author={Alfred V. Aho}, author={Ravi Sethi}, xref={icalp77}, pages={1\ndash 15} } \end{verbatim} Version~1.23 would produce \begin{quote} Alfred V. Aho and Ravi Sethi, \emph{How Hard is Compiler Code Generation?}, Automata, Languages and Programming, Fourth Colloquium, pp.~1--15. \end{quote} (without the editors) instead of \begin{quote} Alfred V. Aho and Ravi Sethi, \emph{How Hard is Compiler Code Generation?}, Automata, Languages and Programming, Fourth Colloquium (Arto Salomaa and Magnus Steinby, eds.), pp.~1--15. \end{quote} Other additive keys like \fld{author}, \fld{isbn} and \fld{review} would similarly be dropped. \section{The \opt{alphabetic} option} %% \change[B-2013]\label{chng:b2013} %% A compound citation such as %% \begin{verbatim} %% \citelist{ \cite{SS75}*{Theorem 1} \cite{TM86}*{Prop. 2} } %% \end{verbatim} %% used to produce %% \begin{quote} %% [SS75, Theorem 1, TM86, Prop. 2] %% \end{quote} %% whereas version~2.0 correctly separates the citations with a %% semi-colon instead of a comma: %% \begin{quote} %% [SS75, Theorem 1; TM86, Prop. 2] %% \end{quote} \change[B-2009] In version~1.23, generation of alphabetic labels was done by \bibtex/ rather than by \fn{amsrefs.sty}. This means that if you did not use \bibtex/ to generate your \cs{bib} entries from a \fn{.bib} file, \pkg{amsrefs} would use the author's citation key as the alphabetic label\footnote{It was also possible for the user to supply a different alphabetic label using the \fld{label} field, but this feature was undocumented.}. This means that an entry such as \begin{verbatim} \bib{D1999}{article}{ author={Doe, John~R.}, year={1999} } \end{verbatim} would appear as \begin{quote} [D1999] John R. Doe (1999). \end{quote} while if the same entry was generated from a \fn{.bib} file using \bst{amsxport}, the entry would appear as \begin{quote} [Doe99] John R. Doe (1999). \end{quote} This approach had a number of problems, such as lack of uniformity, so in version~2.0, it is \pkg{amsrefs.sty} that generates the alphabetic label, not \bibtex/, and the entry above would appear as [Doe99] even if \bibtex/ is not used. \section{Changes to bibliography style} \change A book with both an author and an editor, for example, \begin{verbatim} \bib{X}{book}{ author={Doe, John}, editor={Crow, Jack}, title={Book with one author and one editor} } \end{verbatim} would be formatted as \begin{quote} John DoeJack Crow (ed.), \emph{Book with one author and one editor}. \end{quote} rather than \begin{quote} John Doe, \emph{Book with one author and one editor}. Edited by Jack Crow. \end{quote} \change Editors did not participate in the automatic \cs{bysame} processing, so if you had two books by the same editor, e.g. \begin{verbatim} \bib{A}{book}{ editor={Crow, Jack}, title={First book} } \bib{B}{book}{ editor={Crow, Jack}, title={Second book} } \end{verbatim} the result would be \begin{quote} [1] Jack Crow (ed.), \emph{First book}. [2] Jack Crow (ed.), \emph{Second book}. \end{quote} instead of \begin{quote} [1] Jack Crow (ed.), \emph{First book}. [2] \bysame (ed.), \emph{Second book}. \end{quote} Consider also what happens if we change the |editor| in the first entry to |author|: \begin{quote} [1] Jack Crow, \emph{First book}. [2] Jack Crow (ed.), \emph{Second book}. \end{quote} versus \begin{quote} [1] Jack Crow, \emph{First book}. [2] \bysame (ed.), \emph{Second book}. \end{quote} \change Some changes have been made to punctuation and order of fields to bring the \pkg{amsrefs} format into line with the AMS house style. \section{\cs{cite}-like commands} \change The \cs{ycites}, \cs{ocites}, \cs{fullcite} and \cs{fullocite} commands for author-year citations were not implemented in version~1.23. Instead, they produced a warning on the terminal and then behaved identically to the \cs{cites}, \cs{cite} or \cs{ocite} commands. They will be implemented in version~2.0 and thus produce different output. Table~\ref{tbl:cites} illustrates the changes. \begin{table}[hb]\small \caption{The \cs{cite}-like commands}\label{tbl:cites} \begin{center} \begin{minipage}{.9\textwidth}\small Consider the following entries: \begin{quote} Crow, Jack, John Doe, and John Bull. 1999.\,\dots Doe, John. 2000.\,\dots \end{quote} If the citation keys for the items are ``A'' and~``B'', respectively, the various \cs{cite} commands would produce the following: \begin{tabular*}{\textwidth}{@{}ll@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{}} & \textbf{Input} & \textbf{v1.23 output} & \textbf{v2.0 output} \\ \tbl & |\cite{A}| & (Crow et al., 1999) & (Crow et al., 1999) \\ \tbl & |\fullcite{A}| & (Crow et al., 1999) & (Crow, Doe, and Bull, 1999) \\ \tbl & |\ocite{A}| & Crow et al. (1999) & Crow et al. (1999) \\ \tbl & |\fullocite{A}| & Crow et al. (1999) & Crow, Doe, and Bull (1999) \\ \tbl & |\cites{A,B}| & (Crow et al., 1999; Doe, 2000) & (Crow et al., 1999; Doe, 2000) \\ \tbl & |\ycites{A,B}| & (Crow et al., 1999; Doe, 2000) & (1999, 2000) \\ \tbl & |\ocites{A,B}| & (Crow et al., 1999; Doe, 2000) & Crow et al. (1999) and Doe (2000) \\ \end{tabular*} \end{minipage} \end{center} \end{table} \change Citation-sorting did not always work correctly when there were optional arguments involved. So, \begin{verbatim} \citelist{\cite{2} \cite{1} \cite{3}} \end{verbatim} would correctly produce \begin{quote} [1--3] \end{quote} but \begin{verbatim} \citelist{\cite{2} \cite{1} \cite{3}*{Theorem 1}} \end{verbatim} would produce \begin{quote} [1, 3, Theorem 1; 2] \end{quote} instead of \begin{quote} [1; 2; 3, Theorem 1] \end{quote} Note also that version~2.0 correctly switches to using semi-colons while version~1.23 erroneously used a comma between the first and second items.% (cf.\ change~\ref{chng:b2013}). \section{The \pkg{inicap} package and \cs{EnglishInitialCaps}} \change As of version~2.0, \pkg{amsrefs} no longer attempts to adjust the capitalization of book titles. Version~1.23 shipped with a package called \pkg{inicap} that provided a function for converting English titles from normal upper/lower case to \qq{initial caps} form. For example, if an author typed \begin{verbatim} booktitle={Group rings, crossed products and Galois theory} \end{verbatim} \pkg{amsrefs} would automatically adjust it to \begin{quote} Group Rings, Crossed Products and Galois Theory \end{quote} However, \pkg{inicap} is incomplete and produces incorrect results in cases like the following: \begin{quote} \verb+Term rewriting with sharing and memo{\"\i}zation+\hfill\break \i Term Rewriting with Sharing and memo\"zation \medskip \verb+The \ldq low $M^*$-estimate\rdq\ for covering numbers+\hfill\break The \ldq low $M^*$-estimate\rdq\ for Covering Numbers \hfill\break(where ``low'' and ``estimate'' should be capitalized) \end{quote} and an example like the following, which uses the \verb+\qq+ command that we recommend, would result in a fatal error: \begin{quote} \verb+The \qq{low $M^*$-estimate} for covering numbers+ \end{quote} In addition, this feature was of limited usefulness since it was only applied to book titles. Authors should already be accustomed to taking full responsibility for the capitalization of book titles since \bibtex/ does not alter the capitalization of book titles. The low utility of the feature does not seem to warrant the effort that would be required to make the \pkg{inicap} package robust enough for use in a production environment, so we have decided instead to deprecate it and remove this functionality from the \pkg{amsrefs} package. \end{document}