package htex
import "go-hep.org/x/hep/hplot/htex"
Index ¶
- Variables
- type GoHandler
- func NewGoHandler(n int, cmd string) *GoHandler
- func (gh *GoHandler) CompileLatex(fname string) error
- func (gh *GoHandler) Wait() error
- type Handler
- type NoopHandler
Examples ¶
Variables ¶
var ( // DefaultHandler generates PDFs via the pdflatex executable. // A LaTeX installation is required, as well as the pdflatex command. DefaultHandler = NewHandler("pdflatex") )
Types ¶
type GoHandler ¶
type GoHandler struct {
// contains filtered or unexported fields
}
GoHandler is a Latex handler that compiles
Latex document in background goroutines.
Code:play
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)
}
}
func NewGoHandler ¶
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 ¶
CompileLatex compiles the provided .tex document.
func (*GoHandler) Wait ¶
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 ¶
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
Source Files ¶
handler.go latex.go
- Version
- v0.36.0 (latest)
- Published
- Nov 15, 2024
- Platform
- linux/amd64
- Imports
- 8 packages
- Last checked
- 1 day ago –
Tools for package owners.