Welcome to Randal Douc's wiki

A collaborative site on maths but not only!

User Tools

Site Tools


world:raccourcis

List of useful shortcuts and tricks

Clavier Mx keys mini

  • Si le clavier clignote, taper Fn echap.

Essentiel

Brave

  • Ctrl shift O: liste des favoris…

Tig

  • tig puis s pour voir le statut puis ! devant le fichier changé pour retrouver l'ancienne version

Python

  • Pour séparer les cellules, insérer
     #%% 
  • a.shape: pour avoir la dimension du tableau a
  • plt.clf(): effacer figure
  • plt.savefig(): sauver une figure
  • plt.close(): fermer une figure.

Python et Emacs

  • M-x imenu: pour avoir la liste des fonctions définies.
  • M-x occur: pour chercher facilement les occurences…
  • M-o: indentation.
  • Ctrl-c Ctrl-d: documentation (aide)
  • Ctrl-c Ctrl-z: switcher interpreteur-file (commencer par ca pour lancer l'interpreteur python)
  • Ctrl-e: apres avoir sélectionné du texte, l'envoie dans l'interpreteur.
  • Apres avoir fait un remplacement dans une partie selectionnée, on perd la sélection. Pour la retrouver, il suffit d'écrire M x exchange-point-and-mark

Jupyter et Emacs

  • M-x indent-rigidly: puis fleche a gauche ou droite.
  • Execute Cell: C-c C-c
  • Execute Cell & Go to Next: M-RET
  • New Cell Above: C-c C-a
  • New Cell Below: C-c C-b
  • Merge Cell: C-c Enter
  • Split Cell: C-c C-s
  • Kill Cell: C-c C-k
  • Toggle Cell Type: C-c C-t
  • Change Cell Type: C-c C-u
  • Save Workbook: C-x C-s
  • Discard Cell Output: C-c C-l
  • Start Jupyter Server: M-x ein:jupyter-server-start
  • Stop Jupyter Server: M-x ein:jupyter-server-stop

Latex

  • Pour avoir un argmax avec un $\theta \in \Theta$ bien en dessous, il suffit d'ecrire
    1. \let\argmax\relax
    2. \DeclareMathOperator*{\argmax}{arg\,max}
  • Ou bien \argmax\limits{\theta \in \Theta}
  • Package enumitem:
    • \begin{enumerate}[resume] pour reprendre la numérotation là où on l'avait laissé.
    • \begin{enumerate}[label=(\roman*)]
    • on peut remplacer \roman*(i,ii) par \alph*(a,b) ou \arabic* (1,2)

Vs Code

  • Ctrl K S: affiche tous les raccourcis.
  • Ctrk K Q: va à la dernière édition.
  • Ctrl <: va à la dernière modif
  • Ctrl >: va à la modif suivante
  • Ctrl H Alt L: remplacer dans une selection.
  • Ctrl Espace: afficher suggestions.
  • Ctrl B : afficher/cacher le panneau latéral

Installer l'extension bookmarks puis

  • Ctrl alt k: mettre un bookmark
  • Ctrl alt l: aller au bookmark suivant
  • Ctrl alt j: aller au bookmark precedent
  • Pour les Settings en fichier Json, voir tout en bas de la page

Sumatra

  • Ctrl B: pour bookmarker
  • Dans option pour reverse search avec VS code, écrire: “C:\Users\douc_ran\AppData\Local\Programs\Microsoft VS Code\Code.exe” -g “%f:%l”

Dokuwiki

  • Titre de meme niveau: alt + shift + 8
  • Titre de niveau inférieur: alt + shift + 9
  • Ctrl+enter: pour sauver.

Git et Notebook

Pour utiliser Git et Notebook, il faut d'abord s'assurer qu'au moment Git push on n'inclue pas les outputs, ce qui permet d'eviter les conflits… Il y a le module nbstripout qui permet de faire ca automatiquement. Si on a pas encore installé nbstripout, faire le 1. Sinon, on passe directement à l'étape 2.

  1. Installation de nbstripout. Pour installer module nbstripout
    • dans python,
      python3.10 -m pip install --upgrade nbstripout 
    • si on a conda: conda install -c conda-forge nbstripout
  2. Une fois nbstripout installé. Ouvrir Anaconda prompt. A partir d'Anaconda Prompt, se placer dans le répertoire Git où figure le notebook et taper
nbstripout --install --attributes .gitattributes 
  • 3. En cas de conflits. Pour gérer les conflits (qui peuvent apparaitre dans les cellules markdowns ou dans les cellules de code), le mieux est d'utiliser: jupyter lab pour qui permet de gérer les conflits dans les notebooks. Pour plus d'infos pour gérer Git dans les notebooks, cliquer ici

Git

  • Voir les branches locales: git branch
  • Voir toutes les branches locales et distantes: git branch -a
  • Passer d'une branche a l autre: git checkout nom-de-la-branche
  • Pour créer une branche: git branch nomDeBranche
  • Pour detruire une branche locale: git branch -d branchADetruire
  • Si une branche est crée a distance et qu'on veut la recuperer…
    • git checkout nom-branche

Chrome

  • Pour revenir sur une page dans chrome: alt+fleche gauche (page precedente) ou droite (page suivante)
  • Sur vi, pour faire la touche esc, faire Alt+espace

Termux

  • Pour installer un package latex: tlmgr install nom_package
  • Pour chercher dans quel package se trouve bidule.sty
    • tlmgr search –global –file bidule.sty
  • texhash: reconstruire tout l index avec les nouveaux package installés
  • fmtutil-sys –all: reconstruire tous les fmt
  • sudo apt-get install texlive- : si on veut tout installer
  • tmux pour appeler tmux
  • Pour changer de panel sous tmux: C-b right or left arrow.
  • C-b x pour killer un panel
  • C-b % pour ouvrir un panel vertical
  • C-b `` pour ouvrir un panel horizontal
  • cd - pour aller a un repertoire precedent
  • En cas de pb avec OpenSSL (mismatch): pkg install openssh
  • Pour mettre tmux par defaut

if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi fi

Emacs

Convention de notation: C pour Ctrl et M pour Alt

  • C-x h: tout sélectionner
  • C-x 0: tuer la mini-fenetre courante
  • C-x 1: tuer les autres minifenetre et garder la fenetre courange
  • C-x 2: creer une mini fenetre
  • C-x o: switcher d'une mini-fenetre à l'autre.
  • C-_: undo
  • C-u C-x=: permet de voir la font et de la changer de couleur
  • M-X customize-face: est plus direct pour voir la font et la changer…
  • C-space C-space: pose une marque invisible
  • C-u C-space: pour y revenir
  • pour poser la marque M s ou bien C space. Pour echanger la marque C x C x.
  • Pour selectionner tout le paragraphe, M h.
  • pour aller au tout debut du fichier M < et pour aller a la toute fin du fichier M >
  • pour effacer de la position courante jusqu au caractere 'x', il faut ecrire M z 'x'
  • pour commencer un environnment C-c C-e
  • pour commenter et decommenter: M-;
  • pour aller a la table des matieres C-c =
  • Pour ouvrir et fermer les accolades, M-espace
  • Pour ouvrir et fermer une equation, on fait M-p
  • Pour ouvrir et fermer crochets, on fait M-n
  • Pour voir la liste des fichiers recents, on fait M-m
  • Pour vérifier les accolades, on fait F12 ou C-)
  • C-c ( pour insérer un label
  • C-c ) + Enter + Space pour inserer une reference
  • C-c [ pour entrer une citation
  • C-c _ pour entrer le nom d un master file
  • C-c = pour aller a la table des matieres
  • C-t: aller a la fin du fichier
  • C-i: aller au debut du fichier
  • M-*: accolade apres avoir selectionne le texte

Elpy (Python in Emacs)

Sur Emacs

  • C-d: pour voir les help des fonctions.
  • C-c C-z: pour aller dans le python et inversement.
  • M-.: on se place sur une fonction, on ecrit le raccourci clavier et ca va sur la définition de la fonction.

Dans le shell interpreter

  • M-p: move backward (derniere opération)
  • M_n: move forward

Code python

  • Programme pour changer les dollars et doubles dollars en antislash parenthese ou crochet
format.py
import re
 
def replace_symbols(source_file, destination_file):
    try:
        with open(source_file, 'r') as source:
            with open(destination_file, 'w') as destination:
                content = source.read()
 
              # Remplacer les parties entre double dollars (comme $$...$$) par leurs équivalents \[...\]
                content = re.sub(r'\$\$(.*?)\$\$', r'\\[\1\\]', content, flags=re.DOTALL)
              # Remplacer les parties entre dollars (comme $...$) par leurs équivalents \(...\)
                content = re.sub(r'\$(.*?)\$', r'\\(\1\\)', content, flags=re.DOTALL)
 
 
                destination.write(content)
 
    except FileNotFoundError:
        print("Fichier source non trouvé.")
    except Exception as e:
        print("Une erreur est survenue :", str(e))
    else:
        print("Remplacement terminé avec succès!")
 
# Exemple d'utilisation
source_file = "exos.tex"
destination_file = "sortie.tex"
replace_symbols(source_file, destination_file)

settings.json pour VsCode

settings.json
{
    // "latex-workshop.synctex.synctexjs.enabled": true,
    "latex-workshop.synctex.afterBuild.enabled": true,
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    "security.workspace.trust.untrustedFiles": "open",
    "latex-workshop.view.pdf.zoom": "page-width",
    "editor.wordWrap": "on",
    "latex-workshop.view.pdf.tab.editorGroup": "below",
    "editor.bracketPairColorization.enabled": true,
    "latex-workshop.message.update.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.information.show": false,
    "git.confirmSync": false,
    "git.untrackedChanges": "hidden",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "workbench.editorAssociations": {
        "*.ipynb": "jupyter-notebook"
    },
    "notebook.cellToolbarLocation": {
        "default": "right",
        "jupyter-notebook": "left"
    },
    "python.defaultInterpreterPath": "C:\\Users\\douc_ran\\Anaconda3\\python.exe",
    "mdmath.macroFile": "C:\\Users\\douc_ran\\OneDrive\\mymacros.json",
    "editor.fontSize": 11,
    "editor.suggest.showStatusBar": true,
    "editor.suggest.insertMode": "insert",
    "markdown.extension.katex.macros": {
    "\\PP": "\\mathbb{P}"
    },
    "window.zoomLevel": 1,
    "latex-workshop.view.pdf.external.synctex": {
        "command": "C:\\Users\\douc_ran\\AppData\\Local\\SumatraPDF",
        "args": [
            "-forward-search",
            "%TEX%",
        "%LINE%",
        "-reuse-instance",
        "-inverse-search",
            "code \"C:\\Users\\douc_ran\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\outcli.js\" -r -g \"%f:%l\"",
        "%PDF%",
        ]
    },
    "[python]": {
        "editor.formatOnType": true
    },
    "git.openRepositoryInParentFolders": "always",
    "lightrun.certificatePinningList": [
        "515a630cfd1fb908e30087bcc20b7413ad146b9bf2b23d3aaa72c28e45b24fb2",
        "ee80811b38e7e6c2dc4cc372cbea86bd86b446b012e427f2e19bf094afba5d12"
    ],
    "lightrun.serverURL": "https://app.lightrun.com",
    "lightrun.sendSourceFullPath": true,
    "git-graph.maxDepthOfRepoSearch": 1,
    "git.autofetch": true,
    "jupyter.interactiveWindow.creationMode": "perFile",
    "latex-workshop.latex.recipes": [
        {
          "name": "latexmk",
          "tools": [
            "latexmk"
          ]
        },
        {
            "name": "latex-dvi-ps-pdf",
            "tools": [
              "latex",
              "dvips",
              "ps2pdf"
            ]
          },
        {
            "name": "pdflatex",
            "tools": [
              "pdflatex"
            ]
        },
    ],
    "latex-utilities.liveReformat.snippets": [
        {
            "prefix": "([A-Za-z}\\)\\]])(\\d)$",
            "body": "$1_$2",
            "mode": "maths",
            "triggerWhenComplete": true,
            "description": "auto subscript"
        },
        {
            "prefix": "([A-Za-z}\\)\\]]) ?_(\\d\\d)$",
            "body": "$1_{$2}",
            "mode": "maths",
            "triggerWhenComplete": true,
            "description": "auto escape subscript"
        },
        {
            "prefix": "(\\S) ([\\^_])$",
            "body": "$1$2",
            "mode": "maths",
            "triggerWhenComplete": true,
            "description": "remove extraneous sub/superscript space",
            "priority": 2
        },
        {
            "prefix": "([A-Za-z}\\)\\]]) ?\\^ ?(\\d\\d|[\\+\\-] ?(?:\\d|[A-Za-z]|\\\\\\w+))$",
            "body": "$1^{$2}",
            "mode": "maths",
            "triggerWhenComplete": true,
            "description": "auto escape superscript",
            "priority": 2
        },
        {
            "prefix": "([^ &\\\\\\+\\-=<>\\|!~@])([\\+\\-=<>])$",
            "body": "$1 $2",
            "mode": "maths",
            "priority": -1,
            "description": "whitespace before operators",
            "triggerWhenComplete": true
        },
        {
            "prefix": "([\\+\\-=<>])([^ &\\\\\\+\\-=<>\\|!~])$",
            "body": "$1 $2",
            "mode": "maths",
            "priority": -1,
            "description": "whitespace after operators",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\.\\.\\.$",
            "body": "\\dots ",
            "mode": "maths",
            "description": "⋯",
            "triggerWhenComplete": true
        },
        {
            "prefix": "=>$",
            "body": "\\implies ",
            "mode": "maths",
            "description": "⇒",
            "triggerWhenComplete": true
        },
        {
            "prefix": "=<$",
            "body": "\\impliedby ",
            "mode": "maths",
            "description": "implied by",
            "triggerWhenComplete": true
        },
        {
            "prefix": "//$",
            "body": "\\frac{$$1}{$$2} ",
            "mode": "maths",
            "description": "fraction (empty)",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(([\\d\\.]+)|([\\d\\.]*)(\\\\)?([A-Za-z]+)((\\^|_)(\\{\\d+\\}|\\d|[A-Za-z]|\\\\\\w+))*!?)\\/$",
            "body": "\\frac{$1}{$$1}$$0",
            "mode": "maths",
            "description": "fraction (from regex)",
            "triggerWhenComplete": true
        },
        {
            "prefix": "([\\)\\]}]) ?/$",
            "body": "SPECIAL_ACTION_FRACTION",
            "mode": "maths",
            "description": "fraction (parsed)",
            "triggerWhenComplete": true,
            "noPlaceholders": false
        },
        {
            "prefix": "sympy$",
            "body": "sympy $$1 sympy",
            "mode": "maths",
            "description": "sympy block",
            "triggerWhenComplete": false
        },
        {
            "prefix": "sympy.+$",
            "body": "SPECIAL_ACTION_BREAK",
            "mode": "maths",
            "triggerWhenComplete": true,
            "priority": 2
        },
        {
            "prefix": "sympy ?(.+?) ?sympy ?$",
            "body": "SPECIAL_ACTION_SYMPY",
            "mode": "maths",
            "priority": 3,
            "description": "sympy",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])\\biff$",
            "body": "$1\\iff ",
            "mode": "maths",
            "description": "⇔",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])\\binn$",
            "body": "$1\\in ",
            "mode": "maths",
            "description": "in",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])\\bnotin$",
            "body": "$1\\not\\in ",
            "mode": "maths",
            "description": "∈",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?!=$",
            "body": " \\neq ",
            "mode": "maths",
            "description": "neq",
            "triggerWhenComplete": true
        },
        {
            "prefix": "==$",
            "body": "&= ",
            "mode": "maths",
            "description": "aligned equal",
            "priority": 1,
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?~=$",
            "body": " \\approx ",
            "mode": "maths",
            "description": "≈",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?~~$",
            "body": " \\sim ",
            "mode": "maths",
            "description": "∼",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?>=$",
            "body": " \\geq ",
            "mode": "maths",
            "description": "≥",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?<=$",
            "body": " \\leq ",
            "mode": "maths",
            "description": "≤",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?>>$",
            "body": " \\gg ",
            "mode": "maths",
            "description": "≫",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?<<$",
            "body": " \\ll ",
            "mode": "maths",
            "description": "≪",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?xx$",
            "body": " \\times ",
            "mode": "maths",
            "description": "×",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?\\*\\*$",
            "body": " \\cdot ",
            "mode": "maths",
            "description": "⋅",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\]\\b|[ ,\\)\\]\\}]\\w*)(to|->)$",
            "body": "$1\\to ",
            "mode": "maths",
            "description": "→",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?(?:\\|->|!>)$",
            "body": " \\mapsto ",
            "mode": "maths",
            "description": "↦",
            "priority": 1.1,
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])a(?:rc)?(sin|cos|tan|cot|csc|sec)$",
            "body": "$1\\arc$2 ",
            "mode": "maths",
            "description": "arc(trig)",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])(sin|cos|tan|cot|csc|sec|min|max|log|exp)$",
            "body": "$1\\$2 ",
            "mode": "maths",
            "description": "un-backslashed operator",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])(pi)$",
            "body": "$1\\$2",
            "mode": "maths",
            "description": "pi",
            "triggerWhenComplete": true
        },
        {
            "prefix": "((?:\\b|\\\\)\\w{1,7})(,\\.|\\.,)$",
            "body": "\\vec{$1}",
            "mode": "maths",
            "description": "vector",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(\\\\?[\\w\\^]{1,7})~ $",
            "body": "\\tilde{$1}",
            "mode": "maths",
            "description": "tilde",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(\\\\?[\\w\\^]{1,7})\\. $",
            "body": "\\dot{$1}",
            "mode": "maths",
            "description": "dot",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(\\\\?[\\w\\^]{1,7})\\.\\. $",
            "body": "\\ddot{$1}",
            "mode": "maths",
            "description": "ddot",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bbar$",
            "body": "\\overline{$$1}",
            "mode": "maths",
            "description": "overline",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\b(\\\\?[\\w\\^{}]{1,3})bar$",
            "body": "\\overline{$1}",
            "mode": "maths",
            "description": "overline",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])\\bhat$",
            "body": "$1\\hat{$$1}",
            "mode": "maths",
            "description": "hat",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\b([\\w\\^{}])hat$",
            "body": "\\hat{$1}",
            "mode": "maths",
            "description": "hat",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\\\\\)(\\w)$",
            "body": "\\) $1",
            "mode": "any",
            "description": "space after inline maths",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\\\\\\\\\\\$",
            "body": "\\setminus ",
            "mode": "maths",
            "description": "∖ (setminus)",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bpmat$",
            "body": "\\begin{pmatrix} $$1 \\end{pmatrix} ",
            "mode": "maths",
            "description": "pmatrix",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bbmat$",
            "body": "\\begin{bmatrix} $$1 \\end{bmatrix} ",
            "mode": "maths",
            "description": "bmatrix",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bpart$",
            "body": "\\frac{\\partial $${1:V}}{\\partial $${2:x}} ",
            "mode": "maths",
            "description": "partial derivative",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bsq$",
            "body": "\\sqrt{$$1}",
            "mode": "maths",
            "description": "√",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?sr$",
            "body": "^2",
            "mode": "maths",
            "description": "²",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?cb$",
            "body": "^3",
            "mode": "maths",
            "description": "³",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bEE$",
            "body": "\\exists ",
            "mode": "maths",
            "description": "∃",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bAA$",
            "body": "\\forall ",
            "mode": "maths",
            "description": "∀",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\b([A-Za-z])([A-Za-z])\\2$",
            "body": "$1_$2",
            "mode": "maths",
            "description": "subscript letter",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\b([A-Za-z])([A-Za-z])\\2?p1$",
            "body": "$1_{$2+1}",
            "mode": "maths",
            "description": "subscript letter + 1",
            "priority": 2,
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bdint$",
            "body": "\\int_{$${1:-\\infty}}^{$${2:\\infty}} ",
            "mode": "maths",
            "description": "∫ₐᵇ",
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])  $",
            "body": "$1\\, ",
            "mode": "maths",
            "description": "add maths whitespace \\,",
            "priority": -1,
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])\\\\, {2,4}$",
            "body": "$1\\: ",
            "mode": "maths",
            "description": "add maths whitespace \\:",
            "priority": 0.1,
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])\\\\: {2,4}$",
            "body": "$1\\; ",
            "mode": "maths",
            "description": "add maths whitespace \\;",
            "priority": 0.2,
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])\\\\; {2,4}$",
            "body": "$1\\ ",
            "mode": "maths",
            "description": "add maths whitespace \\ ",
            "priority": 0.3,
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])\\\\ {2,4}$",
            "body": "$1\\quad ",
            "mode": "maths",
            "description": "add maths whitespace quad",
            "priority": 0.4,
            "triggerWhenComplete": true
        },
        {
            "prefix": "([^ \\\\])\\\\quad {2,4}$",
            "body": "$1\\qquad ",
            "mode": "maths",
            "description": "add maths whitespace qquad",
            "priority": 0.5,
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bset$",
            "body": "\\\\{$$1\\\\} ",
            "mode": "maths",
            "description": "set {}",
            "triggerWhenComplete": true
        },
        {
            "prefix": " ?\\|\\|$",
            "body": " \\mid ",
            "mode": "maths",
            "description": "∣",
            "triggerWhenComplete": true
        },
        {
            "prefix": "< ?>$",
            "body": "\\diamond ",
            "mode": "maths",
            "description": "⋄",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\bcase$",
            "body": "\\begin{cases} $$1 \\end{cases} ",
            "mode": "maths",
            "description": "cases",
            "triggerWhenComplete": true
        },
        {
            "prefix": "(^|[^\\\\])\\bst$",
            "body": "$1\\text{s.t.} ",
            "mode": "maths",
            "description": "such that",
            "triggerWhenComplete": true
        },
        {
            "prefix": "\\+ ?-$",
            "body": "\\pm ",
            "mode": "maths",
            "description": "±",
            "priority": 1,
            "triggerWhenComplete": true
        },
        {
            "prefix": "- ?\\+$",
            "body": "\\mp ",
            "mode": "maths",
            "description": "∓",
            "priority": 1,
            "triggerWhenComplete": true
        },
        {
            "prefix": "(?:([A-Za-z0-9]|\\\\\\w{,7})|\\(([^\\)]+)\\))C(?:([A-Za-z0-9]|\\\\\\w{,7})|\\(([^\\)]+)\\))$",
            "body": "\\binom{$1$2}{$3$4}",
            "mode": "maths",
            "priority": 2,
            "description": "binomial",
            "triggerWhenComplete": true
        }
    ],
    "editor.minimap.enabled": false,
    "redhat.telemetry.enabled": false,
    "spellright.language": [
        "fr"
    ],
    "spellright.documentTypes": [
        "markdown",
        "plaintext"
    ],
    "interactiveWindow.executeWithShiftEnter": true,
    "lightrun.deploymentName": "default",
    "files.autoSave": "afterDelay"
 
}
world/raccourcis.txt · Last modified: 2024/10/17 18:12 by rdouc