Open fnemina opened 1 year ago
I feel the problem with the preambles is impossible to tackle down. It's more likely something that could be resolved on the matplotlib interface side.
BTW, matplotlib provides a way to use math text without latex that is much faster, so pursuing this change may not have a broad impact in the long term. Anyways, I don't want to discourage you. Feel free to open a PR. Don't forget to add text.usetex : True
so it can be used as a stand-alone style.
Turkish font is working for latex-siunitx.
sudo apt-get install texlive-science (for siunitx – A comprehensive (SI) units package) apt-cache show texlive-science | grep siunitx siunitx -- A comprehensive (SI) units package.
import numpy as np import matplotlib.pyplot as plt import scienceplots
x = np.linspace(0.75, 1.25, 201)
def model(x, p): return x * (2 p + 1) / (1 + x * (2 p))
pparam = dict(xlabel=r'Voltaj/Gerilim (\si{\milli\volt})', ylabel=r'Akım (\si{\micro\ampere})')
with plt.style.context(['science','latex-siunitx']): fig, ax = plt.subplots() for p in [10, 15, 20, 30, 50, 100]: ax.plot(x, model(x, p), label=p) ax.legend(title='Düzen: öçüğşıÖÇÜĞŞİ') ax.autoscale(tight=True) ax.set(**pparam) fig.savefig('fig01-siunitx-tr.png', dpi=300) plt.close()
I feel the problem with the preambles is impossible to tackle down. It's more likely something that could be resolved on the matplotlib interface side.
BTW, matplotlib provides a way to use math text without latex that is much faster, so pursuing this change may not have a broad impact in the long term. Anyways, I don't want to discourage you. Feel free to open a PR. Don't forget to add
text.usetex : True
so it can be used as a stand-alone style.
Average execution time of the code:
Hello, hope you are doing great.
There is this package siunitx which allows for a better usage of units in latex. This allows for different usage of units inside latex and to be more consistent in their use inside and outside of equations.
I believe it would be easy to implement in
SciencePlots
as an additional mplstyle.Proposal
For this it could be easy to create a
latex-siunitx.mplstyle
inside themisc
folder with the lineExample
With the current implementation units would be like
with the new implementation it would change to
Caveats
The only problem I seem to find with this is that if another style changes the
text.latex.preamble
line it would clash. It would be a problem fornature
,russian-font
,turkish-font
,latex-sans
,pgf
andsans
. Also it wouldn't work with styles that don't use latex likenotebook
.Maybe this could be worked around in some way.
Best, Fran