# Example Themes This gallery contains a collection of code snippets together with their corresponding output, illustrating different colors themes in Manim and example objects. ## Catppuccin Latte Theme ```{eval-rst} .. manim:: CatppucinLattePreview :save_last_frame: import manim from manim import * from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class CatppucinLattePreview(Scene): def setup(self): theme = "catppuccin-latte" apply_theme(manim_scene=self, theme_name=theme) def construct(self): my_theme_preview = theme_preview() self.add(my_theme_preview) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm -s" SCENE = "CatppucinLattePreview" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ``` ## Catppuccin Mocha Theme ```{eval-rst} .. manim:: CatppucinMochaPreview :save_last_frame: import manim from manim import * from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class CatppucinMochaPreview(Scene): def setup(self): theme = "catppuccin-mocha" apply_theme(manim_scene=self, theme_name=theme) def construct(self): my_theme_preview = theme_preview() self.add(my_theme_preview) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm -s" SCENE = "CatppucinMochaPreview" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ``` ## Tokyo Night ```{eval-rst} .. manim:: TokyonightPreview :save_last_frame: import manim from manim import * from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class TokyonightPreview(Scene): def setup(self): theme = "tokyonight" apply_theme(manim_scene=self, theme_name=theme) def construct(self): my_theme_preview = theme_preview() self.add(my_theme_preview) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm -s" SCENE = "TokyonightPreview" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ``` ## Tokyo Night Day ```{eval-rst} .. manim:: TokyonightDayPreview :save_last_frame: import manim as m from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class TokyonightDayPreview(m.Scene): def setup(self): theme = "tokyonight-day" apply_theme(manim_scene=self, theme_name=theme, light_theme=True) # You might want to set the default font and color for text here m.Text.set_default(font="Courier New", color=m.WHITE) def construct(self): my_theme_preview = theme_preview() self.add(my_theme_preview) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm -s" SCENE = "TokyonightDayPreview" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ``` ## Material Design ```{eval-rst} .. manim:: MaterialDesignColorsPreview :save_last_frame: import manim as m from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class MaterialDesignColorsPreview(m.Scene): def setup(self): theme = "MaterialDesignColors" apply_theme(manim_scene=self, theme_name=theme, light_theme=True) # You might want to set the default font and color for text here m.Text.set_default(font="Courier New", color=m.WHITE) def construct(self): my_theme_preview = theme_preview() self.add(my_theme_preview) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm -s" SCENE = "MaterialDesignColorsPreview" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ``` ## Theme Previews ```{eval-rst} .. manim:: ThemeCarousel import manim as m import random from manim_themes.manim_theme import apply_theme from manim_themes.theme_preview import theme_preview class ThemeCarousel(m.Scene): def construct(self): themes = [ "0x96f", "3024 Day", "3024 Night", "BlueDolphin", "CGA", "CutiePro", "DjangoRebornAgain", "DjangoSmooth", "Ghostty Default StyleDark", "NvimDark", "NvimLight", "PaleNightHC", "RetroLegends", "shades-of-purple", "SleepyHollow", "Aardvark Blue", "Abernathy", "Adventure", "AdventureTime", "Adwaita", "Adwaita Dark", "Afterglow", "Alabaster", "AlienBlood", "Andromeda", "Apple System Colors", "Apple System Colors Light", "arcoiris", "Ardoise", "Argonaut", "Arthur", "AtelierSulphurpool", "Atom", "AtomOneDark", "FrontEndDelight", "Aura", "Aurora", "ayu", "ayu_light", "Ayu Mirage", "Banana Blueberry", "Batman", "Belafonte Day", "Belafonte Night", "BirdsOfParadise", "Blazer", "Blue Matrix", "BlueBerryPie", "BlulocoDark", "BlulocoLight", "Borland", "Breeze", "Bright Lights", "Broadcast", "Brogrammer", "C64", "Calamity", "catppuccin-frappe", "catppuccin-latte", "catppuccin-macchiato", "catppuccin-mocha", "ENCOM", "Chalk", "Chalkboard", "ChallengerDeep", "Chester", "Ciapre", "citruszest", "CLRS", "Cobalt2", "Cobalt Neon", "CobaltNext", "CobaltNext-Dark", "CobaltNext-Minimal", "CrayonPonyFish", "Cyberdyne", "cyberpunk", "CyberpunkScarletProtocol", "Dark Modern", "Dark Pastel", "Dark+", "darkermatrix", "darkmatrix", "Darkside", "dayfox", "deep", "Desert", "detuned", "Dimidium", "DimmedMonokai", "Django", "DoomOne", "Doom Peacock", "DotGov", "Dracula", "Dracula+", "duckbones", "Duotone Dark", "Earthsong", "electron-highlighter", "Elegant", "Elemental", "Elementary", "Embark", "embers-dark", "terafox", "Espresso", "Espresso Libre", "Everblush", "Everforest Dark - Hard", "Fahrenheit", "Fairyfloss", "farmhouse-dark", "farmhouse-light", "Fideloper", "Firefly Traditional", "Firewatch", "FishTank", "Flat", "Flatland", "flexoki-dark", "flexoki-light", "Floraverse", "FirefoxDev", "Framer", "FunForrest", "Galaxy", "Galizur", "GitLab-Dark", "GitLab-Dark-Grey", "GitLab-Light", "Github", "GitHub-Dark-Colorblind", "GitHub-Dark-Default", "GitHub-Dark-Dimmed", "GitHub-Dark-High-Contrast", "GitHub-Light-Colorblind", "GitHub-Light-Default", "GitHub-Light-High-Contrast", "GitHub Dark", "Glacier", "Grape", "Grass", "Grey-green", "gruber-darker", "GruvboxDark", "GruvboxDarkHard", "GruvboxLight", "GruvboxLightHard", "gruvbox-material", "Guezwhoz", "Hacktober", "Hardcore", "Harper", "Havn Daggry", "Havn Skumring", "ForestBlue", "HaX0R_GR33N", "HaX0R_R3D", "heeler", "Highway", "Hipster Green", "Hivacruz", "Homebrew", "Hopscotch", "Hopscotch.256", "Horizon", "Horizon-Bright", "Hurtado", "Hybrid", "IC_Green_PPL", "IC_Orange_PPL", "iceberg-dark", "iceberg-light", "idea", "idleToes", "IR_Black", "IRIX Console", "IRIX Terminal", "iTerm2 Dark Background", "iTerm2 Default", "iTerm2 Light Background", "iTerm2 Pastel Dark Background", "iTerm2 Smoooooth", "iTerm2 Solarized Dark", "iTerm2 Solarized Light", "iTerm2 Tango Dark", "iTerm2 Tango Light", "Jackie Brown", "Japanesque", "Jellybeans", "JetBrains Darcula", "jubi", "Kanagawa Dragon", "Kanagawa Wave", "kanagawabones", "Kibble", "Kolorit", "Konsolas", "kurokula", "Lab Fox", "Laser", "Later This Evening", "Lavandula", "LiquidCarbon", "LiquidCarbonTransparent", "LiquidCarbonTransparentInverse", "lovelace", "Man Page", "Mariana", "Material", "MaterialDark", "MaterialDarker", "MaterialDesignColors", "MaterialOcean", "Mathias", "matrix", "Medallion", "Melange_dark", "Melange_light", "Mellifluous", "mellow", "miasma", "midnight-in-mojave", "Mirage", "Misterioso", "Molokai", "MonaLisa", "Apple Classic", "sonokai", "nord-light", "Monokai Classic", "Monokai Pro", "Monokai Pro Light", "Monokai Pro Light Sun", "Monokai Pro Machine", "Monokai Pro Octagon", "Monokai Pro Ristretto", "Monokai Pro Spectrum", "Monokai Remastered", "Monokai Soda", "Monokai Vivid", "N0tch2k", "neobones_dark", "neobones_light", "Neon", "Neopolitan", "Neutron", "Night Owlish Light", "nightfox", "NightLion v1", "NightLion v2", "niji", "Nocturnal Winter", "nord", "nord-wave", "xcodelighthc", "Novel", "Obsidian", "Ocean", "OceanicMaterial", "Oceanic-Next", "Ollie", "OneHalfDark", "OneHalfLight", "Operator Mono Dark", "Overnight Slumber", "Oxocarbon", "Pandora", "Paraiso Dark", "PaulMillr", "PencilDark", "PencilLight", "Peppermint", "Piatto Light", "Pnevma", "Popping and Locking", "primary", "Pro", "Pro Light", "Purple Rain", "purplepeter", "Rapture", "Raycast_Dark", "Raycast_Light", "rebecca", "Red Alert", "Red Planet", "Red Sands", "Relaxed", "Retro", "Rippedcasts", "rose-pine", "rose-pine-dawn", "rose-pine-moon", "Rouge 2", "Royal", "Ryuuko", "Sakura", "Scarlet Protocol", "SeaShells", "Seafoam Pastel", "seoulbones_dark", "seoulbones_light", "Seti", "Shaman", "Slate", "Smyck", "Snazzy", "Snazzy Soft", "SoftServer", "solarized-osaka-night", "Solarized Darcula", "Solarized Dark Higher Contrast", "Solarized Dark - Patched", "SpaceGray", "Spacedust", "SpaceGray Bright", "SpaceGray Eighties", "SpaceGray Eighties Dull", "Spiderman", "Spring", "Square", "Squirrelsong Dark", "srcery", "starlight", "Sublette", "Subliminal", "Sugarplum", "Sundried", "Symfonic", "synthwave", "synthwave-everything", "SynthwaveAlpha", "Tango Adapted", "Tango Half Adapted", "Teerb", "Terminal Basic", "Terminal Basic Dark", "Thayer Bright", "The Hulk", "Tinacious Design (Dark)", "Tinacious Design (Light)", "tokyonight", "tokyonight-day", "tokyonight_moon", "tokyonight_night", "tokyonight-storm", "Tomorrow", "Tomorrow Night", "Tomorrow Night Blue", "Tomorrow Night Bright", "Tomorrow Night Burns", "Tomorrow Night Eighties", "ToyChest", "Treehouse", "Twilight", "Ubuntu", "UltraViolent", "UltraDark", "UnderTheSea", "Unikitty", "Urple", "Vaughn", "Vesper", "VibrantInk", "vimbones", "Violet Dark", "Violet Light", "WarmNeon", "Wez", "Whimsy", "WildCherry", "wilmersdorf", "Wombat", "Wryan", "xcodedark", "xcodedarkhc", "xcodelight", "AtomOneLight", "xcodewwdc", "zenbones", "zenbones_dark", "zenbones_light", "Zenburn", "zenburned", "zenwritten_dark", "zenwritten_light", ] random.shuffle(themes) # get a random sample of 20 themes from the list # every time the docs are built, a different set of themes is shown :) for theme in themes[:20]: apply_theme(manim_scene=self, theme_name=theme, light_theme=True) theme_preview_group = theme_preview() theme_preview_group.shift(m.DOWN * 0.5) theme_label = m.Text( text=theme, font="Courier New", ) theme_label.to_edge(m.UP,buff=0.5) self.add(theme_preview_group) self.add(theme_label) self.wait(0.5) self.remove(theme_preview_group) self.remove(theme_label) if __name__ == '__main__': import os from pathlib import Path FLAGS = "-pqm" SCENE = "ThemeCarousel" file_path = Path(__file__).resolve() os.system(f"manim {Path(__file__).resolve()} {SCENE} {FLAGS}") ```