# Book settings
# Learn more at https://jupyterbook.org/customize/config.html

# Based on 
# https://github.com/code-first-ml/book1/blob/main/_config.yml

title: "State Space Models: A Modern Approach"
author: Kevin Murphy, Scott Linderman, et al.
#logo: logo.png

# Force re-execution of notebooks on each build.
# See https://jupyterbook.org/content/execute.html
execute:
  execute_notebooks: auto

# Define the name of the latex output file for PDF builds
latex:
  latex_documents:
    targetname: book.tex

# Add a bibtex file so that we can create citations
bibtex_bibfiles:
  - references.bib

# Information about where the book exists on the web
repository:
  url: https://github.com/probml/ssm-book
  branch: main

launch_buttons:
  colab_url: "https://colab.research.google.com"

# Add GitHub buttons to your book
# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
html:
  use_issues_button: true
  use_repository_button: true

# https://github.com/QuantEcon/lecture-python-advanced.myst/blob/3a0b5b40dc627f9dfabdd7e84c0c67a171bca690/lectures/_config.yml#L71
# https://jupyterbook.org/en/stable/content/math.html
sphinx:
  config:
    mathjax_path: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js


parse:
  myst_enable_extensions:
    - amsmath
    - colon_fence
    - dollarmath
    - linkify 
    - substitution

  
#https://jupyterbook.org/en/latest/advanced/sphinx.html
sphinx:
  config:
    mathjax_config:
      tex:
        macros:
          "argmax": "arg\\,max"
          "argmin": "arg\\,min"
          "covMat": "\\boldsymbol{\\Sigma}"
          "data": "\\mathcal{D}"
          "defeq": "\\triangleq"
          "diag": "\\mathrm{diag}"
          "discreteState": "s"
          "dotstar": "\\odot"
          "floor": ["\\lfloor#1\\rfloor", 1]
          "gainMatrix": "\\mathbf{K}"
          "gainMatrixReverse": "\\mathbf{G}"
          "gauss": "\\mathcal{N}"
          "gaussInfo": "\\mathcal{N}_{\\text{info}}"
          "hidden": "\\mathbf{x}"
          "hiddenScalar": "x"
          "hmmInit": "\\boldsymbol{\\pi}"
          "hmmInitScalar": "\\pi"
          "hmmObs": "\\mathbf{B}"
          "hmmObsScalar": "B"
          "hmmTrans": "\\mathbf{A}"
          "hmmTransScalar": "A"
          "infoMat": "\\precMat"
          "input": "\\mathbf{u}"
          "inputs": "\\input"
          "inv": ["{#1}^{-1}", 1]
          "keyword": ["\\textbf{#1}", 1]
          "initMean": "\\boldsymbol{\\mean}_0"
          "initCov": "\\boldsymbol{\\covMat}_0"
          "ldsObs": "\\mathbf{H}"
          "ldsObsIn": "\\mathbf{D}"
          "ldsTrans": "\\mathbf{F}"
          "ldsTransIn": "\\mathbf{B}"
          "obsCov": "\\mathbf{R}"
          "obsNoise": "\\boldsymbol{r}"
          "map": "\\mathrm{map}"
          "measurementFn": "\\mathbf{h}"
          "mean": "\\boldsymbol{\\mu}"
          "mle": "\\mathrm{mle}"
          "nlatents": "n_x"
          "nhidden": "\\nlatents"
          "ninputs": "n_u"
          "nobs": "n_y"
          "nsymbols": "n_y"
          "nstates": "n_s"
          "obs": "\\mathbf{y}"
          "obsScalar": "y"
          "observed": "\\obs"
          "obsFn": "\\measurementFn"
          "params": "\\boldsymbol{\\theta}"
          "precMean": "\\boldsymbol{\\eta}"
          "precMat": "\\boldsymbol{\\Lambda}"
          "real": "\\mathbb{R}"
          "sigmoid": "\\sigma"
          "softmax": "\\boldsymbol{\\sigma}"
          "trans": "\\mathsf{T}"
          "transpose": ["{#1}^{\\trans}", 1]
          "transCov": "\\mathbf{Q}"
          "transFn": "\\mathbf{f}"
          "transNoise": "\\mathbf{q}"
          "valpha": "\\boldsymbol{\\alpha}"
          "vbeta": "\\boldsymbol{\\beta}"
          "vdelta": "\\boldsymbol{\\delta}"
          "vepsilon": "\\boldsymbol{\\epsilon}"
          "vlambda": "\\boldsymbol{\\lambda}"
          "vLambda": "\\boldsymbol{\\Lambda}"
          "vmu": "\\boldsymbol{\\mu}"
          "vpi": "\\boldsymbol{\\pi}"
          "vsigma": "\\boldsymbol{\\sigma}"
          "vSigma": "\\boldsymbol{\\Sigma}"
          "vone": "\\boldsymbol{1}"
          "vzero": "\\boldsymbol{0}"
    
