http://cosoft.org.cn/html/osl/projects.php?group_id=204

解决方案 »

  1.   

    这个好像没什么用
    我要的是: 比如数据表中有记录 如:
    Author  Title   Pages   Publisher    Type     ........
     XXX     XXX      10     XXXXXX     article
     XXX     XXX      20     XXXXXX     article
     
    然后输入结果是这些reference的BibTex文件
    @article{
    author = {XXX}
    title ={XXX}
    .....
    }
    ....
      

  2.   

    按BibTex文件的格式自已往里面塞了,好像没现成的
      

  3.   

    不是很了解BibTex文件是什么,如果你实在找不到现成的方法,可以自己写嘛,看你上面写出来的文件格式,是个文本型的,而且是一行行的,这种文件是最好写的了,用streamwriter的writeline就可以了,
    定义一个函数来格式化你要的格式:
    private string FormatStr(string strName,string strValue)
    {
        return string.format("{0} = {{1}}",strName,strValue);
    }
    再用一个datareader得到你要的记录,
    filestream fs = ............ //定义到你的bib文件的文件流
    streamwriter sw = new streamwriter(fs);
    while(datareader.Read())
    {
       fs.writeline("@article{");
       fs.writeline("author",FormatStr(dr["author"].tostring()));
       ......
       fs.writeline("}");
    }
    datareader.close();
    fs.close();
    这样就搞定了,封装到一个类里面去你也就有现成的方法了~嘿嘿~~
      

  4.   

    如果没有现成的 我也只好这么作了 
    只是BibTex其实是比较复杂的,还有涉及到style, 还有key值等等 挺多东西的
    不过你给的代码里面
    fs.writeline("author",FormatStr(dr["author"].tostring()));
    应该是
    fs.writeline(FormatStr("author",dr["author"].tostring()));