Is there the length of article title limited in bibliography with MkIV for Chinese?
Hi all, If the .bib file includes a article with Chinese title, I found the article's length should be equal or less than 22 characters. Once the length is over 22 characters, the compile process will hang. The following is an example: %% filename: test.tex, it depends on the AdobeSongStd-Light.otf font. \starttypescript[serif][zhfont] \definefontsynonym[Serif][name:adobesongstd] \definefontsynonym[SerifItalic][name:adobesongstd] \stoptypescript \starttypescript[myfonts] \definetypeface[myfonts][rm][serif][zhfont] \stoptypescript \usetypescript[myfonts] \setupbodyfont[myfonts,rm,11pt] \setupbibtex[database=ref] \starttext 测试\cite[测试]。 \placepublications \stoptext %% filename: ref.bib @book{测试, title = {〇一二三四五六七八九〇一二三四五六七八九〇一二}, author = {一二三}, publisher = {四五六}, year = {2000}, } After compiling the above test.tex, I can get the following test.bbl file: \setuppublicationlist[samplesize={一00},totalnumber=1] \startpublication[k=测试,t=book, a={{一二三}},y=2000, n=1,s=一00] \author[]{}[]{}{一二三} \pubyear{2000} \title{〇一二三四五六七八九〇一二三四五六七八九〇一二} \pubname{四五六} \stoppublication If I modify the ref.bib file, for example I add one Chinese character in the "title" field: %% filename: ref.bib @book{测试, title = {〇一二三四五六七八九〇一二三四五六七八九〇一二三}, author = {一二三}, publisher = {四五六}, year = {2000}, } When I compile the test.tex again, the compiling process stops here: publications : loading database from test.bbl (test.bbl ! String contains an invalid utf-8 sequence. l.8 ...�九〇一二三四五六七八九〇一二 ��% ? I'm sure that all texts in my files are encoded with utf-8. -- Best regards, Li Yanrui
Yanrui Li wrote:
Hi all,
If the .bib file includes a article with Chinese title, I found the article's length should be equal or less than 22 characters. Once the length is over 22 characters, the compile process will hang.
%% filename: ref.bib
@book{测试, title = {〇一二三四五六七八九〇一二三四五六七八九〇一二},
Bibtex is stupid enough to attempt to break this title over two lines in its output, and it does so based on *bytes*, not characters. The result is a linebreak in the middle of an utf sequence, which is invalid. Please try this: title = {{〇一二三四五六七八九〇一二三四五六七八九〇一二}}, and if that doesn't work (but it should), maybe this will: title = {〇一二三四五六七八九〇一二% 三四五六七八九〇一二}, Best wishes, Taco
2010/1/18 Taco Hoekwater
Yanrui Li wrote:
Hi all,
If the .bib file includes a article with Chinese title, I found the article's length should be equal or less than 22 characters. Once the length is over 22 characters, the compile process will hang.
%% filename: ref.bib
@book{测试, title = {〇一二三四五六七八九〇一二三四五六七八九〇一二},
Bibtex is stupid enough to attempt to break this title over two lines in its output, and it does so based on *bytes*, not characters. The result is a linebreak in the middle of an utf sequence, which is invalid. Please try this:
title = {{〇一二三四五六七八九〇一二三四五六七八九〇一二}},
It doesn't work.
and if that doesn't work (but it should), maybe this will:
title = {〇一二三四五六七八九〇一二% 三四五六七八九〇一二},
It results the output including "%". But I find title = {〇一二三四五六七八九〇一二 三四五六七八九〇一二三}, can work :) Thanks for your reminder. -- Best regards, Li Yanrui
On 18-1-2010 15:14, Taco Hoekwater wrote:
Bibtex is stupid enough to attempt to break this title over two lines in its output, and it does so based on *bytes*, not characters. The result is a linebreak in the middle of an utf sequence, which is invalid.
well, this might be the reason why we still have version 0.99 in spite of many announcements of 1.0 -) i wonder if someone would notice if we'd remove this line length limitation (or maybe this is configureable in the cnf file?) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
On 18-1-2010 15:14, Taco Hoekwater wrote:
Bibtex is stupid enough to attempt to break this title over two lines in its output, and it does so based on *bytes*, not characters. The result is a linebreak in the middle of an utf sequence, which is invalid.
well, this might be the reason why we still have version 0.99 in spite of many announcements of 1.0 -)
i wonder if someone would notice if we'd remove this line length limitation (or maybe this is configureable in the cnf file?)
Nope, only via recompile.
participants (3)
-
Hans Hagen
-
Taco Hoekwater
-
Yanrui Li