mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-27 03:36:39 +00:00
Make bibtex works with embedded bib file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22487 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
f52b73747f
commit
b2278c0736
@ -192,22 +192,12 @@ int InsetBibtex::latex(Buffer const & buffer, odocstream & os,
|
|||||||
// use such filenames.)
|
// use such filenames.)
|
||||||
// Otherwise, store the (maybe absolute) path to the original,
|
// Otherwise, store the (maybe absolute) path to the original,
|
||||||
// unmangled database name.
|
// unmangled database name.
|
||||||
typedef boost::char_separator<char_type> Separator;
|
EmbeddedFileList const bibs = getFiles(buffer);
|
||||||
typedef boost::tokenizer<Separator, docstring::const_iterator, docstring> Tokenizer;
|
EmbeddedFileList::const_iterator it = bibs.begin();
|
||||||
|
EmbeddedFileList::const_iterator it_end = bibs.end();
|
||||||
Separator const separator(from_ascii(",").c_str());
|
|
||||||
// The tokenizer must not be called with temporary strings, since
|
|
||||||
// it does not make a copy and uses iterators of the string further
|
|
||||||
// down. getParam returns a reference, so this is OK.
|
|
||||||
Tokenizer const tokens(getParam("bibfiles"), separator);
|
|
||||||
Tokenizer::const_iterator const begin = tokens.begin();
|
|
||||||
Tokenizer::const_iterator const end = tokens.end();
|
|
||||||
|
|
||||||
odocstringstream dbs;
|
odocstringstream dbs;
|
||||||
for (Tokenizer::const_iterator it = begin; it != end; ++it) {
|
for (; it != it_end; ++it) {
|
||||||
docstring const input = trim(*it);
|
string utf8input = removeExtension(it->availableFile().absFilename());
|
||||||
// FIXME UNICODE
|
|
||||||
string utf8input = to_utf8(input);
|
|
||||||
string database =
|
string database =
|
||||||
normalizeName(buffer, runparams, utf8input, ".bib");
|
normalizeName(buffer, runparams, utf8input, ".bib");
|
||||||
FileName const try_in_file(makeAbsPath(database + ".bib", buffer.filePath()));
|
FileName const try_in_file(makeAbsPath(database + ".bib", buffer.filePath()));
|
||||||
@ -236,7 +226,7 @@ int InsetBibtex::latex(Buffer const & buffer, odocstream & os,
|
|||||||
from_utf8(database));
|
from_utf8(database));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (it != begin)
|
if (it != bibs.begin())
|
||||||
dbs << ',';
|
dbs << ',';
|
||||||
// FIXME UNICODE
|
// FIXME UNICODE
|
||||||
dbs << from_utf8(latex_path(database));
|
dbs << from_utf8(latex_path(database));
|
||||||
|
Loading…
Reference in New Issue
Block a user