racket/collects/tests/slatex/test.rkt
2010-04-27 11:00:24 -06:00

63 lines
1.5 KiB
Racket

#lang racket
(require slatex/slatex-wrapper
tests/eli-tester
scheme/runtime-path)
(define-runtime-path slatex-file-pth '(lib "slatex"))
(define slatex-pth (path-only slatex-file-pth))
(define tmp-file (build-path (current-directory) "test.tex")
#;(make-temporary-file "slatex~a.tex" #f (current-directory)))
(test
(putenv "TEXINPUTS" (format "~a:" (path->string slatex-pth)))
tmp-file
(with-output-to-file tmp-file #:exists 'truncate/replace
(lambda ()
(display #<<END
\documentclass{article}
\usepackage{slatex}
%
%That was LaTeX2e. If you use
%LaTeX2.09, or LaTeX2e in
%2.09 compatibility mode, use
%
%\documentstyle[slatex]{article}
%
%or
%
%\documentstyle{article}
%\input slatex.sty
\begin{document}
In Scheme, the expression
\scheme|(set! x 42)| returns
an unspecified value, rather
than \scheme'42'. However,
one could get a \scheme{set!}
of the latter style with:
\begin{schemedisplay}
(define-syntax setq
(syntax-rules ()
[(setq x a)
(begin (set! x a)
x)]))
\end{schemedisplay}
\end{document}
END
)))
(slatex (path->string tmp-file))
(with-handlers ([exn:fail:filesystem? void])
(delete-file (path-replace-suffix tmp-file #".aux")))
(with-handlers ([exn:fail:filesystem? void])
(delete-file (path-replace-suffix tmp-file #".log")))
(with-handlers ([exn:fail:filesystem? void])
(delete-file (path-replace-suffix tmp-file #".dvi")))
(delete-file tmp-file))