static url resolve_tfm (url name) { if (get_setting ("KPSEWHICH") == "true") { string which= kpsewhich (as_string (name)); if ((which!="") && exists (url_system (which))) return url_system (which); // cout << "Missed " << name << "\n"; } return resolve (the_tfm_path * name); }
static url resolve_pfb (url name) { #ifndef OS_WIN32 // The kpsewhich from MikTeX is bugged for pfb fonts if (get_setting ("KPSEWHICH") == "true") { string which= kpsewhich (as_string (name)); if ((which!="") && exists (url_system (which))) return url_system (which); // cout << "Missed " << name << "\n"; } #endif return resolve (the_pfb_path * name); }
FileExporterPDF::FileExporterPDF(FileEmbedding fileEmbedding) : FileExporterToolchain(), m_fileEmbedding(fileEmbedding) { m_fileBasename = QStringLiteral("bibtex-to-pdf"); m_fileStem = tempDir.path() + QDir::separator() + m_fileBasename; /// If there is not embedfile.sty file, disable embedding /// irrespective of user's wishes if (!kpsewhich(QStringLiteral("embedfile.sty"))) m_fileEmbedding = NoFileEmbedding; reloadConfig(); }
bool FileExporterPDF::writeLatexFile( const QString &filename ) { QFile latexFile( filename ); if ( latexFile.open( IO_WriteOnly ) ) { m_embedFiles &= kpsewhich( "embedfile.sty" ); QTextStream ts( &latexFile ); ts.setEncoding( QTextStream::UnicodeUTF8 ); ts << "\\documentclass{article}\n"; ts << "\\usepackage[" << m_latexLanguage << "]{babel}\n"; if ( kpsewhich( "hyperref.sty" ) ) ts << "\\usepackage[pdfproducer={KBibTeX: http://www.t-fischer.net/kbibtex/},pdftex]{hyperref}\n"; else if ( kpsewhich( "url.sty" ) ) ts << "\\usepackage{url}\n"; if ( kpsewhich( "apacite.sty" ) ) ts << "\\usepackage[bibnewpage]{apacite}\n"; if ( m_embedFiles ) ts << "\\usepackage{embedfile}\n"; ts << "\\bibliographystyle{" << m_latexBibStyle << "}\n"; ts << "\\begin{document}\n"; if ( m_embedFiles ) for ( QStringList::ConstIterator it = m_embeddedFileList.begin(); it != m_embeddedFileList.end(); ++it ) { QStringList param = QStringList::split( "|", *it ); QFile file( param[1] ); if ( file.exists() ) ts << "\\embedfile[desc={" << param[0] << "}]{" << param[1] << "}\n"; } ts << "\\nocite{*}\n"; ts << "\\bibliography{bibtex-to-pdf}\n"; ts << "\\end{document}\n"; latexFile.close(); return TRUE; } else return FALSE; }
bool FileExporterPDF::writeLatexFile(const QString &filename) { QFile latexFile(filename); if (latexFile.open(QIODevice::WriteOnly)) { QTextStream ts(&latexFile); ts.setCodec("UTF-8"); ts << "\\documentclass{article}" << endl; ts << "\\usepackage[T1]{fontenc}" << endl; ts << "\\usepackage[utf8]{inputenc}" << endl; if (kpsewhich(QStringLiteral("babel.sty"))) ts << "\\usepackage[" << m_babelLanguage << "]{babel}" << endl; if (kpsewhich(QStringLiteral("hyperref.sty"))) ts << "\\usepackage[pdfborder={0 0 0},pdfproducer={KBibTeX: http://home.gna.org/kbibtex/},pdftex]{hyperref}" << endl; else if (kpsewhich(QStringLiteral("url.sty"))) ts << "\\usepackage{url}" << endl; if (m_bibliographyStyle.startsWith(QStringLiteral("apacite")) && kpsewhich(QStringLiteral("apacite.sty"))) ts << "\\usepackage[bibnewpage]{apacite}" << endl; if ((m_bibliographyStyle == QStringLiteral("agsm") || m_bibliographyStyle == QStringLiteral("dcu") || m_bibliographyStyle == QStringLiteral("jmr") || m_bibliographyStyle == QStringLiteral("jphysicsB") || m_bibliographyStyle == QStringLiteral("kluwer") || m_bibliographyStyle == QStringLiteral("nederlands") || m_bibliographyStyle == QStringLiteral("dcu") || m_bibliographyStyle == QStringLiteral("dcu")) && kpsewhich(QStringLiteral("harvard.sty")) && kpsewhich(QStringLiteral("html.sty"))) ts << "\\usepackage{html}" << endl << "\\usepackage[dcucite]{harvard}" << endl << "\\renewcommand{\\harvardurl}{URL: \\url}" << endl; if (kpsewhich(QStringLiteral("embedfile.sty"))) ts << "\\usepackage{embedfile}" << endl; if (kpsewhich(QStringLiteral("geometry.sty"))) ts << "\\usepackage[paper=" << m_paperSize << (m_paperSize.length() <= 2 ? "paper" : "") << "]{geometry}" << endl; if (!m_font.isEmpty() && kpsewhich(m_font + QStringLiteral(".sty"))) ts << "\\usepackage{" << m_font << "}" << endl; ts << "\\bibliographystyle{" << m_bibliographyStyle << "}" << endl; ts << "\\begin{document}" << endl; if (!m_embeddedFileList.isEmpty()) for (QStringList::ConstIterator it = m_embeddedFileList.constBegin(); it != m_embeddedFileList.constEnd(); ++it) { QStringList param = (*it).split(QStringLiteral("|")); QFile file(param[1]); if (file.exists()) ts << "\\embedfile[desc={" << param[0] << "}"; ts << ",filespec={" << param[2] << "}"; if (param[2].endsWith(KBibTeX::extensionBibTeX)) ts << ",mimetype={text/x-bibtex}"; else if (param[2].endsWith(KBibTeX::extensionPDF)) ts << ",mimetype={application/pdf}"; ts << "]{" << param[1] << "}" << endl; } ts << "\\nocite{*}" << endl; ts << QStringLiteral("\\bibliography{") << m_fileBasename << QStringLiteral("}") << endl; ts << "\\end{document}" << endl; latexFile.close(); return true; } else return false; }