math_demo
This is a small demo module showing how pdoc renders $\LaTeX$ when invoked as pdoc --math
!
Using Math in Docstrings
Note that docstrings work like regular strings, so backslashes are treated as escape characters. You can either escape a backslash with a second backslash:
def foo():
"""docstring with $\\frac{x}{y}$."""
or prefix your docstring with an "r" so that you have a raw string where backslashes are not processed:
def foo():
r"""raw docstring with $\frac{x}{y}$."""
Advanced Usage
pdoc uses MathJax's MathJax's in-browser renderer by default. Please note that while pdoc
generally strives to be self-contained, these resources are included from MathJax's CDN.
You can create a math.html.jinja2
file in your pdoc template directory to override the
default implementation.
Example
1r''' 2This is a small demo module showing how pdoc renders $\LaTeX$ when invoked as `pdoc --math`! 3 4# Using Math in Docstrings 5 6Note that docstrings work like regular strings, so backslashes are treated as escape characters. 7You can either escape a backslash with a second backslash: 8 9 10```python 11def foo(): 12 """docstring with $\\frac{x}{y}$.""" 13``` 14 15or prefix your docstring with an "r" so that you have a 16[raw string](https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals) 17where backslashes are not processed: 18 19```python 20 21def foo(): 22 r"""raw docstring with $\frac{x}{y}$.""" 23``` 24 25# Advanced Usage 26 27pdoc uses MathJax's MathJax's in-browser renderer by default. Please note that while pdoc 28generally strives to be self-contained, these resources are included from MathJax's CDN. 29You can create a `math.html.jinja2` file in your pdoc template directory to override the 30[default implementation](https://github.com/mitmproxy/pdoc/blob/main/pdoc/templates/math.html.jinja2). 31 32# Example 33''' 34import math 35 36 37def binom_coef(n: int, k: int) -> int: 38 """ 39 Return the number of ways to choose $k$ items from $n$ items without repetition and without order. 40 41 Evaluates to $n! / (k! * (n - k)!)$ when $k <= n$ and evaluates to zero when $k > n$. 42 """ 43 return math.comb(n, k)
38def binom_coef(n: int, k: int) -> int: 39 """ 40 Return the number of ways to choose $k$ items from $n$ items without repetition and without order. 41 42 Evaluates to $n! / (k! * (n - k)!)$ when $k <= n$ and evaluates to zero when $k > n$. 43 """ 44 return math.comb(n, k)
Return the number of ways to choose $k$ items from $n$ items without repetition and without order.
Evaluates to $n! / (k! * (n - k)!)$ when $k <= n$ and evaluates to zero when $k > n$.