[Cjk] other strange bibtex related errors (Big 5)
Werner LEMBERG
wl at gnu.org
Sat Jun 10 09:12:05 CEST 2006
> 1. After calling latex and bibtex without any errors, the second
> latex-call produces the following error, which seems to come from
> the .bbl file:
>
> ! Improper alphabetic constant.
> <to be read again>
> \nobreakspace
> l.26 Xukun 王續琨}}{}{}{}{}} {}
> \bibAnnoteFile {LiuYongzhen:2002}
>
> What's wrong?
This is caused by the Big 5 character `年' which has `~' as the second
byte in Big 5 encoding. Since this is already used by LaTeX as a
shorthand for \nobreakspace, CJK can get the expansion of `~' instead
of `~' itself. Such characters should be written with \CJKchar in
bibliographies too. I forgot that :-) Below is an updated script.
> 2. After entering batchmode of miktex the file finishes compiling. But
> when I look at the result (dvi or pdf, it doesn't matter), the
> third-last Chinese character of the title 恒 (heng) is not
> displayed.
You are using a character of the so-called ETen extension of Big5.
Among various symbols, the following CJK characters are located there:
碁 銹 裏 墻 恒 粧 嫺
Using them is a source of trouble because not all fonts (in Big5
encoding) support them. Attached is a special UBig5-Arphic.sfd file
which covers them. Use this to regenerate the Type 1 subfonts of
bsmi00lp.ttf -- you might also forward this file to the MikTeX package
maintainer of the CJK package.
Werner
======================================================================
while (<>) {
s/([\xA1-\xFE])([\x40-\x7E]|[\xA1-\xFE])/
if ($2 eq "\\" || $2 eq "{" || $2 eq "}" || $2 eq "~") {
sprintf("\\CJKchar{%d}{%d}", ord($1), ord($2));
}
else {
sprintf("$1$2");
}
/eg;
print;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: UBig5.sfd.bz2
Type: application/octet-stream
Size: 32359 bytes
Desc: not available
Url : http://lists.ffii.org/pipermail/cjk/attachments/20060610/dff5aad0/UBig5.sfd-0001.obj
More information about the Cjk
mailing list