⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texutils.cpp

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 CPP
📖 第 1 页 / 共 4 页
字号:
  if (bib->month)  {    TexOutput(_T(" ("));    TexOutput(bib->month);    TexOutput(_T(")"));  }  if (bib->year || bib->month)    TexOutput(_T(". "));  if (StringMatch(bib->type, _T("article"), false, true))  {    if (bib->title)    {      TexOutput(bib->title);      TexOutput(_T(". "));    }    if (bib->journal)    {      OnMacro(ltIT, 1, true);      OnArgument(ltIT, 1, true);      TexOutput(bib->journal);      OnArgument(ltIT, 1, false);      OnMacro(ltIT, 1, false);    }    if (bib->volume)    {      TexOutput(_T(", "));      OnMacro(ltBF, 1, true);      OnArgument(ltBF, 1, true);      TexOutput(bib->volume);      OnArgument(ltBF, 1, false);      OnMacro(ltBF, 1, false);    }    if (bib->number)    {      TexOutput(_T("("));      TexOutput(bib->number);      TexOutput(_T(")"));    }    if (bib->pages)    {      TexOutput(_T(", pages "));      TexOutput(bib->pages);    }    TexOutput(_T("."));  }  else if (StringMatch(bib->type, _T("book"), false, true) ||           StringMatch(bib->type, _T("unpublished"), false, true) ||           StringMatch(bib->type, _T("manual"), false, true) ||           StringMatch(bib->type, _T("phdthesis"), false, true) ||           StringMatch(bib->type, _T("mastersthesis"), false, true) ||           StringMatch(bib->type, _T("misc"), false, true) ||           StringMatch(bib->type, _T("techreport"), false, true) ||           StringMatch(bib->type, _T("booklet"), false, true))  {    if (bib->title || bib->booktitle)    {      OnMacro(ltIT, 1, true);      OnArgument(ltIT, 1, true);      TexOutput(bib->title ? bib->title : bib->booktitle);      TexOutput(_T(". "));      OnArgument(ltIT, 1, false);      OnMacro(ltIT, 1, false);    }    if (StringMatch(bib->type, _T("phdthesis"), false, true))      TexOutput(_T("PhD thesis. "));    if (StringMatch(bib->type, _T("techreport"), false, true))      TexOutput(_T("Technical report. "));    if (bib->editor)    {      TexOutput(_T("Ed. "));      TexOutput(bib->editor);      TexOutput(_T(". "));    }    if (bib->institution)    {      TexOutput(bib->institution);      TexOutput(_T(". "));    }    if (bib->organization)    {      TexOutput(bib->organization);      TexOutput(_T(". "));    }    if (bib->publisher)    {      TexOutput(bib->publisher);      TexOutput(_T(". "));    }    if (bib->address)    {      TexOutput(bib->address);      TexOutput(_T(". "));    }  }  else if (StringMatch(bib->type, _T("inbook"), false, true) ||           StringMatch(bib->type, _T("inproceedings"), false, true) ||           StringMatch(bib->type, _T("incollection"), false, true) ||           StringMatch(bib->type, _T("conference"), false, true))  {    if (bib->title)    {      TexOutput(bib->title);    }    if (bib->booktitle)    {      TexOutput(_T(", from "));      OnMacro(ltIT, 1, true);      OnArgument(ltIT, 1, true);      TexOutput(bib->booktitle);      TexOutput(_T("."));      OnArgument(ltIT, 1, false);      OnMacro(ltIT, 1, false);    }    if (bib->editor)    {      TexOutput(_T(", ed. "));      TexOutput(bib->editor);    }    if (bib->publisher)    {      TexOutput(_T(" "));      TexOutput(bib->publisher);    }    if (bib->address)    {      if (bib->publisher) TexOutput(_T(", "));      else TexOutput(_T(" "));      TexOutput(bib->address);    }    if (bib->publisher || bib->address)      TexOutput(_T("."));    if (bib->volume)    {      TexOutput(_T(" "));      OnMacro(ltBF, 1, true);      OnArgument(ltBF, 1, true);      TexOutput(bib->volume);      OnArgument(ltBF, 1, false);      OnMacro(ltBF, 1, false);    }    if (bib->number)    {      if (bib->volume)      {        TexOutput(_T("("));        TexOutput(bib->number);        TexOutput(_T(")."));      }      else      {        TexOutput(_T(" Number "));        TexOutput(bib->number);        TexOutput(_T("."));      }    }    if (bib->chapter)    {      TexOutput(_T(" Chap. "));      TexOutput(bib->chapter);    }    if (bib->pages)    {      if (bib->chapter) TexOutput(_T(", pages "));      else TexOutput(_T(" Pages "));      TexOutput(bib->pages);      TexOutput(_T("."));    }  }  OnArgument(ltNUMBEREDBIBITEM, 2, false);  OnMacro(ltNUMBEREDBIBITEM, 2, false);}void OutputBib(void){  // Write the heading  ForceTopicName(_T("bibliography"));  FakeCurrentSection(ReferencesNameString);  ForceTopicName(NULL);  OnMacro(ltPAR, 0, true);  OnMacro(ltPAR, 0, false);  if ((convertMode == TEX_RTF) && !winHelp)  {    OnMacro(ltPAR, 0, true);    OnMacro(ltPAR, 0, false);  }  wxStringListNode *node = CitationList.GetFirst();  while (node)  {    wxChar *citeKey = (wxChar *)node->GetData();//    wxNode *texNode = TexReferences.Find(citeKey);    TexRef *ref = (TexRef *)TexReferences.Get(citeKey);    wxNode *bibNode = BibList.Find(citeKey);    if (bibNode && ref)    {      BibEntry *entry = (BibEntry *)bibNode->GetData();      OutputBibItem(ref, entry);    }    node = node->GetNext();  }}static int citeCount = 1;void ResolveBibReferences(void){  if (CitationList.GetCount() > 0)    OnInform(_T("Resolving bibliographic references..."));  citeCount = 1;  wxChar buf[200];  wxStringListNode *node = CitationList.GetFirst();  while (node)  {    Tex2RTFYield();    wxChar *citeKey = (wxChar *)node->GetData();//    wxNode *texNode = TexReferences.Find(citeKey);    TexRef *ref = (TexRef *)TexReferences.Get(citeKey);    wxNode *bibNode = BibList.Find(citeKey);    if (bibNode && ref)    {      // Unused Variable      //BibEntry *entry = (BibEntry *)bibNode->GetData();      if (ref->sectionNumber) delete[] ref->sectionNumber;      wxSnprintf(buf, sizeof(buf), _T("[%d]"), citeCount);      ref->sectionNumber = copystring(buf);      citeCount ++;    }    else    {      wxSnprintf(buf, sizeof(buf), _T("Warning: bib ref %s not resolved."), citeKey);      OnInform(buf);    }    node = node->GetNext();  }}// Remember we need to resolve this citationvoid AddCitation(wxChar *citeKey){  if (!CitationList.Member(citeKey))    CitationList.Add(citeKey);  if (!TexReferences.Get(citeKey))  {    TexReferences.Put(citeKey, new TexRef(citeKey, _T("??"), NULL));  }}TexRef *FindReference(wxChar *key){  return (TexRef *)TexReferences.Get(key);}/* * Custom macro stuff * */bool StringTobool(const wxString& val){    wxString up(val);    up.MakeUpper();    if (up.IsSameAs(_T("YES")) ||        up.IsSameAs(_T("TRUE")) ||        up.IsSameAs(_T("ON")) ||        up.IsSameAs(_T("OK")) |        up.IsSameAs(_T("1")))        return true;    return false;}void RegisterIntSetting (const wxString& s, int *number){    if (number)    {        long val;        s.ToLong(&val);        *number = (int)val;    }}// Define a variable value from the .ini filewxChar *RegisterSetting(const wxString& settingName, const wxString& settingValue, bool interactive){    wxString settingValueStr( settingValue );    static wxChar errorCode[100];    wxStrcpy(errorCode, _T("OK"));    if (StringMatch(settingName, _T("chapterName"), false, true))    {        delete[] ChapterNameString;        ChapterNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("sectionName"), false, true))    {        delete[] SectionNameString;        SectionNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("subsectionName"), false, true))    {        delete[] SubsectionNameString;        SubsectionNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("subsubsectionName"), false, true))    {        delete[] SubsubsectionNameString;        SubsubsectionNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("indexName"), false, true))    {        delete[] IndexNameString;        IndexNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("contentsName"), false, true))    {        delete[] ContentsNameString;        ContentsNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("glossaryName"), false, true))    {        delete[] GlossaryNameString;        GlossaryNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("referencesName"), false, true))    {        delete[] ReferencesNameString;        ReferencesNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("tablesName"), false, true))    {        delete[] TablesNameString;        TablesNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("figuresName"), false, true))    {        delete[] FiguresNameString;        FiguresNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("tableName"), false, true))    {        delete[] TableNameString;        TableNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("figureName"), false, true))    {        delete[] FigureNameString;        FigureNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("abstractName"), false, true))    {        delete[] AbstractNameString;        AbstractNameString = copystring(settingValue);    }    else if (StringMatch(settingName, _T("chapterFontSize"), false, true))        RegisterIntSetting(settingValueStr, &chapterFont);    else if (StringMatch(settingName, _T("sectionFontSize"), false, true))        RegisterIntSetting(settingValueStr, &sectionFont);    else if (StringMatch(settingName, _T("subsectionFontSize"), false, true))        RegisterIntSetting(settingValueStr, &subsectionFont);    else if (StringMatch(settingName, _T("titleFontSize"), false, true))        RegisterIntSetting(settingValueStr, &titleFont);    else if (StringMatch(settingName, _T("authorFontSize"), false, true))        RegisterIntSetting(settingValueStr, &authorFont);    else if (StringMatch(settingName, _T("ignoreInput"), false, true))        IgnorableInputFiles.Add(wxFileNameFromPath(settingValue));    else if (StringMatch(settingName, _T("mirrorMargins"), false, true))        mirrorMargins = StringTobool(settingValue);    else if (StringMatch(settingName, _T("runTwice"), false, true))        runTwice = StringTobool(settingValue);    else if (StringMatch(settingName, _T("isInteractive"), false, true))        isInteractive = StringTobool(settingValue);    else if (StringMatch(settingName, _T("headerRule"), false, true))        headerRule = StringTobool(settingValue);    else if (StringMatch(settingName, _T("footerRule"), false, true))        footerRule = StringTobool(settingValue);    else if (StringMatch(settingName, _T("combineSubSections"), false, true))        combineSubSections = StringTobool(settingValue);    else if (StringMatch(settingName, _T("listLabelIndent"), false, true))        RegisterIntSetting(settingValueStr, &labelIndentTab);    else if (StringMatch(settingName, _T("listItemIndent"), false, true))        RegisterIntSetting(settingValueStr, &itemIndentTab);    else if (StringMatch(settingName, _T("useUpButton"), false, true))        useUpButton = StringTobool(settingValue);    else if (StringMatch(settingName, _T("useHeadingStyles"), false, true))        useHeadingStyles = StringTobool(settingValue);    else if (StringMatch(settingName, _T("useWord"), false, true))        useWord = StringTobool(settingValue);    else if (StringMatch(settingName, _T("contentsDepth"), false, true))        RegisterIntSetting(settingValueStr, &contentsDepth);    else if (StringMatch(settingName, _T("generateHPJ"), false, true))        generateHPJ = StringTobool(settingValue);    else if (StringMatch(settingName, _T("truncateFilenames"), false, true))        truncateFilenames = StringTobool(settingValue);    else if (StringMatch(settingName, _T("winHelpVersion"), false, true))        RegisterIntSetting(settingValueStr, &winHelpVersion);    else if (StringMatch(settingName, _T("winHelpContents"), false, true))        winHelpContents = StringTobool(settingValue);    else if (StringMatch(settingName, _T("htmlIndex"), false, true))        htmlIndex = StringTobool(settingValue);    else if (StringMatch(settingName, _T("htmlWorkshopFiles"), false, true))        htmlWorkshopFiles = StringTobool(settingValue);    else if (StringMatch(settingName, _T("htmlFrameContents"), false, true))        htmlFrameContents = StringTobool(settingValue);    else if (StringMatch(settingName, _T("htmlStylesheet"), false, true))    {        if (htmlStylesheet)            delete[] htmlStylesheet;        htmlStylesheet = copystring(settingValue);    }    else if (StringMatch(settingName, _T("upperCaseNames"), false, true))        upperCaseNames = StringTobool(settingValue);    else if (StringMatch(settingName, _T("ignoreBadRefs"), false, true))        ignoreBadRefs = StringTobool(settingValue);    else if (StringMatch(settingName, _T("htmlFaceName"), false, true))    {        delete[] htmlFaceName;        htmlFaceName = copystring(settingValue);    }    else if (StringMatch(settingName, _T("winHelpTitle"), false, true))    {        if (winHelpTitle)            delete[] winHelpTitle;        winHelpTitle = copystring(settingValue);    }    else if (StringMatch(settingName, _T("indexSubsections"), false, true))        indexSubsections = StringTobool(settingValue);    else if (StringMatch(settingName, _T("compatibility"), false, true))        compatibilityMode = StringTobool(settingValue);    else if (StringMatch(settingName, _T("defaultColumnWidth"), false, true))    {        RegisterIntSetting(settingValueStr, &defaultTableColumnWidth);        defaultTableColumnWidth = 20*defaultTableColumnWidth;    }    else if (StringMatch(settingName, _T("bitmapMethod"), false, true))    {        if ((wxStrcmp(settingValue, _T("includepicture")) != 0) && (wxStrcmp(settingValue, _T("hex")) != 0) &&            (wxStrcmp(settingValue, _T("import")) != 0))        {            if (interactive)                OnError(_T("Unknown bitmapMethod"));            wxStrcpy(errorCode, _T("Unknown bitmapMethod"));        }        else        {            delete[] bitmapMethod;            bitmapMethod = copystring(settingValue);        }    }    else if (StringMatch(settingName, _T("htmlBrowseButtons"), false, true))    {        if (wxStrcmp(settingValue, _T("none")) == 0)            htmlBrowseButtons = HTML_BUTTONS_NONE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -