mirror of
https://github.com/3b1b/manim.git
synced 2025-09-01 00:48:45 +00:00
refactor: refactor StringMobject
This commit is contained in:
parent
8bd01d60e4
commit
4dfe8aff86
7 changed files with 701 additions and 429 deletions
|
@ -18,8 +18,6 @@ directories:
|
||||||
temporary_storage: ""
|
temporary_storage: ""
|
||||||
universal_import_line: "from manimlib import *"
|
universal_import_line: "from manimlib import *"
|
||||||
style:
|
style:
|
||||||
# "latex" | "xelatex"
|
|
||||||
tex_compiler: "latex"
|
|
||||||
tex_template: "default"
|
tex_template: "default"
|
||||||
font: "Consolas"
|
font: "Consolas"
|
||||||
text_alignment: "LEFT"
|
text_alignment: "LEFT"
|
||||||
|
|
|
@ -179,13 +179,8 @@ class MTex(StringMobject):
|
||||||
if self.alignment:
|
if self.alignment:
|
||||||
prefix_lines.append(self.alignment)
|
prefix_lines.append(self.alignment)
|
||||||
if self.tex_environment:
|
if self.tex_environment:
|
||||||
if isinstance(self.tex_environment, str):
|
prefix_lines.append(f"\\begin{{{self.tex_environment}}}")
|
||||||
env_prefix = f"\\begin{{{self.tex_environment}}}"
|
suffix_lines.append(f"\\end{{{self.tex_environment}}}")
|
||||||
env_suffix = f"\\end{{{self.tex_environment}}}"
|
|
||||||
else:
|
|
||||||
env_prefix, env_suffix = self.tex_environment
|
|
||||||
prefix_lines.append(env_prefix)
|
|
||||||
suffix_lines.append(env_suffix)
|
|
||||||
return (
|
return (
|
||||||
"".join([line + "\n" for line in prefix_lines]),
|
"".join([line + "\n" for line in prefix_lines]),
|
||||||
"".join(["\n" + line for line in suffix_lines])
|
"".join(["\n" + line for line in suffix_lines])
|
||||||
|
|
|
@ -506,13 +506,13 @@ class StringMobject(SVGMobject, ABC):
|
||||||
def build_parts_from_indices_lists(
|
def build_parts_from_indices_lists(
|
||||||
self, indices_lists: list[list[int]]
|
self, indices_lists: list[list[int]]
|
||||||
) -> VGroup:
|
) -> VGroup:
|
||||||
return VGroup(*[
|
return VGroup(*(
|
||||||
VGroup(*[
|
VGroup(*(
|
||||||
self.submobjects[submob_index]
|
self.submobjects[submob_index]
|
||||||
for submob_index in indices_list
|
for submob_index in indices_list
|
||||||
])
|
))
|
||||||
for indices_list in indices_lists
|
for indices_list in indices_lists
|
||||||
])
|
))
|
||||||
|
|
||||||
def build_groups(self) -> VGroup:
|
def build_groups(self) -> VGroup:
|
||||||
return self.build_parts_from_indices_lists([
|
return self.build_parts_from_indices_lists([
|
||||||
|
|
|
@ -279,7 +279,7 @@ class MarkupText(StringMobject):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def replace_for_matching(match_obj: re.Match) -> str:
|
def replace_for_matching(match_obj: re.Match) -> str:
|
||||||
if match_obj.group("tag"):
|
if match_obj.group("tag") or match_obj.group("passthrough"):
|
||||||
return ""
|
return ""
|
||||||
if match_obj.group("entity"):
|
if match_obj.group("entity"):
|
||||||
if match_obj.group("unicode"):
|
if match_obj.group("unicode"):
|
||||||
|
@ -311,7 +311,7 @@ class MarkupText(StringMobject):
|
||||||
|
|
||||||
def get_configured_items(self) -> list[tuple[Span, dict[str, str]]]:
|
def get_configured_items(self) -> list[tuple[Span, dict[str, str]]]:
|
||||||
return [
|
return [
|
||||||
*[
|
*(
|
||||||
(span, {key: val})
|
(span, {key: val})
|
||||||
for t2x_dict, key in (
|
for t2x_dict, key in (
|
||||||
(self.t2c, "foreground"),
|
(self.t2c, "foreground"),
|
||||||
|
@ -321,12 +321,12 @@ class MarkupText(StringMobject):
|
||||||
)
|
)
|
||||||
for selector, val in t2x_dict.items()
|
for selector, val in t2x_dict.items()
|
||||||
for span in self.find_spans_by_selector(selector)
|
for span in self.find_spans_by_selector(selector)
|
||||||
],
|
),
|
||||||
*[
|
*(
|
||||||
(span, local_config)
|
(span, local_config)
|
||||||
for selector, local_config in self.local_configs.items()
|
for selector, local_config in self.local_configs.items()
|
||||||
for span in self.find_spans_by_selector(selector)
|
for span in self.find_spans_by_selector(selector)
|
||||||
]
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
default: |-
|
# Classical TeX templates
|
||||||
|
|
||||||
|
default:
|
||||||
|
description: ""
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
\usepackage[english]{babel}
|
\usepackage[english]{babel}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
|
@ -20,7 +25,10 @@ default: |-
|
||||||
\DisableLigatures{encoding = *, family = * }
|
\DisableLigatures{encoding = *, family = * }
|
||||||
\linespread{1}
|
\linespread{1}
|
||||||
|
|
||||||
ctex: |-
|
ctex:
|
||||||
|
description: ""
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
\usepackage[UTF8]{ctex}
|
\usepackage[UTF8]{ctex}
|
||||||
\usepackage[english]{babel}
|
\usepackage[english]{babel}
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
|
@ -39,64 +47,115 @@ ctex: |-
|
||||||
\usepackage{microtype}
|
\usepackage{microtype}
|
||||||
\linespread{1}
|
\linespread{1}
|
||||||
|
|
||||||
basic: |-
|
# Simplified TeX templates
|
||||||
|
|
||||||
|
basic:
|
||||||
|
description: ""
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
\usepackage[english]{babel}
|
\usepackage[english]{babel}
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage{xcolor}
|
\usepackage{xcolor}
|
||||||
|
|
||||||
ctex_basic: |-
|
basic_ctex:
|
||||||
|
description: ""
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
\usepackage[UTF8]{ctex}
|
\usepackage[UTF8]{ctex}
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage{xcolor}
|
\usepackage{xcolor}
|
||||||
|
|
||||||
none: ""
|
empty:
|
||||||
|
description: ""
|
||||||
|
compiler: latex
|
||||||
|
preamble: ""
|
||||||
|
|
||||||
|
empty_ctex:
|
||||||
|
description: ""
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: ""
|
||||||
|
|
||||||
# A collection of TeX templates for the fonts described at
|
# A collection of TeX templates for the fonts described at
|
||||||
# http://jf.burnol.free.fr/showcase.html
|
# http://jf.burnol.free.fr/showcase.html
|
||||||
|
|
||||||
# American Typewriter
|
american_typewriter:
|
||||||
american_typewriter: |-
|
description: American Typewriter
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{American Typewriter}
|
\setmainfont[Mapping=tex-text]{American Typewriter}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Antykwa Poltawskiego (TX Fonts for Greek and math symbols)
|
antykwa:
|
||||||
antykwa: |-
|
description: Antykwa Poltawskiego (TX Fonts for Greek and math symbols)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[OT4,OT1]{fontenc}
|
\usepackage[OT4,OT1]{fontenc}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[upright]{txgreeks}
|
\usepackage[upright]{txgreeks}
|
||||||
\usepackage{antpolt}
|
\usepackage{antpolt}
|
||||||
\usepackage[defaultmathsizes,nolessnomore]{mathastext}
|
\usepackage[defaultmathsizes,nolessnomore]{mathastext}
|
||||||
|
|
||||||
# Apple Chancery
|
apple_chancery:
|
||||||
apple_chancery: |-
|
description: Apple Chancery
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Apple Chancery}
|
\setmainfont[Mapping=tex-text]{Apple Chancery}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Auriocus Kalligraphicus (Symbol Greek)
|
auriocus_kalligraphicus:
|
||||||
auriocus_kalligraphicus: |-
|
description: Auriocus Kalligraphicus (Symbol Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{aurical}
|
\usepackage{aurical}
|
||||||
\renewcommand{\rmdefault}{AuriocusKalligraphicus}
|
\renewcommand{\rmdefault}{AuriocusKalligraphicus}
|
||||||
\usepackage[symbolgreek]{mathastext}
|
\usepackage[symbolgreek]{mathastext}
|
||||||
|
|
||||||
# Baskervald ADF with Fourier
|
baskervald_adf_fourier:
|
||||||
baskervald_adf_fourier: |-
|
description: Baskervald ADF with Fourier
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[upright]{fourier}
|
\usepackage[upright]{fourier}
|
||||||
\usepackage{baskervald}
|
\usepackage{baskervald}
|
||||||
\usepackage[defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[defaultmathsizes,noasterisk]{mathastext}
|
||||||
|
|
||||||
# Baskerville (Italic)
|
baskerville_it:
|
||||||
baskerville_it: |-
|
description: Baskerville (Italic)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Baskerville}
|
\setmainfont[Mapping=tex-text]{Baskerville}
|
||||||
\usepackage[defaultmathsizes,italic]{mathastext}
|
\usepackage[defaultmathsizes,italic]{mathastext}
|
||||||
|
|
||||||
# Biolinum
|
biolinum:
|
||||||
biolinum: |-
|
description: Biolinum
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[upright]{txgreeks}
|
\usepackage[upright]{txgreeks}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
|
@ -106,8 +165,13 @@ biolinum: |-
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
\renewcommand\familydefault\rmdefault
|
\renewcommand\familydefault\rmdefault
|
||||||
|
|
||||||
# BrushScriptX-Italic (PX math and Greek)
|
brushscriptx:
|
||||||
brushscriptx: |-
|
description: BrushScriptX-Italic (PX math and Greek)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{pxfonts}
|
\usepackage{pxfonts}
|
||||||
\renewcommand{\rmdefault}{pbsi}
|
\renewcommand{\rmdefault}{pbsi}
|
||||||
|
@ -116,91 +180,156 @@ brushscriptx: |-
|
||||||
\usepackage[defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[defaultmathsizes,noasterisk]{mathastext}
|
||||||
\boldmath
|
\boldmath
|
||||||
|
|
||||||
# Chalkboard SE
|
chalkboard_se:
|
||||||
chalkboard_se: |-
|
description: Chalkboard SE
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Chalkboard SE}
|
\setmainfont[Mapping=tex-text]{Chalkboard SE}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Chalkduster
|
chalkduster:
|
||||||
chalkduster: |-
|
description: Chalkduster
|
||||||
|
compiler: lualatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Chalkduster}
|
\setmainfont[Mapping=tex-text]{Chalkduster}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Comfortaa
|
comfortaa:
|
||||||
comfortaa: |-
|
description: Comfortaa
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[default]{comfortaa}
|
\usepackage[default]{comfortaa}
|
||||||
\usepackage[LGRgreek,defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[LGRgreek,defaultmathsizes,noasterisk]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
\linespread{1.06}
|
\linespread{1.06}
|
||||||
|
|
||||||
# Comic Sans MS
|
comic_sans:
|
||||||
comic_sans: |-
|
description: Comic Sans MS
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Comic Sans MS}
|
\setmainfont[Mapping=tex-text]{Comic Sans MS}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Droid Sans
|
droid_sans:
|
||||||
droid_sans: |-
|
description: Droid Sans
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[default]{droidsans}
|
\usepackage[default]{droidsans}
|
||||||
\usepackage[LGRgreek]{mathastext}
|
\usepackage[LGRgreek]{mathastext}
|
||||||
\let\varepsilon\epsilon
|
\let\varepsilon\epsilon
|
||||||
|
|
||||||
# Droid Sans (Italic)
|
droid_sans_it:
|
||||||
droid_sans_it: |-
|
description: Droid Sans (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[default]{droidsans}
|
\usepackage[default]{droidsans}
|
||||||
\usepackage[LGRgreek,defaultmathsizes,italic]{mathastext}
|
\usepackage[LGRgreek,defaultmathsizes,italic]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
|
|
||||||
# Droid Serif
|
droid_serif:
|
||||||
droid_serif: |-
|
description: Droid Serif
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[default]{droidserif}
|
\usepackage[default]{droidserif}
|
||||||
\usepackage[LGRgreek]{mathastext}
|
\usepackage[LGRgreek]{mathastext}
|
||||||
\let\varepsilon\epsilon
|
\let\varepsilon\epsilon
|
||||||
|
|
||||||
# Droid Serif (PX math symbols) (Italic)
|
droid_serif_px_it:
|
||||||
droid_serif_px_it: |-
|
description: Droid Serif (PX math symbols) (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{pxfonts}
|
\usepackage{pxfonts}
|
||||||
\usepackage[default]{droidserif}
|
\usepackage[default]{droidserif}
|
||||||
\usepackage[LGRgreek,defaultmathsizes,italic,basic]{mathastext}
|
\usepackage[LGRgreek,defaultmathsizes,italic,basic]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
|
|
||||||
# ECF Augie (Euler Greek)
|
ecf_augie:
|
||||||
ecf_augie: |-
|
description: ECF Augie (Euler Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\renewcommand\familydefault{fau}
|
\renewcommand\familydefault{fau}
|
||||||
\usepackage[defaultmathsizes,eulergreek]{mathastext}
|
\usepackage[defaultmathsizes,eulergreek]{mathastext}
|
||||||
|
|
||||||
# ECF JD (with TX fonts)
|
ecf_jd:
|
||||||
ecf_jd: |-
|
description: ECF JD (with TX fonts)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[upright]{txgreeks}
|
\usepackage[upright]{txgreeks}
|
||||||
\renewcommand\familydefault{fjd}
|
\renewcommand\familydefault{fjd}
|
||||||
\usepackage{mathastext}
|
\usepackage{mathastext}
|
||||||
\mathversion{bold}
|
\mathversion{bold}
|
||||||
|
|
||||||
# ECF Skeetch (CM Greek)
|
ecf_skeetch:
|
||||||
ecf_skeetch: |-
|
description: ECF Skeetch (CM Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\DeclareFontFamily{T1}{fsk}{}
|
\DeclareFontFamily{T1}{fsk}{}
|
||||||
\DeclareFontShape{T1}{fsk}{m}{n}{<->s*[1.315] fskmw8t}{}
|
\DeclareFontShape{T1}{fsk}{m}{n}{<->s*[1.315] fskmw8t}{}
|
||||||
\renewcommand\rmdefault{fsk}
|
\renewcommand\rmdefault{fsk}
|
||||||
\usepackage[noendash,defaultmathsizes,nohbar,defaultimath]{mathastext}
|
\usepackage[noendash,defaultmathsizes,nohbar,defaultimath]{mathastext}
|
||||||
|
|
||||||
# ECF Tall Paul (with Symbol font)
|
ecf_tall_paul:
|
||||||
ecf_tall_paul: |-
|
description: ECF Tall Paul (with Symbol font)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\DeclareFontFamily{T1}{ftp}{}
|
\DeclareFontFamily{T1}{ftp}{}
|
||||||
\DeclareFontShape{T1}{ftp}{m}{n}{<->s*[1.4] ftpmw8t}{}
|
\DeclareFontShape{T1}{ftp}{m}{n}{<->s*[1.4] ftpmw8t}{}
|
||||||
\renewcommand\familydefault{ftp}
|
\renewcommand\familydefault{ftp}
|
||||||
\usepackage[symbol]{mathastext}
|
\usepackage[symbol]{mathastext}
|
||||||
\let\infty\inftypsy
|
\let\infty\inftypsy
|
||||||
|
|
||||||
# ECF Webster (with TX fonts)
|
ecf_webster:
|
||||||
ecf_webster: |-
|
description: ECF Webster (with TX fonts)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[upright]{txgreeks}
|
\usepackage[upright]{txgreeks}
|
||||||
\renewcommand\familydefault{fwb}
|
\renewcommand\familydefault{fwb}
|
||||||
|
@ -209,66 +338,111 @@ ecf_webster: |-
|
||||||
\linespread{1.5}
|
\linespread{1.5}
|
||||||
\mathversion{bold}
|
\mathversion{bold}
|
||||||
|
|
||||||
# Electrum ADF (CM Greek)
|
electrum_adf:
|
||||||
electrum_adf: |-
|
description: Electrum ADF (CM Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[LGRgreek,basic,defaultmathsizes]{mathastext}
|
\usepackage[LGRgreek,basic,defaultmathsizes]{mathastext}
|
||||||
\usepackage[lf]{electrum}
|
\usepackage[lf]{electrum}
|
||||||
\Mathastext
|
\Mathastext
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
|
|
||||||
# Epigrafica
|
epigrafica:
|
||||||
epigrafica: |-
|
description: Epigrafica
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[LGR,OT1]{fontenc}
|
\usepackage[LGR,OT1]{fontenc}
|
||||||
\usepackage{epigrafica}
|
\usepackage{epigrafica}
|
||||||
\usepackage[basic,LGRgreek,defaultmathsizes]{mathastext}
|
\usepackage[basic,LGRgreek,defaultmathsizes]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
\linespread{1.2}
|
\linespread{1.2}
|
||||||
|
|
||||||
# Fourier Utopia (Fourier upright Greek)
|
fourier_utopia:
|
||||||
fourier_utopia: |-
|
description: Fourier Utopia (Fourier upright Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[upright]{fourier}
|
\usepackage[upright]{fourier}
|
||||||
\usepackage{mathastext}
|
\usepackage{mathastext}
|
||||||
|
|
||||||
# French Cursive (Euler Greek)
|
french_cursive:
|
||||||
french_cursive: |-
|
description: French Cursive (Euler Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[default]{frcursive}
|
\usepackage[default]{frcursive}
|
||||||
\usepackage[eulergreek,noplusnominus,noequal,nohbar,nolessnomore,noasterisk]{mathastext}
|
\usepackage[eulergreek,noplusnominus,noequal,nohbar,nolessnomore,noasterisk]{mathastext}
|
||||||
|
|
||||||
# GFS Bodoni
|
gfs_bodoni:
|
||||||
gfs_bodoni: |-
|
description: GFS Bodoni
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\renewcommand{\rmdefault}{bodoni}
|
\renewcommand{\rmdefault}{bodoni}
|
||||||
\usepackage[LGRgreek]{mathastext}
|
\usepackage[LGRgreek]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
\linespread{1.06}
|
\linespread{1.06}
|
||||||
|
|
||||||
# GFS Didot (Italic)
|
gfs_didot:
|
||||||
gfs_didot: |-
|
description: GFS Didot (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\renewcommand\rmdefault{udidot}
|
\renewcommand\rmdefault{udidot}
|
||||||
\usepackage[LGRgreek,defaultmathsizes,italic]{mathastext}
|
\usepackage[LGRgreek,defaultmathsizes,italic]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
|
|
||||||
# GFS NeoHellenic
|
gfs_neohellenic:
|
||||||
gfs_neohellenic: |-
|
description: GFS NeoHellenic
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\renewcommand{\rmdefault}{neohellenic}
|
\renewcommand{\rmdefault}{neohellenic}
|
||||||
\usepackage[LGRgreek]{mathastext}
|
\usepackage[LGRgreek]{mathastext}
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
\linespread{1.06}
|
\linespread{1.06}
|
||||||
|
|
||||||
# GNU FreeSerif (and TX fonts symbols)
|
gnu_freesans_tx:
|
||||||
gnu_freesans_tx: |-
|
description: GNU FreeSerif (and TX fonts symbols)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\setmainfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSerifBold,ItalicFont=FreeSerifItalic,BoldItalicFont=FreeSerifBoldItalic]{FreeSerif}
|
\setmainfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSerifBold,ItalicFont=FreeSerifItalic,BoldItalicFont=FreeSerifBoldItalic]{FreeSerif}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# GNU FreeSerif and FreeSans
|
gnu_freeserif_freesans:
|
||||||
gnu_freeserif_freesans: |-
|
description: GNU FreeSerif and FreeSans
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSerifBold,ItalicFont=FreeSerifItalic,BoldItalicFont=FreeSerifBoldItalic]{FreeSerif}
|
\setmainfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSerifBold,ItalicFont=FreeSerifItalic,BoldItalicFont=FreeSerifBoldItalic]{FreeSerif}
|
||||||
\setsansfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSansBold,ItalicFont=FreeSansOblique,BoldItalicFont=FreeSansBoldOblique,Scale=MatchLowercase]{FreeSans}
|
\setsansfont[ExternalLocation,Mapping=tex-text,BoldFont=FreeSansBold,ItalicFont=FreeSansOblique,BoldItalicFont=FreeSansBoldOblique,Scale=MatchLowercase]{FreeSans}
|
||||||
|
@ -279,16 +453,26 @@ gnu_freeserif_freesans: |-
|
||||||
\let\varphi\phi
|
\let\varphi\phi
|
||||||
\renewcommand{\familydefault}{\rmdefault}
|
\renewcommand{\familydefault}{\rmdefault}
|
||||||
|
|
||||||
# Helvetica with Fourier (Italic)
|
helvetica_fourier_it:
|
||||||
helvetica_fourier_it: |-
|
description: Helvetica with Fourier (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[scaled]{helvet}
|
\usepackage[scaled]{helvet}
|
||||||
\usepackage{fourier}
|
\usepackage{fourier}
|
||||||
\renewcommand{\rmdefault}{phv}
|
\renewcommand{\rmdefault}{phv}
|
||||||
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
||||||
|
|
||||||
# Latin Modern Typewriter Proportional
|
latin_modern_tw:
|
||||||
latin_modern_tw: |-
|
description: Latin Modern Typewriter Proportional
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[variablett]{lmodern}
|
\usepackage[variablett]{lmodern}
|
||||||
\renewcommand{\rmdefault}{\ttdefault}
|
\renewcommand{\rmdefault}{\ttdefault}
|
||||||
|
@ -297,107 +481,182 @@ latin_modern_tw: |-
|
||||||
\Mathastext
|
\Mathastext
|
||||||
\let\varepsilon\epsilon
|
\let\varepsilon\epsilon
|
||||||
|
|
||||||
# Latin Modern Typewriter Proportional (CM Greek) (Italic)
|
latin_modern_tw_it:
|
||||||
latin_modern_tw_it: |-
|
description: Latin Modern Typewriter Proportional (CM Greek) (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[variablett,nomath]{lmodern}
|
\usepackage[variablett,nomath]{lmodern}
|
||||||
\renewcommand{\familydefault}{\ttdefault}
|
\renewcommand{\familydefault}{\ttdefault}
|
||||||
\usepackage[frenchmath]{mathastext}
|
\usepackage[frenchmath]{mathastext}
|
||||||
\linespread{1.08}
|
\linespread{1.08}
|
||||||
|
|
||||||
# Libertine
|
libertine:
|
||||||
libertine: |-
|
description: Libertine
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{libertine}
|
\usepackage{libertine}
|
||||||
\usepackage[greek=n]{libgreek}
|
\usepackage[greek=n]{libgreek}
|
||||||
\usepackage[noasterisk,defaultmathsizes]{mathastext}
|
\usepackage[noasterisk,defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Libris ADF with Fourier
|
libris_adf_fourier:
|
||||||
libris_adf_fourier: |-
|
description: Libris ADF with Fourier
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[upright]{fourier}
|
\usepackage[upright]{fourier}
|
||||||
\usepackage{libris}
|
\usepackage{libris}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
\usepackage[noasterisk]{mathastext}
|
\usepackage[noasterisk]{mathastext}
|
||||||
|
|
||||||
# Minion Pro and Myriad Pro (and TX fonts symbols)
|
minion_pro_myriad_pro:
|
||||||
minion_pro_myriad_pro: |-
|
description: Minion Pro and Myriad Pro (and TX fonts symbols)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[default]{droidserif}
|
\usepackage[default]{droidserif}
|
||||||
\usepackage[LGRgreek]{mathastext}
|
\usepackage[LGRgreek]{mathastext}
|
||||||
\let\varepsilon\epsilon
|
\let\varepsilon\epsilon
|
||||||
|
|
||||||
# Minion Pro (and TX fonts symbols)
|
minion_pro_tx:
|
||||||
minion_pro_tx: |-
|
description: Minion Pro (and TX fonts symbols)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Minion Pro}
|
\setmainfont[Mapping=tex-text]{Minion Pro}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# New Century Schoolbook (Symbol Greek)
|
new_century_schoolbook:
|
||||||
new_century_schoolbook: |-
|
description: New Century Schoolbook (Symbol Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{newcent}
|
\usepackage{newcent}
|
||||||
\usepackage[symbolgreek]{mathastext}
|
\usepackage[symbolgreek]{mathastext}
|
||||||
\linespread{1.1}
|
\linespread{1.1}
|
||||||
|
|
||||||
# New Century Schoolbook (Symbol Greek, PX math symbols)
|
new_century_schoolbook_px:
|
||||||
new_century_schoolbook_px: |-
|
description: New Century Schoolbook (Symbol Greek, PX math symbols)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{pxfonts}
|
\usepackage{pxfonts}
|
||||||
\usepackage{newcent}
|
\usepackage{newcent}
|
||||||
\usepackage[symbolgreek,defaultmathsizes]{mathastext}
|
\usepackage[symbolgreek,defaultmathsizes]{mathastext}
|
||||||
\linespread{1.06}
|
\linespread{1.06}
|
||||||
|
|
||||||
# Noteworthy Light
|
noteworthy_light:
|
||||||
noteworthy_light: |-
|
description: Noteworthy Light
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Noteworthy Light}
|
\setmainfont[Mapping=tex-text]{Noteworthy Light}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Palatino (Symbol Greek)
|
palatino:
|
||||||
palatino: |-
|
description: Palatino (Symbol Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{palatino}
|
\usepackage{palatino}
|
||||||
\usepackage[symbolmax,defaultmathsizes]{mathastext}
|
\usepackage[symbolmax,defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Papyrus
|
papyrus:
|
||||||
papyrus: |-
|
description: Papyrus
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Papyrus}
|
\setmainfont[Mapping=tex-text]{Papyrus}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Romande ADF with Fourier (Italic)
|
romande_adf_fourier_it:
|
||||||
romande_adf_fourier_it: |-
|
description: Romande ADF with Fourier (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{fourier}
|
\usepackage{fourier}
|
||||||
\usepackage{romande}
|
\usepackage{romande}
|
||||||
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
||||||
\renewcommand{\itshape}{\swashstyle}
|
\renewcommand{\itshape}{\swashstyle}
|
||||||
|
|
||||||
# SliTeX (Euler Greek)
|
slitex:
|
||||||
slitex: |-
|
description: SliTeX (Euler Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{tpslifonts}
|
\usepackage{tpslifonts}
|
||||||
\usepackage[eulergreek,defaultmathsizes]{mathastext}
|
\usepackage[eulergreek,defaultmathsizes]{mathastext}
|
||||||
\MTEulerScale{1.06}
|
\MTEulerScale{1.06}
|
||||||
\linespread{1.2}
|
\linespread{1.2}
|
||||||
|
|
||||||
# Times with Fourier (Italic)
|
times_fourier_it:
|
||||||
times_fourier_it: |-
|
description: Times with Fourier (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{fourier}
|
\usepackage{fourier}
|
||||||
\renewcommand{\rmdefault}{ptm}
|
\renewcommand{\rmdefault}{ptm}
|
||||||
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
||||||
|
|
||||||
# URW Avant Garde (Symbol Greek)
|
urw_avant_garde:
|
||||||
urw_avant_garde: |-
|
description: URW Avant Garde (Symbol Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{avant}
|
\usepackage{avant}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
\usepackage[symbolgreek,defaultmathsizes]{mathastext}
|
\usepackage[symbolgreek,defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# URW Zapf Chancery (CM Greek)
|
urw_zapf_chancery:
|
||||||
urw_zapf_chancery: |-
|
description: URW Zapf Chancery (CM Greek)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\DeclareFontFamily{T1}{pzc}{}
|
\DeclareFontFamily{T1}{pzc}{}
|
||||||
\DeclareFontShape{T1}{pzc}{mb}{it}{<->s*[1.2] pzcmi8t}{}
|
\DeclareFontShape{T1}{pzc}{mb}{it}{<->s*[1.2] pzcmi8t}{}
|
||||||
|
@ -410,34 +669,59 @@ urw_zapf_chancery: |-
|
||||||
\linespread{1.05}
|
\linespread{1.05}
|
||||||
\boldmath
|
\boldmath
|
||||||
|
|
||||||
# Venturis ADF with Fourier (Italic)
|
venturis_adf_fourier_it:
|
||||||
venturis_adf_fourier_it: |-
|
description: Venturis ADF with Fourier (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{fourier}
|
\usepackage{fourier}
|
||||||
\usepackage[lf]{venturis}
|
\usepackage[lf]{venturis}
|
||||||
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
\usepackage[italic,defaultmathsizes,noasterisk]{mathastext}
|
||||||
|
|
||||||
# Verdana (Italic)
|
verdana_it:
|
||||||
verdana_it: |-
|
description: Verdana (Italic)
|
||||||
|
compiler: xelatex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[no-math]{fontspec}
|
\usepackage[no-math]{fontspec}
|
||||||
\setmainfont[Mapping=tex-text]{Verdana}
|
\setmainfont[Mapping=tex-text]{Verdana}
|
||||||
\usepackage[defaultmathsizes,italic]{mathastext}
|
\usepackage[defaultmathsizes,italic]{mathastext}
|
||||||
|
|
||||||
# Vollkorn (TX fonts for Greek and math symbols)
|
vollkorn:
|
||||||
vollkorn: |-
|
description: Vollkorn (TX fonts for Greek and math symbols)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage{txfonts}
|
\usepackage{txfonts}
|
||||||
\usepackage[upright]{txgreeks}
|
\usepackage[upright]{txgreeks}
|
||||||
\usepackage{vollkorn}
|
\usepackage{vollkorn}
|
||||||
\usepackage[defaultmathsizes]{mathastext}
|
\usepackage[defaultmathsizes]{mathastext}
|
||||||
|
|
||||||
# Vollkorn with Fourier (Italic)
|
vollkorn_fourier_it:
|
||||||
vollkorn_fourier_it: |-
|
description: Vollkorn with Fourier (Italic)
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{fourier}
|
\usepackage{fourier}
|
||||||
\usepackage{vollkorn}
|
\usepackage{vollkorn}
|
||||||
\usepackage[italic,nohbar]{mathastext}
|
\usepackage[italic,nohbar]{mathastext}
|
||||||
|
|
||||||
# Zapf Chancery
|
zapf_chancery:
|
||||||
zapf_chancery: |-
|
description: Zapf Chancery
|
||||||
|
compiler: latex
|
||||||
|
preamble: |-
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{xcolor}
|
||||||
\DeclareFontFamily{T1}{pzc}{}
|
\DeclareFontFamily{T1}{pzc}{}
|
||||||
\DeclareFontShape{T1}{pzc}{mb}{it}{<->s*[1.2] pzcmi8t}{}
|
\DeclareFontShape{T1}{pzc}{mb}{it}{<->s*[1.2] pzcmi8t}{}
|
||||||
\DeclareFontShape{T1}{pzc}{m}{it}{<->ssub * pzc/mb/it}{}
|
\DeclareFontShape{T1}{pzc}{m}{it}{<->ssub * pzc/mb/it}{}
|
||||||
|
|
|
@ -44,7 +44,6 @@ def init_customization() -> None:
|
||||||
},
|
},
|
||||||
"universal_import_line": "from manimlib import *",
|
"universal_import_line": "from manimlib import *",
|
||||||
"style": {
|
"style": {
|
||||||
"tex_compiler": "",
|
|
||||||
"tex_template": "",
|
"tex_template": "",
|
||||||
"font": "Consolas",
|
"font": "Consolas",
|
||||||
"background_color": "",
|
"background_color": "",
|
||||||
|
@ -107,16 +106,11 @@ def init_customization() -> None:
|
||||||
|
|
||||||
console.print("[bold]Styles:[/bold]")
|
console.print("[bold]Styles:[/bold]")
|
||||||
style_config = configuration["style"]
|
style_config = configuration["style"]
|
||||||
compiler = Prompt.ask(
|
tex_template = Prompt.ask(
|
||||||
" Select an executable program to use to compile a LaTeX source file",
|
" Select a TeX template to compile a LaTeX source file",
|
||||||
choices=["latex", "xelatex"],
|
default="default"
|
||||||
default="latex"
|
|
||||||
)
|
)
|
||||||
style_config["tex_compiler"] = compiler
|
style_config["tex_template"] = tex_template
|
||||||
if compiler == "latex":
|
|
||||||
style_config["tex_template"] = "default"
|
|
||||||
else:
|
|
||||||
style_config["tex_template"] = "ctex"
|
|
||||||
style_config["background_color"] = Prompt.ask(
|
style_config["background_color"] = Prompt.ask(
|
||||||
" Which [bold]background color[/bold] do you want [italic](hex code)",
|
" Which [bold]background color[/bold] do you want [italic](hex code)",
|
||||||
default="#333333"
|
default="#333333"
|
||||||
|
|
|
@ -15,7 +15,7 @@ from manimlib.utils.simple_functions import hash_string
|
||||||
SAVED_TEX_CONFIG = {}
|
SAVED_TEX_CONFIG = {}
|
||||||
|
|
||||||
|
|
||||||
def get_tex_preamble(template_name: str) -> str:
|
def get_tex_template_config(template_name: str) -> dict[str, str]:
|
||||||
name = template_name.replace(" ", "_").lower()
|
name = template_name.replace(" ", "_").lower()
|
||||||
with open(os.path.join(
|
with open(os.path.join(
|
||||||
get_manim_dir(), "manimlib", "tex_templates.yml"
|
get_manim_dir(), "manimlib", "tex_templates.yml"
|
||||||
|
@ -27,28 +27,26 @@ def get_tex_preamble(template_name: str) -> str:
|
||||||
name
|
name
|
||||||
)
|
)
|
||||||
name = "default"
|
name = "default"
|
||||||
result = templates_dict[name]
|
return templates_dict[name]
|
||||||
if name not in ("default", "ctex", "basic", "ctex_basic", "blank"):
|
|
||||||
result = templates_dict["basic"] + "\n" + result
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
def get_tex_config() -> dict[str, str]:
|
def get_tex_config() -> dict[str, str]:
|
||||||
"""
|
"""
|
||||||
Returns a dict which should look something like this:
|
Returns a dict which should look something like this:
|
||||||
{
|
{
|
||||||
"compiler": "latex",
|
|
||||||
"template": "default",
|
"template": "default",
|
||||||
|
"compiler": "latex",
|
||||||
"preamble": "..."
|
"preamble": "..."
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
# Only load once, then save thereafter
|
# Only load once, then save thereafter
|
||||||
if not SAVED_TEX_CONFIG:
|
if not SAVED_TEX_CONFIG:
|
||||||
style_config = get_custom_config()["style"]
|
template_name = get_custom_config()["style"]["tex_template"]
|
||||||
|
template_config = get_tex_template_config(template_name)
|
||||||
SAVED_TEX_CONFIG.update({
|
SAVED_TEX_CONFIG.update({
|
||||||
"compiler": style_config["tex_compiler"],
|
"template": template_name,
|
||||||
"template": style_config["tex_template"],
|
"compiler": template_config["compiler"],
|
||||||
"preamble": get_tex_preamble(style_config["tex_template"])
|
"preamble": template_config["preamble"]
|
||||||
})
|
})
|
||||||
return SAVED_TEX_CONFIG
|
return SAVED_TEX_CONFIG
|
||||||
|
|
||||||
|
@ -58,9 +56,12 @@ def tex_content_to_svg_file(
|
||||||
) -> str:
|
) -> str:
|
||||||
tex_config = get_tex_config()
|
tex_config = get_tex_config()
|
||||||
if not template or template == tex_config["template"]:
|
if not template or template == tex_config["template"]:
|
||||||
|
compiler = tex_config["compiler"]
|
||||||
preamble = tex_config["preamble"]
|
preamble = tex_config["preamble"]
|
||||||
else:
|
else:
|
||||||
preamble = get_tex_preamble(template)
|
config = get_tex_template_config(template)
|
||||||
|
compiler = config["compiler"]
|
||||||
|
preamble = config["preamble"]
|
||||||
|
|
||||||
if additional_preamble:
|
if additional_preamble:
|
||||||
preamble += "\n" + additional_preamble
|
preamble += "\n" + additional_preamble
|
||||||
|
@ -77,7 +78,7 @@ def tex_content_to_svg_file(
|
||||||
)
|
)
|
||||||
if not os.path.exists(svg_file):
|
if not os.path.exists(svg_file):
|
||||||
# If svg doesn't exist, create it
|
# If svg doesn't exist, create it
|
||||||
create_tex_svg(full_tex, svg_file, tex_config["compiler"])
|
create_tex_svg(full_tex, svg_file, compiler)
|
||||||
return svg_file
|
return svg_file
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue