Bug#628044: natbib: \defcitealias forces space
Package: texlive-latex-base
Version: 2009-11
Severity: normal
Tags: patch
Hi, this is a bug report in the Debian bug tracking system for
natbib. Please send reactions to it to NNNN@bugs.debian.org
(NNNN standing for the number in the subject),
and not only to me.
(Above paragraph because upstream is CCed.)
In the following LaTeX snippet:
There is a very nice
\defcitealias{flower}{flower}%
\defcitealias{flour}{flour}%
\defcitealias{tree}{tree}%
\citetalias{flower}, but no \citetalias{flour},
in this \citetalias{tree}.
There is too much space between "nice" and "flower".
Patch to natbib.dtx attached. I downloaded natbib from CTAN, because
slow Internet and not enough patience to wait for the whole
Debian texlive-base .orig.tar.gz file to download,
so possibly some slight adaptation is needed for Debian:
Debian has version 2009/07/16 8.31 (PWD, AO),
while CTAN has 2010/09/13 8.31b (PWD, AO).
I reproduced the problem with both versions.
-- Package-specific info:
If you report an error when running one of the TeX-related binaries
(latex, pdftex, metafont,...), or if the bug is related to bad or wrong
output, please include a MINIMAL example input file that produces the
error in your report.
Please run your example with
(pdf)latex -recorder ...
(or any other program that supports -recorder) and send us the generated
file with the extension .fls, it lists all the files loaded during
the run and can easily explain problems induced by outdated files in
your home directory.
Don't forget to also include minimal examples of other files that are
needed, e.g. bibtex databases. Often it also helps
to include the logfile. Please, never send included pictures!
If your example file isn't short or produces more than one page of
output (except when multiple pages are needed to show the problem),
you can probably minimize it further. Instructions on how to do that
can be found at
http://www.latex-einfuehrung.de/mini-en.html (english)
or
http://www.latex-einfuehrung.de/mini.html (german)
##################################
minimal input file
attached: example.tex
##################################
other files
attached: example.bib, example.fls, example.log
######################################
List of ls-R files
-rw-r--r-- 1 root root 1715 Oct 28 2010 /var/lib/texmf/ls-R
-rw-rw-r-- 1 root staff 80 Jun 28 2010 /usr/local/share/texmf/ls-R
lrwxrwxrwx 1 root root 29 Jun 28 2010 /usr/share/texmf/ls-R -> /var/lib/texmf/ls-R-TEXMFMAIN
lrwxrwxrwx 1 root root 27 Oct 28 2010 /usr/share/texmf-texlive/ls-R -> /var/lib/texmf/ls-R-TEXLIVE
lrwxrwxrwx 1 root root 27 Oct 28 2010 /usr/share/texmf-texlive/ls-R -> /var/lib/texmf/ls-R-TEXLIVE
######################################
Config files
lrwxrwxrwx 1 root root 20 Jun 28 2010 /usr/share/texmf/web2c/texmf.cnf -> /etc/texmf/texmf.cnf
-rw-r--r-- 1 root root 10081 Oct 28 2010 /var/lib/texmf/web2c/fmtutil.cnf
-rw-r--r-- 1 root root 24192 Oct 28 2010 /var/lib/texmf/web2c/updmap.cfg
-rw-r--r-- 1 root root 15119 Mar 14 16:22 /var/lib/texmf/tex/generic/config/language.dat
######################################
Files in /etc/texmf/web2c/
total 4
-rw-r--r-- 1 root root 283 Nov 10 2008 mktex.cnf
######################################
md5sums of texmf.d
3875bf0f4a53a29b7f247399dc9833e2 /etc/texmf/texmf.d/05TeXMF.cnf
6e82a3d4c00ae7e4f86aa8dcf9438cf3 /etc/texmf/texmf.d/15Plain.cnf
c60a084820a0b73e3bfbf2e90bda437c /etc/texmf/texmf.d/45TeXinputs.cnf
ea33127256c6a9f37145ae5b16fdb80c /etc/texmf/texmf.d/55Fonts.cnf
afccf1d3f87057411166a77c58e00bd1 /etc/texmf/texmf.d/65BibTeX.cnf
9da7c1c7b1eaf06f941af91f48a23068 /etc/texmf/texmf.d/75DviPS.cnf
7ae52efac46feb97010986e57877d12e /etc/texmf/texmf.d/80DVIPDFMx.cnf
055e06548bac99958d8ab2dd1248f2b4 /etc/texmf/texmf.d/80tex4ht.cnf
37329819f1109e8a457e64b8b58fecdb /etc/texmf/texmf.d/85Misc.cnf
a8952d594677235951d447665ec46e9c /etc/texmf/texmf.d/90TeXDoc.cnf
bab3b7e578107f999fa1b0768994f6f8 /etc/texmf/texmf.d/95NonPath.cnf
-- System Information:
Debian Release: squeeze/sid
APT prefers oldstable
APT policy: (500, 'oldstable'), (500, 'stable'), (400, 'testing'), (300, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_LU.UTF-8, LC_CTYPE=fr_LU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages texlive-latex-base depends on:
ii dpkg 1.15.8.5 Debian package management system
ii tex-common 2.08 common infrastructure for building
ii texlive-base 2009-11 TeX Live: Essential programs and f
ii texlive-binaries 2009-7 Binaries for TeX Live
ii texlive-common 2009-11 TeX Live: Base component
Versions of packages texlive-latex-base recommends:
ii texlive-latex-base-doc 2009-11 TeX Live: Documentation files for
texlive-latex-base suggests no packages.
Versions of packages tex-common depends on:
ii debconf [debconf-2.0] 1.5.24 Debian configuration management sy
ii dpkg 1.15.8.5 Debian package management system
ii ucf 3.0016 Update Configuration File: preserv
Versions of packages texlive-latex-base is related to:
ii tex-common 2.08 common infrastructure for building
ii texlive-binaries 2009-7 Binaries for TeX Live
-- debconf information:
tex-common/check_texmf_wrong:
tex-common/check_texmf_missing:
@Book{flower,
author = {Carl Linnaeus},
title = {Systema Naturae},
publisher = {Holmi\ae},
year = 1766,
edition = {twelfth}}
@Book{flour,
author = {Tom Jaine},
title = {50 recettes de pain},
publisher = {Gr\"und},
year = 1995,
isbn = {978-2700053739}}
@Book{tree,
author = {William Grimm},
title = {Illustrated Book of Trees: The Comprehensive Field Guide to More than 250 Trees of Eastern North America},
publisher = {Stackpole Books},
year = 2001,
edition = {revised},
isbn = {978-0811728119}}
PWD /home/master/thesis/bug2_minimal
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/latex.fmt
INPUT example.tex
OUTPUT example.log
INPUT /usr/share/texmf-texlive/tex/latex/base/article.cls
INPUT /usr/share/texmf-texlive/tex/latex/base/article.cls
INPUT /usr/share/texmf-texlive/tex/latex/base/size10.clo
INPUT /usr/share/texmf-texlive/tex/latex/base/size10.clo
INPUT /usr/share/texmf-texlive/tex/latex/natbib/natbib.sty
INPUT /usr/share/texmf-texlive/tex/latex/natbib/natbib.sty
INPUT example.aux
INPUT example.aux
OUTPUT example.aux
INPUT example.bbl
INPUT example.bbl
INPUT /usr/share/texmf-texlive/fonts/map/fontname/texfonts.map
INPUT /usr/share/texmf-texlive/fonts/map/fontname/texfonts.map
INPUT /usr/share/texmf-texlive/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texmf-texlive/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texmf-texlive/fonts/tfm/public/cm/cmti10.tfm
OUTPUT example.dvi
INPUT example.aux
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=latex 2010.10.28) 26 MAY 2011 18:00
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**example.tex
(./example.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, farsi, arabic, croatian, bulgarian, ukrainian, russian, czech, slov
ak, danish, dutch, finnish, french, basque, ngerman, german, german-x-2009-06-1
9, ngerman-x-2009-06-19, ibycus, monogreek, greek, ancientgreek, hungarian, san
skrit, italian, latin, latvian, lithuanian, mongolian2a, mongolian, bokmal, nyn
orsk, romanian, irish, coptic, serbian, turkish, welsh, esperanto, uppersorbian
, estonian, indonesian, interlingua, icelandic, kurmanji, slovenian, polish, po
rtuguese, spanish, galician, catalan, swedish, ukenglish, pinyin, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texmf-texlive/tex/latex/natbib/natbib.sty
Package: natbib 2009/07/16 8.31 (PWD, AO)
\bibhang=\skip43
\bibsep=\skip44
LaTeX Info: Redefining \cite on input line 694.
\c@NAT@ctr=\count87
) (./example.aux)
\openout1 = `example.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4.
LaTeX Font Info: ... okay on input line 4.
(./example.bbl) [1
] (./example.aux) )
Here is how much of TeX's memory you used:
558 strings out of 493849
6300 string characters out of 1152845
54374 words of memory out of 3000000
3910 multiletter control sequences out of 15000+50000
4591 words of font info for 17 fonts, out of 3000000 for 9000
714 hyphenation exceptions out of 8191
23i,4n,20p,157b,137s stack positions out of 5000i,500n,10000p,200000b,50000s
Output written on example.dvi (1 page, 856 bytes).
\documentclass{article}
\usepackage{natbib}
\begin{document}
There is a very nice
\defcitealias{flower}{flower}%
\defcitealias{flour}{flour}%
\defcitealias{tree}{tree}%
\citetalias{flower}, but no \citetalias{flour},
in this \citetalias{tree}.
\bibliographystyle{plain}
\bibliography{example}
\end{document}
--- natbib.dtx.ctan 2010-09-13 13:39:20.000000000 +0200
+++ natbib.dtx.lem 2011-05-26 17:44:21.000000000 +0200
@@ -3992,12 +3992,12 @@
% indexing can be achieved.
% \begin{macrocode}
\newcommand\defcitealias[2]{%
- \@ifundefined{al@#1\@extra@b@citeb}{}
- {\PackageWarning{natbib}{Overwriting existing alias for citation #1}}
+ \@ifundefined{al@#1\@extra@b@citeb}{}%
+ {\PackageWarning{natbib}{Overwriting existing alias for citation #1}}%
\@namedef{al@#1\@extra@b@citeb}{#2}}
-\DeclareRobustCommand\citetalias{\begingroup
+\DeclareRobustCommand\citetalias{\begingroup%
\NAT@swafalse\let\NAT@ctype\thr@@\NAT@parfalse\NAT@citetp}
-\DeclareRobustCommand\citepalias{\begingroup
+\DeclareRobustCommand\citepalias{\begingroup%
\NAT@swatrue\let\NAT@ctype\thr@@\NAT@partrue\NAT@citetp}
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}
Reply to: