func (engine *Engine) Process(w io.Writer, r io.Reader) error {
	jobname := engine.Jobname
	if jobname == "" {
		jobname = defaultJobname
	}
	ctx := xtex.New(engine.stdout, engine.stdin)
	return ctx.Process(writerCloser(w), r, jobname)
}
Process reads the provided TeX document and
compiles it to the provided writer.
package tex
import (
	"io"
	"star-tex.org/x/tex/internal/xtex"
)
const (
	defaultJobname = "output"
)
type Engine struct {
	stdin  io.ReadCloser
	stdout io.WriteCloser
	Jobname string
}
func NewEngine(stdout io.Writer, stdin io.Reader) *Engine {
	return &Engine{
		stdout:  writerCloser(stdout),
		stdin:   io.NopCloser(stdin),
		Jobname: defaultJobname,
	}
}