IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    A shell script to indent LaTeX documents

    SparkandShine发表于 2016-04-07 15:35:46
    love 0

    I write a shell script to simplify the operation of indenting LaTeX documents with the Perl package latexindent. The source code is hosted at GitHub, here.

    1. How to use

    Download the shell script latexindent.sh and the perl package latexindex from here. Then use the following command to indent your LaTeX document:

    ./latexindent.sh path/filename.tex
    

    What the shell script does is to:

    • generate the indented tex documents which is still named filename.tex
    • backup the original tex file filename.tex as filename.tex.old

    The source code of latexindent.sh is below:

    #!/usr/bin/env bash
    
    if [ -z $1 ]; 
    then
        echo "Usage: $0 path/filename.tex" 
        exit
    fi
    
    tex_file_origin=$1
    tex_file_old="${tex_file_origin}.old" # backup the original tex file
    
    # create a tmp file and delete while exiting
    tmp_file="/tmp/tmp_file.$$"
    trap "rm -f $tmp_file" EXIT
    
    # indent a tex document
    perl latexindent.pl -s -o $tex_file_origin $tmp_file
    
    mv $tex_file_origin $tex_file_old
    cp $tmp_file $tex_file_origin
    

    2. The usage of latexindent

    latexindent.pl version 2.1R
    usage: latexindent.pl [options] [file][.tex]
          -h  help (see the documentation for detailed instructions and examples)
          -o  output to another file; sample usage
                    latexindent.pl -o myfile.tex outputfile.tex
          -w  overwrite the current file- a backup will be made, but still be careful
          -s  silent mode- no output will be given to the terminal
          -t  tracing mode- verbose information given to the log file
          -l  use localSettings.yaml (assuming it exists in the directory of your file)
          -d  ONLY use defaultSettings.yaml, ignore ALL user files
          -c=cruft directory used to specify the location of backup files and indent.log
    


沪ICP备19023445号-2号
友情链接