Source code for tueplots.fontsizes

"""Adapt font sizes (:mod:`tueplots.fontsizes`).

Sets appropriate font sizes for labels, legends, and titles
in publication-ready figures.


Examples
--------

.. plot::
    :include-source: True

    >>> import matplotlib.pyplot as plt
    >>> from tueplots import fontsizes, figsizes
    >>>
    >>> # Select a style bundle: fontsize + figsize
    >>> style = fontsizes.cvpr2024() | figsizes.cvpr2022_half()
    >>>
    >>> # Apply the style to matplotlib
    >>> plt.rcParams.update(style)
    >>>
    >>> # Create a plot
    >>> fig, ax = plt.subplots()
    >>> ax.plot([0, 1, 2], [2, 1, 3])
    >>> ax.set_xlabel("$x$ label")
    >>> ax.set_ylabel("$y$ label")
    >>> plt.show()


"""


[docs] def icml2022(*, default_smaller=1): r"""Font size for ICML 2022. Source: https://media.icml.cc/Conferences/ICML2022/Styles/example_paper.pdf """ # ICML text size is 10, but captions are in size 9. # Therefore, we use base 9 instead of 10. return _from_base(base=9 - default_smaller)
[docs] def icml2024(*, default_smaller=1): r"""Font size for ICML 2024. Source: https://media.icml.cc/Conferences/ICML2024/Styles/example_paper.pdf """ # ICML text size is 10, but captions are in size 9. # Therefore, we use base 9 instead of 10. return _from_base(base=9 - default_smaller)
[docs] def cvpr2024(*, default_smaller=1): """Font size for CVPR 2024.""" # CVPR text size is 10, but captions are in size 9. # Therefore, we use base 9 instead of 10. return _from_base(base=9 - default_smaller)
[docs] def neurips2021(*, default_smaller=1): """Font size for Neurips 2021.""" return _from_base(base=10 - default_smaller)
[docs] def neurips2022(*, default_smaller=1): """Font size for Neurips 2022.""" return _from_base(base=10 - default_smaller)
[docs] def neurips2023(*, default_smaller=1): """Font size for Neurips 2023.""" return _from_base(base=10 - default_smaller)
[docs] def neurips2024(*, default_smaller=1): """Font size for Neurips 2024.""" return _from_base(base=10 - default_smaller)
[docs] def iclr2023(*, default_smaller=1): """Font size for ICLR 2023.""" return _from_base(base=10 - default_smaller)
[docs] def iclr2024(*, default_smaller=1): """Font size for ICLR 2024.""" return _from_base(base=10 - default_smaller)
[docs] def aistats2022(*, default_smaller=1): """Font size for AISTATS 2022.""" return _from_base(base=10 - default_smaller)
[docs] def aistats2023(*, default_smaller=1): """Font size for AISTATS 2023.""" return _from_base(base=10 - default_smaller)
[docs] def aistats2025(*, default_smaller=1): """Font size for AISTATS 2025.""" return _from_base(base=10 - default_smaller)
[docs] def aaai2024(*, default_smaller=1): """Font size for AAAI 2024.""" return _from_base(base=10 - default_smaller)
[docs] def uai2023(*, default_smaller=1): """Font size for UAI 2023.""" return _from_base(base=10 - default_smaller)
[docs] def eccv2024(*, default_smaller=1): """Font size for ECCV 2024.""" # ECCV text size is 10, but captions are in size 9. # Therefore, we use base 9 instead of 10. return _from_base(base=9 - default_smaller)
[docs] def jmlr2001(*, default_smaller=1): """Font size for JMLR 2021.""" return _from_base(base=10.95 - default_smaller)
[docs] def tmlr2023(*, default_smaller=1): """Font size for TMLR 2023.""" return _from_base(base=10 - default_smaller)
[docs] def probnum2025(*, default_smaller=1): """Font size for ProbNum 2025.""" return _from_base(base=10 - default_smaller)
[docs] def beamer(*, default_smaller=1): """Font size for a beamer slide.""" return _from_base(base=10 - default_smaller)
def _from_base(*, base, small_offset=2): """Set all font-sizes based on a base-size. "small_offset" is the amount by which the small elements of the figure should be smaller than "base". This affects legends, xticks, yticks, etc. """ return { "font.size": base, "axes.labelsize": base, "legend.fontsize": base - small_offset, "xtick.labelsize": base - small_offset, "ytick.labelsize": base - small_offset, "axes.titlesize": base, }