You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile生成空白TeX文件问题求助

解决Makefile中make get生成空白.tex文件的问题

核心问题是你的sed命令没匹配到源文件中BEGIN_BOOK和END_BOOK之间的内容,导致输出为空。以下是排查和修复步骤:

  • 检查源文件中的标记格式
    确认../01-chapter1/chapter1.tex和../02-chapter2/chapter2.tex里存在精确匹配的标记行:

    • 标记必须是单独一行,不能和其他内容混在一起
    • 大小写完全一致,不能写成begin_book或END_BOOK (末尾带空格)
    • 如果标记是LaTeX注释(比如% BEGIN_BOOK),要对应调整sed命令
  • 单独测试sed命令
    直接在终端执行以下命令,看是否能输出预期内容:

    sed -e '/BEGIN_BOOK/,/END_BOOK/!d' ../01-chapter1/chapter1.tex
    

    如果输出为空,说明标记不匹配;如果有内容,再检查重定向是否正常(比如目标文件夹是否有写入权限)

  • 适配标记格式调整sed命令
    如果源文件的标记带注释符,修改sed命令如下:

    sed -e '/% BEGIN_BOOK/,/% END_BOOK/!d' ../01-chapter1/chapter1.tex > chapter1.tex
    

    如果标记前后可能有空格,用更灵活的匹配规则:

    sed -e '/^\s*BEGIN_BOOK\s*$/,/^\s*END_BOOK\s*$/!d' ../01-chapter1/chapter1.tex > chapter1.tex
    

    这个命令会忽略标记行开头和结尾的任意空格。

  • 验证文件路径正确性
    执行ls ../01-chapter1/chapter1.tex,确认源文件存在且路径正确。如果路径错误,sed会读取空内容,最终生成空白文件。

内容的提问来源于stack exchange,提问作者Oscar17670

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:01:00