• 岚山区拨付595 万元补助农村危房改造 2019-10-11
  • 烈日下挥汗如雨 看武警丽水支队“魔鬼周” 2019-10-11
  • 党的十九大最重大的理论成就 2019-09-19
  • 外国领导人祝贺我新一届领导人 2019-09-19
  • 西安启动唐长安城明德门遗址保护工程 2019-09-16
  • 博物馆需要高水平策展人 2019-09-11
  • 凯迪拉克:在高速公路上释放双手很安全 2019-09-11
  • 苗山脱贫影像志——父母在 不远行 2019-09-04
  • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-08-31
  • 张一山恋情遭曝光,女友竟是她… 2019-08-21
  • 人民日报评论员:在党的引领下汇聚圆梦力量 2019-08-05
  • 长治职业技术学院“学习新思想千万师生同上一堂课活动”首场授课开讲 2019-08-05
  • 清华美院“毕业拍”作品被一抢而光 2019-07-31
  • “互联网+”开启乌鲁木齐智能环保时代 2019-07-05
  • 重大疾病贫困患者报销补偿比超90% 2019-06-25
  • 白小姐祺袍肖尾版:LaTeX 技巧938:如何配置 latexmk

    最老版特码诗 www.kdltu.tw LaTeX 文档的编译过程通常比较复杂,尤其是有参考文献的情况下, 需要多次编译并调用外部命令。这个问题可以通过 latexmk 工具来解决。

    latexmk 需要自己进行简单的配置后才能使用起来比较顺手。 建议在个人根目录的 $HOME/.latexmkrc 文件中配置个人的使用习惯, 然后在项目的工作目录的 latexmkrc 文件配置项目相关的编译方法, 如使用 xelatex 或开启 -shell-escape 等。

    下面是我推荐的一些配置,更详细的说明参见 latexmkrc 的文档。

    $pdf_mode = 1;

    默认使用 pdflatex 编译生成 pdf。 如果使用 xelatex 可以设为 5(需要 TeX Live 2017 以上)。 我个人由于需要使用不同的引擎,所以默认设为 1, 然后用命令行参数切换不同的引擎,比如 latexmk -xelatex。

    $pdflatex = "pdflatex -file-line-error -halt-on-error -interaction=nonstopmode -synctex=1 %O %S";

    给编译命令添加额外的参数:-file-line-error 使报错输出文件和行号; -halt-on-error 和 -interaction=nonstopmode 使编译遇到错误时立即停止; -synctex=1 则开启 synctex 的功能。

    $xelatex = "xelatex -file-line-error -halt-on-error -interaction=nonstopmode -no-pdf -synctex=1 %O %S";
    $xdvipdfmx = "xdvipdfmx -E -o %D %O %S";

    xelatex 的 -no-pdf 参数使编译时只生成 xdv 文件,最后才用 xdvipdfmx 生成 pdf, 这样可以节省嵌入图片耗费的时间(需要 TeX Live 2017 以上)。 注意 -E 参数可以避免一些字体嵌入问题(见 https://github.com/CTeX-org/ctex-kit/issues/352 )。

    $bibtex_use = 1.5;

    通常 bbl 文件是由 BibTeX 编译 bib 文件生成的,在清理辅助文件时可以删掉; 但是有时并没由提供 bib 文件,只有 bbl(比如 arxiv 上的 TeX 源码), $bibtex_use = 1.5 可以自动检测根据条件清理 bbl 文件(需要 TeX Live 2018 以上)。

    $out_dir = "latex.out";

    编译时将所有生成文件(包括辅助文件)写到 latex.out 目录下。注意这个配置虽然可以使目录更加整洁,但是可能导致一些软件的功能受影响,建议谨慎选择。

    $preview_mode = 1;

    编译完成后自动打开 pdf;还可以用 $pdf_previewer 配置 pdf 阅读器, 以及 $preview_continuous_mode 连续自动编译。

    $clean_ext = "hd nav snm synctex.gz xdv";

    额外需要清理的辅助文件;如配置过 $out_dir 就不再需要了。

    add_cus_dep('nlo', 'nls', 0, 'nlo2nls');
    sub nlo2nls {
       system("makeindex -s nomencl.ist -o \"$_[0].nls\" \"$_[0].nlo\"");
    }
    push @generated_exts, "nlo", "nls";

    一些宏包需要额外的编译命令, 比如 nomencl 宏包需要调用 makeindex 命令将 nlo 文件编译成 nls 文件, 所以要手动配置这个编译过程。

    完整的配置文件如下:

    $pdf_mode = 1;
    
    $pdflatex = "pdflatex -file-line-error -halt-on-error -interaction=nonstopmode -synctex=1 %O %S";
    $xelatex = "xelatex -file-line-error -halt-on-error -interaction=nonstopmode -no-pdf -synctex=1 %O %S";
    $xdvipdfmx = "xdvipdfmx -E -o %D %O %S";
    
    $bibtex_use = 1.5;
    
    $out_dir = "latex.out";
    
    $preview_mode = 1;
    
    $clean_ext = "hd nav snm synctex.gz xdv";
    
    add_cus_dep('glo', 'gls', 0, 'glo2gls');
    sub glo2gls {
        system("makeindex -s gglo.ist -o \"$_[0].gls\" \"$_[0].glo\"");
    }
    push @generated_exts, "glo", "gls";
    
    add_cus_dep('nlo', 'nls', 0, 'nlo2nls');
    sub nlo2nls {
        system("makeindex -s nomencl.ist -o \"$_[0].nls\" \"$_[0].nlo\"");
    }
    push @generated_exts, "nlo", "nls";
    分享到:
    未经允许不得转载:LaTeX 技巧938:如何配置 latexmk
    已有 条意见

      最新文章

      加载中...
        本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


        全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

        热门评论

          联系我们

          交流QQ群:91940767
          本站QQ号:343083553
          邮箱联系[email protected]
          淘宝店铺https://shop240512713.taobao.com/ 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

          关注我们微信公众号

          如果您投稿或者希望加入我们团队,请发送您的简历到[email protected]。
        • 岚山区拨付595 万元补助农村危房改造 2019-10-11
        • 烈日下挥汗如雨 看武警丽水支队“魔鬼周” 2019-10-11
        • 党的十九大最重大的理论成就 2019-09-19
        • 外国领导人祝贺我新一届领导人 2019-09-19
        • 西安启动唐长安城明德门遗址保护工程 2019-09-16
        • 博物馆需要高水平策展人 2019-09-11
        • 凯迪拉克:在高速公路上释放双手很安全 2019-09-11
        • 苗山脱贫影像志——父母在 不远行 2019-09-04
        • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-08-31
        • 张一山恋情遭曝光,女友竟是她… 2019-08-21
        • 人民日报评论员:在党的引领下汇聚圆梦力量 2019-08-05
        • 长治职业技术学院“学习新思想千万师生同上一堂课活动”首场授课开讲 2019-08-05
        • 清华美院“毕业拍”作品被一抢而光 2019-07-31
        • “互联网+”开启乌鲁木齐智能环保时代 2019-07-05
        • 重大疾病贫困患者报销补偿比超90% 2019-06-25
        • 打鱼一年赢了20万 快乐12玩法技巧 白姐开码资料大全 时时彩助手计划软件手机版 泰山计划苹果版 广东11选5稳赚 黑金博士时时彩计划 ag平台漏洞怎么赚钱 快乐赛车冠军全天计划网 11选5胆拖投注计划