Strike my last commit -- we just want a way of running slatex without
running latex afterwards. svn: r10563
This commit is contained in:
parent
cc362de329
commit
10767bacaf
|
@ -13,14 +13,10 @@
|
|||
(when (equal? (vector) argv)
|
||||
(fprintf (current-error-port) "pdf-slatex: expected a file on the command line\n")
|
||||
(exit 1))
|
||||
(let-values ([(nonstop? file) (if (string=? "\\nonstopmode" (vector-ref argv 0))
|
||||
(values #t (vector-ref argv 1))
|
||||
(values #f (vector-ref argv 0)))])
|
||||
(let ([result
|
||||
(parameterize ([error-escape-handler exit]
|
||||
[nonstop-mode? nonstop?])
|
||||
(pdf-slatex file))])
|
||||
(parameterize ([error-escape-handler exit])
|
||||
(pdf-slatex (vector-ref argv 0)))])
|
||||
(if result
|
||||
(exit)
|
||||
(exit 1))))]))
|
||||
(exit 1)))]))
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
|
||||
(module slatex-launcher mzscheme
|
||||
(require "slatex-wrapper.ss")
|
||||
(module slatex-launcher scheme/base
|
||||
(require "slatex-wrapper.ss"
|
||||
scheme/cmdline)
|
||||
|
||||
(define argv (current-command-line-arguments))
|
||||
|
||||
(define no-latex (make-parameter #f))
|
||||
|
||||
(case (system-type)
|
||||
[(macos)
|
||||
|
||||
|
@ -12,16 +15,19 @@
|
|||
|
||||
(for-each slatex (vector->list argv))]
|
||||
[(windows unix macosx)
|
||||
(when (equal? (vector) argv)
|
||||
(fprintf (current-error-port) "slatex: expected a file on the command line\n")
|
||||
(exit 1))
|
||||
(let-values ([(nonstop? file) (if (string=? "\\nonstopmode" (vector-ref argv 0))
|
||||
(values #t (vector-ref argv 1))
|
||||
(values #f (vector-ref argv 0)))])
|
||||
(let ([result
|
||||
(parameterize ([error-escape-handler exit]
|
||||
[nonstop-mode? nonstop?])
|
||||
(slatex file))])
|
||||
(let* ([filename
|
||||
(command-line
|
||||
#:program "slatex"
|
||||
#:once-each
|
||||
[("-n" "--no-latex") "Just preprocess, don't run LaTeX"
|
||||
(no-latex #t)]
|
||||
#:args (filename)
|
||||
filename)]
|
||||
[result
|
||||
(parameterize ([error-escape-handler exit])
|
||||
(if (no-latex)
|
||||
(slatex/no-latex filename)
|
||||
(slatex filename)))])
|
||||
(if result
|
||||
(exit)
|
||||
(exit 1))))]))
|
||||
(exit 1)))]))
|
|
@ -6,7 +6,7 @@
|
|||
"slatex.ss")
|
||||
|
||||
(provide slatex latex pdf-slatex pdf-latex slatex/no-latex
|
||||
filename->latex-filename nonstop-mode?)
|
||||
filename->latex-filename)
|
||||
|
||||
(define (add-suffix p s)
|
||||
(path->string
|
||||
|
@ -14,31 +14,20 @@
|
|||
(bytes-append
|
||||
(path->bytes (if (string? p) (string->path p) p)) s))))
|
||||
|
||||
(define (strip-input input-file)
|
||||
(cond
|
||||
[(regexp-match #rx"^\\\\input{(.*)}$" input-file) => cadr]
|
||||
[else input-file]))
|
||||
|
||||
(define (filename->latex-filename input-file)
|
||||
(let* ([filename (strip-input input-file)]
|
||||
[norm (normalize-path filename)])
|
||||
(let* ([norm (normalize-path input-file)])
|
||||
(cond
|
||||
[(file-exists? norm) filename]
|
||||
[(file-exists? norm) input-file]
|
||||
[(file-exists? (add-suffix norm #".tex"))
|
||||
(add-suffix filename #".tex")]
|
||||
(add-suffix input-file #".tex")]
|
||||
[else
|
||||
(error 'filename->latex-filename "~e does not exist" filename)])))
|
||||
|
||||
(define nonstop-mode?
|
||||
(make-parameter #f))
|
||||
(error 'filename->latex-filename "~e does not exist" input-file)])))
|
||||
|
||||
(define (exec-latex exe file)
|
||||
(let ([latex-path (find-executable-path exe #f)])
|
||||
(unless latex-path
|
||||
(error 'latex "could not find latex binary: ~e" exe))
|
||||
(if (nonstop-mode?)
|
||||
(system* latex-path "\\nonstopmode" (string-append "\\input{" file "}"))
|
||||
(system* latex-path file))))
|
||||
(system* latex-path file)))
|
||||
|
||||
;; latex, pdf-latex : string -> boolean
|
||||
;; boolean result indicates success
|
||||
|
|
Loading…
Reference in New Issue
Block a user