在windows上使用MinGW+MSYS,可以编辑自己的命令脚本,简化命令行。以下是几个例子。
调用notepad++打开文本
编辑 /bin/npp,脚本代码:
1 2 |
#!/bin/sh /d/Program\ Files/Notepad++/notepad++.exe "$@" |
调用方式:
1 |
$ npp /bin/npp & |
调用gvim打开文本
同理,编辑 /bin/gv:
1 2 |
#!/bin/sh /d/Program\ Files/Vim/vim73/gvim.exe "$@" |
调用pandoc生成pdf
由于我的pandoc不能直接生成pdf,报错如下,一直无法解决:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/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:
1 2 |
#!/bin/bash pandoc -s $1 -o $1.docx |
pandoc直接生成pdf报错的原因:I think we know what is happening now. Since your usernameis > 8 characters, Windows uses the
~
in the path name, andthat screws up LaTeX.Still not sure how to fix it. FROM:https://github.com/jgm/pandoc/issues/777#issuecomment-16909078