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.

I know that several people have already asked this question, but for some strange reason the suggestions are not working.

I have tried inserting:

\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother

into the preamble of my .tex file, of the .ltb file, and of the style file that I am using, however nothing changes the references. This is and example of what has been tried:

\documentclass[noheadings]{uncthesis}  
\usepackage{amsmath,amssymb,amsthm,slashed,amsfonts}

\makeatletter
\renewcommand\@biblabel[1]{#1.}
\makeatother

\begin{document}
Alan Sokal~\cite{Sokal96} recommends Bourbaki's
text~\cite{Bourbaki70} for a gentle introduction to set theory.
\begin{thebibliography}{plain}
\bibselect{Bib}
\end{thebibliography}
\end{document}

enter image description here

The corresponding Bib.ltb would be:

\documentclass{amsart}
\usepackage{amsrefs}
\begin{document} 
\begin{bibdiv}
\begin{biblist}
\bib{Bourbaki70}{book}{
title={Th\'eorie des ensembles},
author={Bourbaki, Nicolas},
date={1970},
publisher={Hermann},
address={Paris}
}
\bib{Sokal96}{article}{
title={Trangressing the boundaries},
subtitle={Toward a transformative hermeneutics of quantum gravity},
author={Sokal, Alan},
journal={Social Text},
volume={46/47},
date={1996},
pages={217--252}
}
\end{biblist}
\end{bibdiv}
\end{document}

I have also tried inserting:

\makeatletter
\renewcommand{\BibLabel}{%
  \hfill
  \Hy@raisedlink{\hyper@anchorstart{cite.\CurrentBib}\hyper@anchorend}%
\thebib.%
}
\makeatother

However, this yields the error message

2063: Undefined control sequence.
\BibLabel ->\hfill \Hy@raisedlink 
                              {\hyper@anchorstart {cite.\CurrentBib }\hy...
l.2063 \begin{thebibliography}{plain}

Are there any other suggestions? Thank you!

share|improve this question
    
Welcome to TeX.sx! –  texenthusiast Mar 15 '13 at 18:41
1  
Hi Kathleen, welcome to TeX.sx! Redefining \@biblabel as you did in your code does change the list of references from [n] to n.. Perhaps you could include a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}, and also a fragment of your .bib file. :) –  Paulo Cereda Mar 15 '13 at 18:49
    
@PauloCereda No; if amsrefs is used, as is the case here, the mentioned redefinition of \@biblabel doesn't change the label formatting in the bibliography –  Gonzalo Medina Mar 15 '13 at 19:17
    
@Kathleen I took the liberty of adding a MWE illustrating the problem, and the corresponding image; I hope it's OK. –  Gonzalo Medina Mar 15 '13 at 19:31
    
@GonzaloMedina: ah, there was a package I was unaware of! :) Thanks, Gonzalo! –  Paulo Cereda Mar 15 '13 at 19:31
show 3 more comments

1 Answer

Since amsrefs is being used, a redefinition of \BibLabel is needed:

\documentclass{article}
\usepackage{amsrefs}

\makeatletter
\renewcommand{\BibLabel}{%
    \hfill
    \Hy@raisedlink{\hyper@anchorstart{cite.\CurrentBib}\hyper@anchorend}%
    \thebib.%
}
\makeatother

\begin{document}
Alan Sokal~\cite{Sokal96} recommends Bourbaki's
text~\cite{Bourbaki70} for a gentle introduction to set theory.
\begin{bibdiv}
\begin{biblist}
\bib{Bourbaki70}{book}{
title={Th\'eorie des ensembles},
author={Bourbaki, Nicolas},
date={1970},
publisher={Hermann},
address={Paris}
}
\bib{Sokal96}{article}{
title={Trangressing the boundaries},
subtitle={Toward a transformative hermeneutics of quantum gravity},
author={Sokal, Alan},
journal={Social Text},
volume={46/47},
date={1996},
pages={217--252}
}
\end{biblist}
\end{bibdiv}

\end{document}

enter image description here

Just for the record, here's the original definition:

\newcommand{\BibLabel}{%
    \hfill
    \Hy@raisedlink{\hyper@anchorstart{cite.\CurrentBib}\hyper@anchorend}%
    [\thebib]%
}

A little explanation on why the redefinition of \@biblabel doesn't work with amsrefs: \@biblabel is a kernel's command and amsrefs doesn't use it to format the labels in the bibliography (amsrefs uses its own \BibLabel command); that's why redefining \@biblabel when the amsrefs package is used goes silently into oblivion (in particular, no error message will be produced) without any visible effect.

share|improve this answer
    
Thank you for your suggestions. I think I need to provide some more information. This is what the tex file looks like: \documentclass[noheadings]{uncthesis} \usepackage{amsmath,amssymb,amsthm,slashed,amsfonts} \begin{document} Alan Sokal~\cite{Sokal96} recommends Bourbaki's text~\cite{Bourbaki70} for a gentle introduction to set theory. \begin{thebibliography}{plain} \bibselect{Bib} \end{thebibliography} \end{document} And then I have a .ltb file that looks like: \documentclass{amsart} \usepackage{amsrefs} \begin{document} \begin{bibdiv} \begin{biblist} \end{biblist} \end{bibdiv} –  Kathleen Mar 16 '13 at 13:55
    
@Kathleen does this mean that you tried my suggestion and it didn't work? –  Gonzalo Medina Mar 16 '13 at 14:07
    
I did try it. I got an error message: Undefined control sequence. If I "Goto Error" it sends me to \begin{thebibliography}{plain} –  Kathleen Mar 16 '13 at 14:12
    
@Kathleen what exactly is the complete error message? You didn't mention what is the undefined control sequence. Also, please, since code formatting in comments is a nightmare, edit your question and add the code there. –  Gonzalo Medina Mar 16 '13 at 14:15
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.