自定义msys命令

在windows上使用MinGW+MSYS,可以编辑自己的命令脚本,简化命令行。以下是几个例子。

调用notepad++打开文本

编辑 /bin/npp,脚本代码:

#!/bin/sh
/d/Program\ Files/Notepad++/notepad++.exe "$@"

调用方式:

$ npp /bin/npp &

 调用gvim打开文本

同理,编辑 /bin/gv:

#!/bin/sh
/d/Program\ Files/Vim/vim73/gvim.exe "$@"

 调用pandoc生成pdf

由于我的pandoc不能直接生成pdf,报错如下,一直无法解决:

pandoc.exe: Error producing PDF from TeX source.
! I can't find file `C:/Users/ADMIN'.
<to be read again>
                   \protect
<*> C:/Users/ADMIN~
                    1/AppData/Local/Temp/tex2pdf.9500/input.tex
(Press Enter to retry, or Control-Z to exit)
Please type another input file name
! Emergency stop.
<to be read again>
                   \protect
<*> C:/Users/ADMIN~
                    1/AppData/Local/Temp/tex2pdf.9500/input.tex
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on C:\Users\ADMIN~1\AppData\Local\Temp\tex2pdf.9500/texput.
log.

所以考虑分两步解决:先转换成tex,在用pdflatex转换成pdf。编辑/bin/pdf:

#!/bin/bash
if [ ! -d $1.tmp ]; then
	mkdir $1.tmp
fi

pandoc -s $1 -o $1.tex
cd $1.tmp
mv ../$1.tex ./
cat $1.tex | sed '2 i\\\usepackage{CJKutf8}' | sed '/begin{document}/ a\\\begin{CJK}{UTF8}{gbsn}' | sed '/end{document}/ i\\\end{CJK}'>tmp.tex
#iconv -f gbk -t utf-8 tmp.tex
pdflatex tmp.tex
mv tmp.pdf ../

同理pandoc生成其他格式也可以这么处理,如编辑 /bin/doc:

#!/bin/bash
pandoc -s $1 -o $1.docx

 

One thought on “自定义msys命令

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注