首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何消除此脚本中的循环错误消息?

如何消除此脚本中的循环错误消息?
EN

Unix & Linux用户
提问于 2020-06-13 14:46:49
回答 1查看 81关注 0票数 0
代码语言:javascript
复制
#!/bin/bash

PREAMBLE='\usepackage{fontspec}\setmonofont{Source Code Pro}\usepackage{xeCJK}\setCJKmonofont{Noto Sans Mono CJK SC}\pagestyle{empty}'

for f in "$@"; do
    if [[ -s "$f" ]]; then
        pygmentize -f tex -O "style=$STYLE,linenos,full,preamble=$PREAMBLE" $f \
            | xelatex -jobname=$(basename $f) -output-directory=$SCRATCH
    else
        echo $ERR "Error: File <$f> not found." && exit 1
    fi

    [[ "$STYLE" = "default" ]] \
        && pdfcrop $SCRATCH/$(basename $f.pdf) $(basename $f | tr . -).pdf \
        || pdfcrop $SCRATCH/$(basename $f.pdf) $(basename $f | tr . -)-$STYLE.pdf
    
    (( ALL == 1 )) \
        && { pygmentize -f tex -O "style=bw,linenos,full,preamble=$PREAMBLE" $f \
                 | xelatex -jobname=$(basename $f) -output-directory=$SCRATCH; \
             pdfcrop $SCRATCH/$(basename $f.pdf) $(basename $f | tr . -)-bw.pdf; }
done
EN

回答 1

Unix & Linux用户

发布于 2020-06-13 15:19:33

你有两个问题。首先,您似乎试图编译格式错误的LaTeX文件。这些是LaTeX错误,与脚本本身无关:

代码语言:javascript
复制
! LaTeX Error: File `\def {\char `\\}.sty' not found.

Type X to quit or  to proceed,
or enter new name. (Default extension: sty)

Enter file name: ! Argument of \@firstofone has an extra }.
 
                \par 
l.105 \AtBeginDocument
                                 { \xeCJK@document@hook } 
? 
! Emergency stop.
 
                \par 
l.105 \AtBeginDocument
                                 { \xeCJK@document@hook } 

为了解决这些问题,您需要检查您的LaTeX代码。您可能想尝试将代码张贴在https://tex.stackexchange.com/上并询问那里。

您所得到的唯一shell错误是,您似乎缺少了一个命令:

代码语言:javascript
复制
./src2pdf.sh: line 65: pdfcrop: command not found

您正在尝试运行一个名为pdfcrop的命令,但这在您的系统中并不存在。我不知道你在运行哪个操作系统,所以我不知道你怎么能找到它,但这就是你需要解决的问题。在Ubuntu上,该工具是texlive-extra-utils套餐,所以如果您正在运行Ubuntu,您可以尝试:

代码语言:javascript
复制
sudo apt install texlive-extra-utils

在Arch上,您可以在AUR上找到它作为pdfcropmargins的一部分,所以尝试(用您喜欢的AUR管理器替换trizen ):

代码语言:javascript
复制
trizen -S pdfcropmargins
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/592709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档