htex

package
v0.34.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2023 License: BSD-3-Clause Imports: 8 Imported by: 1

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// DefaultHandler generates PDFs via the pdflatex executable.
	// A LaTeX installation is required, as well as the pdflatex command.
	DefaultHandler = NewHandler("pdflatex")
)

Functions

This section is empty.

Types

type GoHandler added in v0.27.0

type GoHandler struct {
	// contains filtered or unexported fields
}

GoHandler is a Latex handler that compiles Latex document in background goroutines.

Example
package main

import (
	"fmt"
	"log"

	"go-hep.org/x/hep/hplot"
	"go-hep.org/x/hep/hplot/htex"
)

func main() {
	hdlr := htex.NewGoHandler(-1, "pdflatex")

	for i := 0; i < 10; i++ {
		name := fmt.Sprintf("plot-%0d", i)
		p := hplot.New()
		p.Title.Text = name
		p.X.Label.Text = "x"
		p.Y.Label.Text = "y"

		err := hplot.Save(
			hplot.Figure(p, hplot.WithLatexHandler(hdlr)),
			-1, -1, name+".tex",
		)
		if err != nil {
			log.Fatalf("could not save plot: %+v", err)
		}
	}

	err := hdlr.Wait()
	if err != nil {
		log.Fatalf("error compiling latex: %+v", err)
	}
}
Output:

func NewGoHandler added in v0.27.0

func NewGoHandler(n int, cmd string) *GoHandler

NewGoHandler creates a new Latex handler that compiles Latex document in the background with the cmd executable.

The handler allows for up to n concurrent compilations. If n<=0, the concurrency will be set to the number of cores+1.

func (*GoHandler) CompileLatex added in v0.27.0

func (gh *GoHandler) CompileLatex(fname string) error

CompileLatex compiles the provided .tex document.

func (*GoHandler) Wait added in v0.27.0

func (gh *GoHandler) Wait() error

type Handler

type Handler interface {
	// CompileLatex compiles the provided .tex document.
	CompileLatex(fname string) error
}

Handler is the interface that handles the generation of PDFs from TeX, usually via pdflatex.

func NewHandler

func NewHandler(cmd string) Handler

NewHandler returns a Handler compiling .tex documents with the provided cmd executable.

type NoopHandler

type NoopHandler struct{}

NoopLatexHandler is a no-op LaTeX compiler.

func (NoopHandler) CompileLatex

func (NoopHandler) CompileLatex(fname string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL