Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Using \documentclass{amsproc}, \bibliographystyle{amsplain}.

With \cite{A,B} one gets something like [1, 2]. I would like to decrease the space (for example to thinspace) between 1, and 2. I would appreciate any suggestion to do that simply, i.e., by (re)defining a macro, instead using additional package. But if a package is unavoidable, ok, but which one?

A minimal working example:

\documentclass{amsproc}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{testa,
  title= "Title A",
  author= "Author A",
  journal= "Journal A",
  pages= "1-2",
  year = "2012"
}
@article{testb,
  title= "Title B",
  author= "Author B",
  journal= "Journal B",
  pages= "2-3",
  year = "2012"
}
\end{filecontents}

\begin{document}

\cite{testa,testb}
\bibliographystyle{amsplain}
\bibliography{\jobname}
\end{document}

enter image description here

share|improve this question
    
Welcome to TeX.sx! Please add a complete minimal working example (MWE) that illustrates your problem. –  Kurt Oct 2 '12 at 20:07
    
@Kurt I added the MWE; I hope it's OK. –  Gonzalo Medina Oct 2 '12 at 20:14
add comment

1 Answer 1

Without using additional packages, add the following lines to the preamble of your document:

\makeatletter
\def\@cite#1#2{{%
 \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\,}%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
\@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
\G@refundefinedtrue
\@latex@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
\makeatother

A complete example:

\documentclass{amsproc}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{testa,
  title= "Title A",
  author= "Author A",
  journal= "Journal A",
  pages= "1-2",
  year = "2012"
}
@article{testb,
  title= "Title B",
  author= "Author B",
  journal= "Journal B",
  pages= "2-3",
  year = "2012"
}
\end{filecontents}

\makeatletter
\def\@cite#1#2{{%
 \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\,}%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
\@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
\G@refundefinedtrue
\@latex@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
\makeatother

\begin{document}

\cite{testa,testb}
\bibliographystyle{amsplain}
\bibliography{\jobname}
\end{document}

The output zoomed to 200%:

enter image description here

Using packages, you can simply load the cite package:

\usepackage{cite}
share|improve this answer
    
@egreg -- oops! thanks for correction. –  barbara beeton Oct 2 '12 at 22:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.