mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-31 04:57:57 +00:00
d117f30281
I've also changed the target of zsh to its appropriate location according to the XDG Base Directory specs so that's neat.
1192 lines
24 KiB
Plaintext
1192 lines
24 KiB
Plaintext
global !p
|
|
texMathZones = ['texMathZone'+x for x in ['A', 'AS', 'B', 'BS', 'C', 'CS', 'D', 'DS', 'E', 'ES', 'F', 'FS', 'G', 'GS', 'H', 'HS', 'I', 'IS', 'J', 'JS', 'K', 'KS', 'L', 'LS', 'DS', 'V', 'W', 'X', 'Y', 'Z']]
|
|
|
|
texIgnoreMathZones = ['texMathText']
|
|
|
|
texMathZoneIds = vim.eval('map('+str(texMathZones)+", 'hlID(v:val)')")
|
|
texIgnoreMathZoneIds = vim.eval('map('+str(texIgnoreMathZones)+", 'hlID(v:val)')")
|
|
|
|
ignore = texIgnoreMathZoneIds[0]
|
|
labelPrefix = "!"
|
|
|
|
def math():
|
|
synstackids = vim.eval("synstack(line('.'), col('.') - (col('.')>=2 ? 1 : 0))")
|
|
try:
|
|
first = next(
|
|
i for i in reversed(synstackids)
|
|
if i in texIgnoreMathZoneIds or i in texMathZoneIds
|
|
)
|
|
return first != ignore
|
|
except StopIteration:
|
|
return False
|
|
|
|
|
|
def smart_space(next_str, auto_str=" ", loose=False):
|
|
next_word = ""
|
|
|
|
if next_str:
|
|
if loose == True:
|
|
next_word = auto_str
|
|
elif next_str[0] in [",", ".", "-", "!", "?", " "]:
|
|
next_word = auto_str
|
|
|
|
return next_word
|
|
|
|
def add_variable_numbers(*inputs, **kwargs):
|
|
absolute = kwargs.pop("absolute", False)
|
|
total = 0
|
|
|
|
for t in inputs:
|
|
try:
|
|
i = int(t)
|
|
if absolute is True:
|
|
total += abs(i)
|
|
else:
|
|
total += i
|
|
except ValueError:
|
|
continue
|
|
|
|
return total
|
|
|
|
endglobal
|
|
|
|
snippet template "Main template (that should work without relying with style files)" bi
|
|
\documentclass[class=memoir, crop=false, oneside, 14pt]{standalone}
|
|
|
|
% all of the packages to be used
|
|
\usepackage[nocomments]{standalone}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage{fontawesome}
|
|
\usepackage[english]{babel}
|
|
\usepackage[rgb]{xcolor}
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\usepackage{amsthm}
|
|
\usepackage{tikz}
|
|
\usepackage{pgfplots}
|
|
\usepackage{fancyhdr}
|
|
\usepackage{minted}
|
|
\usepackage[most]{tcolorbox}
|
|
\usepackage[colorlinks=true, linkcolor=., urlcolor=blue]{hyperref}
|
|
\usepackage{kpfonts}
|
|
|
|
% using the fancy header package
|
|
% http://linorg.usp.br/CTAN/macros/latex/contrib/fancyhdr/fancyhdr.pdf
|
|
\pagestyle{fancy}
|
|
|
|
% fill the header with the format
|
|
\fancyhead[L]{\doctitle}
|
|
\fancyhead[R]{\nouppercase{\rightmark}}
|
|
|
|
% fill the footer with the format
|
|
\fancyfoot[C]{\nouppercase{\leftmark}}
|
|
\fancyfoot[R]{\thepage}
|
|
|
|
% set the width of the horizontal bars in the header
|
|
\renewcommand{\headrulewidth}{2pt}
|
|
\renewcommand{\footrulewidth}{1pt}
|
|
|
|
% set the paragraph formatting
|
|
\renewcommand{\baselinestretch}{1.35}
|
|
|
|
% set chapter style
|
|
\chapterstyle{bianchi}
|
|
|
|
% set chapter spacing for easier reading on digital screen
|
|
\setlength{\beforechapskip}{-\beforechapskip}
|
|
|
|
% document metadata
|
|
\author{${1:"Gabriel Arazas"}}
|
|
\title{${2:"New Title"}}
|
|
\date{`!p
|
|
`}
|
|
|
|
\begin{document}
|
|
% Frontmatter of the class note if it's compiled standalone
|
|
\renewcommand{\abstractname}{Summary}
|
|
\maketitle
|
|
\newpage
|
|
|
|
\frontmatter
|
|
\chapter{Preface}
|
|
$3
|
|
\newpage
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\listoffigures
|
|
\newpage
|
|
|
|
\mainmatter
|
|
% Core content (HINT: always start with chapter LaTeX tag)
|
|
|
|
$0
|
|
\end{document}
|
|
endsnippet
|
|
|
|
# Document structure tags
|
|
snippet chapter "Chapter element" bi
|
|
\chapter{$1}
|
|
\label{chap!$1}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet section "Section tag" bi
|
|
\section{$1}
|
|
\label{sect!$1}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet subsec "Subsection tag" bi
|
|
\subsection{$1}
|
|
\label{subsect!$1}
|
|
$0
|
|
endsnippet
|
|
|
|
# Common commands
|
|
snippet pack "Use package command" bis
|
|
\usepackage`!p snip.rv=smart_space(t[2], "[",loose=True)`$2`!p snip.rv=smart_space(t[2], "]",loose=True)`{$1}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet letter "Make at letter block" bis
|
|
\makeatletter
|
|
$1
|
|
\makeatother
|
|
$0
|
|
endsnippet
|
|
|
|
snippet label "Create a label" bi
|
|
\label{$1}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet ref "Create a reference for a label" bi
|
|
\ref{${1:<label to be referenced>}} $0
|
|
endsnippet
|
|
|
|
snippet algoref "Quick algorithm reference command" wi
|
|
Algorithm \ref{algo!$1} $0
|
|
endsnippet
|
|
|
|
snippet chapref "Quick chapter reference command" wi
|
|
Chapter \ref{chap!$1} $0
|
|
endsnippet
|
|
|
|
snippet coderef "Quick code reference command" wi
|
|
Code \ref{code!$1} $0
|
|
endsnippet
|
|
|
|
snippet defnref "Quick definition reference command" wi
|
|
Definition \ref{defn!$1} $0
|
|
endsnippet
|
|
|
|
snippet figref "Quick figure reference command" wi
|
|
Figure \ref{fig!$1} $0
|
|
endsnippet
|
|
|
|
snippet listref "Quick list reference command" wi
|
|
List \ref{list!$1} $0
|
|
endsnippet
|
|
|
|
snippet mathref "Quick mathematics reference command" wi
|
|
Equation \ref{math!$1} $0
|
|
endsnippet
|
|
|
|
snippet partref "Quick part reference command" wi
|
|
Part \ref{part!$1} $0
|
|
endsnippet
|
|
|
|
snippet proofref "Quick proof reference command" wi
|
|
Proof \ref{proof!$1} $0
|
|
endsnippet
|
|
|
|
snippet propref "Quick property reference command" wi
|
|
Property \ref{prop!$1} $0
|
|
endsnippet
|
|
|
|
snippet secref "Quick section reference command" wi
|
|
Section \ref{sect!$1} $0
|
|
endsnippet
|
|
|
|
snippet subsecref "Quick subsection reference command" wi
|
|
Subsection \ref{subsect!$1} $0
|
|
endsnippet
|
|
|
|
snippet tabref "Quick table referenece command" wi
|
|
Table \ref{table!$1} $0
|
|
endsnippet
|
|
|
|
snippet theoref "Quick theorem reference command" wi
|
|
Theorem \ref{theorem!$1} $0
|
|
endsnippet
|
|
|
|
snippet foot "Footnote" w
|
|
\footnote{${1:<text>}} $0
|
|
endsnippet
|
|
|
|
# Common environments
|
|
snippet begin "Simple empty environment" bi
|
|
\begin{$1}
|
|
$2
|
|
\end{$1}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet mi "Math mode (inline)" i
|
|
$${1}$`!p smart_space(t[2])`$2
|
|
endsnippet
|
|
|
|
snippet mb "Math block" bi
|
|
\begin{equation*}
|
|
`!p snip.rv=smart_space(t[1], " \label{math!", loose=True)`$1`!p snip.rv=smart_space(t[1], "}", loose=True)`
|
|
$2
|
|
\end{equation*}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet eq "Equation environment for mathematical typesetting" biw
|
|
\begin{equation}
|
|
\label{math!$1}
|
|
$2
|
|
\end{equation}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet subeq "Subequation environment" biw
|
|
\begin{subequations}
|
|
\label{math!$1}
|
|
$2
|
|
\end{subequations}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet align "Align equations environment" biw
|
|
\begin{align}
|
|
$1
|
|
\end{align}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet alignli "Quick align equation with label" biw
|
|
${1:<LHS>} &= ${2:<RHS>} \label{math!$3} \\ $4
|
|
endsnippet
|
|
|
|
snippet gathered "Gathered environment which lets you gather a bunch of equations and assign them under one equation number" bi
|
|
\begin{gathered}
|
|
\label{math!$1}
|
|
$2
|
|
\end{gathered}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet proof "Proof" biw
|
|
\begin{proof}
|
|
\label{proof!$1}
|
|
$2
|
|
\end{proof}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet figure "Figure environment" biw
|
|
\begin{figure}
|
|
\centering
|
|
\label{fig!$1}
|
|
$2
|
|
\caption{${3:$1}}
|
|
\end{figure}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet graph "Quickly make a graph" bi
|
|
\begin{figure}[${1:ht}]
|
|
\centering
|
|
\begin{tikzpicture}
|
|
\begin{axis}[
|
|
xlabel=${2:$x$},
|
|
ylabel=${3:$y$},
|
|
axis lines = middle,
|
|
grid=major,
|
|
axis equal=false,
|
|
tick style={very thick},
|
|
major tick style=thick,
|
|
domain=${4:-10}:${5:10},`!p snip.rv = smart_space(t[6], "\n\t", loose=True)`$6
|
|
]
|
|
\addplot[samples=${7:`!p snip.rv = add_variable_numbers(t[4], t[5], 1, absolute=True)`},$8]{${9:x}};
|
|
\end{axis}
|
|
\end{tikzpicture}
|
|
\caption{$10}
|
|
\label{fig!${11:$10}}
|
|
\end{figure}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet agraph "Quickly plot a graph without considering integers" bi
|
|
\begin{figure}[${1:ht}]
|
|
\centering
|
|
\begin{tikzpicture}
|
|
\begin{axis}[
|
|
xlabel=${2:$x$},
|
|
ylabel=${3:$y$},
|
|
axis lines = middle,
|
|
grid=major,
|
|
axis equal=false,
|
|
tick style={very thick},
|
|
major tick style=thick,
|
|
minor tick num=2,
|
|
domain=${4:-10}:${5:10},`!p snip.rv=smart_space(t[6], "\n\t", loose=True)`$6
|
|
]
|
|
\addplot[samples=${7:`!p snip.rv=add_variable_numbers(t[4], t[5], absolute=True)`}, $8]{${9:x}};
|
|
\end{axis}
|
|
\end{tikzpicture}
|
|
\caption{$10}
|
|
\label{fig!${11:$10}}
|
|
\end{figure}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet graph3 "3D graph from pgfplots package" bi
|
|
\begin{figure}[${1:ht}]
|
|
\centering
|
|
\begin{tikzpicture}
|
|
\begin{axis}[
|
|
xlabel=${2:$x$},
|
|
ylabel=${3:$y$},
|
|
grid=major,
|
|
axis equal=false,
|
|
tick style={very thick},
|
|
major tick style=thick,
|
|
domain=${4:-10}:${5:10},`!p snip.rv = smart_space(t[6], "\n\t", loose=True)`$6
|
|
]
|
|
\addplot3[samples=${7:`!p snip.rv = add_variable_numbers(t[4], t[5], 1, absolute=True)`},$8]{${9:x}};
|
|
\end{axis}
|
|
\end{tikzpicture}
|
|
\caption{$10}
|
|
\label{fig!${11:$10}}
|
|
\end{figure}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet plot "Add a plot line" i
|
|
\addplot[domain=$1:$2, samples=${3:`!p snip.rv=add_variable_numbers(t[1], t[2], 1, absolute=True)`}]`!p snip.rv=smart_space(t[4], ", ")`$4{${5: x}}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet plot3 "Add a 3D plot" i
|
|
\addplot3[domain=$1:$2, samples=${3:`!p snip.rv=add_variable_numbers(t[1], t[2], 1, absolute=True)`}]`!p snip.rv=smart_space(t[4], ", ")`$4{${5:x}}
|
|
$0
|
|
endsnippet
|
|
|
|
# Common mathematical functions and symbols
|
|
# Also take note that most expressions are prepended with 'M' to mean mathematical usage
|
|
snippet === "Equivalent to" iw
|
|
\equiv
|
|
endsnippet
|
|
|
|
snippet ~= "Congruent to" iw
|
|
\cong
|
|
endsnippet
|
|
|
|
snippet ~~ "Approximately equal to" iw
|
|
\approx
|
|
endsnippet
|
|
|
|
snippet p= "Proportional to" iw
|
|
\propto
|
|
endsnippet
|
|
|
|
snippet != "Not equal" iw
|
|
\neq
|
|
endsnippet
|
|
|
|
snippet >= "Greater than or equal to" iw
|
|
\geq
|
|
endsnippet
|
|
|
|
snippet !> "Not greater than" iw
|
|
\ngtr
|
|
endsnippet
|
|
|
|
snippet <= "Less than or equal to" iw
|
|
\leq
|
|
endsnippet
|
|
|
|
snippet !< "Not less than" iw
|
|
\nless
|
|
endsnippet
|
|
|
|
snippet <-- "Precedes symbol" iw
|
|
\prec
|
|
endsnippet
|
|
|
|
snippet =<- "Precedes or equals" iw
|
|
\preceq
|
|
endsnippet
|
|
|
|
snippet !<- "Not precedes" iw
|
|
\nprec
|
|
endsnippet
|
|
|
|
snippet --> "Succeeds symbol" iw
|
|
\succ
|
|
endsnippet
|
|
|
|
snippet =-> "Succeeds or equals" iw
|
|
\succeq
|
|
endsnippet
|
|
|
|
snippet !-> "Not succeeds" iw
|
|
\nsucc
|
|
endsnippet
|
|
|
|
snippet << "Less order than" iw
|
|
\ll
|
|
endsnippet
|
|
|
|
snippet >> "Greater order than" iw
|
|
\gg
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet int "Integral symbol" iw
|
|
\int
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -int "Integral with values" iw
|
|
\int_{${1:<lower bound>}}^{${2:<upper bound}}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet OO "Empty set" iw
|
|
\O
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -sq "Square superscript" iw
|
|
^{2}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -cb "Cube superscript" iw
|
|
^{3}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -- "Superscript" iA
|
|
^{$1}$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet __ "Subscript" iA
|
|
_{$1}$0
|
|
endsnippet
|
|
|
|
snippet ... "Ellipsis" iA
|
|
\ldots
|
|
endsnippet
|
|
|
|
snippet c.. "Centered ellipsis" iw
|
|
\cdots
|
|
endsnippet
|
|
|
|
snippet v.. "Vertical ellipsis" iw
|
|
\vdots
|
|
endsnippet
|
|
|
|
snippet d.. "Diagonal ellipsis" iw
|
|
\ddots
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mbc "Mathematical because symbol" iw
|
|
\because
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mth "Mathematical therefore symbol" iw
|
|
\therefore
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet exp "Expression" iw
|
|
\exp(${1:x}} $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet frac "Fraction" iw
|
|
\frac{${1:<enumerator>}{${2:<denominator}}
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet "-(\d+|\w+) over (\d+|\w+)-" "Quick fraction" riwA
|
|
`!p snip.rv = f"\\frac{{{match.group(1)}}}{{{match.group(2)}}}"`
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet "-(\d+|\w+) / (\d+|\w+)-" "Quick fraction" riwA
|
|
`!p snip.rv = f"\\frac{{{match.group(1)}}}{{{match.group(2)}}}"`
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet "\*" "Quick multiplication binary operator" riA
|
|
\cdot
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet mod "Mod operator (as binary operator)" iw
|
|
\bmod $0
|
|
endsnippet
|
|
|
|
## Common notations
|
|
context "math()"
|
|
snippet sum "Sigma notation symbol" iw
|
|
\sum
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -sum "Sigma notation" iw
|
|
\sum_{${1:<lower bound>}^{${2:<upper bound>}} f(${3:<function expression>})
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet prod "Product notation symbol" iw
|
|
\prod
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -prod "Product notation" iw
|
|
\prod_{${1:<lower bound>}^{${2:upper bound}} f(${3:<function expression>})
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet lim "Limit keyword" iw
|
|
\lim
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet -lim "Limit operator" iw
|
|
\lim\limits_{${1:x \to \infty}}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet ooo "Infinity symbol" iw
|
|
\infty
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet inf "Infinity symbol" iw
|
|
\infty
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet choose "Choose function" iw
|
|
\binom{${1:<range>}}{${2:<N>}}
|
|
$0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet "-(\d+|\w+) choose (\d+|\w+)-" "Quick choose function" riwA
|
|
`!p snip.rv = f"\\binom{{{match.group(1)}}}{{{match.group(2)}}}"`
|
|
$0
|
|
endsnippet
|
|
|
|
## Common sets of numbers
|
|
context "math()"
|
|
snippet SN "Set of natural numbers" iw
|
|
\N
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet SZ "Set of integers" iw
|
|
\Z
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet SQ "Set of rational numbers" iw
|
|
\Q
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet SA "Set of algebraic numbers" iw
|
|
\mathbb{A}
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet SR "Set of real numbers" iw
|
|
\R
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet SC "Set of complex numbers" iw
|
|
\C
|
|
endsnippet
|
|
|
|
## Common mathematical logic symbols
|
|
context "math()"
|
|
snippet Lin "Logical in symbol" iw
|
|
\in
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet L!in "Logical not in symbol" iw
|
|
\notin
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lon "Logical owns symbol" iw
|
|
\ni
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet LSu "Logical set union" iw
|
|
\cup
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet LSi "Logical set interaction" iw
|
|
\cap
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet LSd "Logical set difference" iw
|
|
\setminus
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lex "There exists at least one" iw
|
|
\exists
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lex! "There exists one and only one" iw
|
|
\exists!
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet L!ex "Not exists" iw
|
|
\nexists
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lfa "For all" iw
|
|
\forall
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lor "Logical 'or' symbol" iw
|
|
\lor
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Land "Logical 'and' symbol" iw
|
|
\land
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Lnot "Logical 'not' symbol" iw
|
|
\neg
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet => "Implies" Aiw
|
|
\implies
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet =< "Implied by" Aiw
|
|
\impliedby
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet <=> "If and only if" iw
|
|
\iff
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet iff "If and only if" iw
|
|
\iff
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet (( "Subset" iw
|
|
\subset
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet !( "Not a proper subset" iw
|
|
\not\subset
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet =( "Subset is equal to" iw
|
|
\subseteq
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet !=( "Not a subset of" iw
|
|
\nsubseteq
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet )) "A proper subset of" iw
|
|
\supset
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet !) "Not a proper superset of" iw
|
|
\not\supset
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet =) "A subset of" iw
|
|
\supseteq
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet !=) "Not a superset of" iw
|
|
\nsupseteq
|
|
endsnippet
|
|
|
|
## Common functions
|
|
### Trigonometric functions
|
|
context "math()"
|
|
snippet Msin "Sine function" iw
|
|
\sin`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcos "Cosine function" iw
|
|
\cos`!p smart_space(t[1], "(", loose=True)`$1`!p smart_space(t[1], ")", loose=True)`
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mtan "Tangent function" iw
|
|
\tan`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcsc "Cosecant function" iw
|
|
\csc`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Msec "Secant function" iw
|
|
\sec`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcot "Cotangent function" iw
|
|
\cot`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
### Inverse trigonometric functions
|
|
context "math()"
|
|
snippet M!sin "Inverse sine keyword" iw
|
|
\arcsin`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!cos "Inverse cosine keyword" iw
|
|
\arccos`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!tan "Inverse tangent keyword" iw
|
|
\arctan`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!csc "Inverse cosecant keyword" iw
|
|
\arccsc`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!sec "Inverse secant keyword" iw
|
|
\arcsec`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!cot "Inverse cotangent" iw
|
|
\arccot`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
### Hyperbolic trigonometric functions
|
|
context "math()"
|
|
snippet Msinh "Hyperbolic sine" iw
|
|
\sinh`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcosh "Hyperbolic cosine" iw
|
|
\cosh`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mtanh "Hyperbolic tangent" iw
|
|
\tanh`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcsch "Hyperbolic cosecant" iw
|
|
\operatorname{csch}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Msech "Hyperbolic secant" iw
|
|
\operatorname{sech}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet Mcoth "Hyperbolic cotangent" iw
|
|
\coth`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
### Inverse hyperbolic trigonometric functions
|
|
context "math()"
|
|
snippet M!sinh "Inverse hyperbolic sine" iw
|
|
\operatorname{arsinh}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!cosh "Inverse hyperbolic cosine" iw
|
|
\operatorname{arcosh}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!tanh "Inverse hyperbolic tangent" iw
|
|
\operatorname{artanh}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!csch "Inverse hyperbolic cosecant" iw
|
|
\operatorname{arcsch}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!sech "Inverse hyperbolic secant" iw
|
|
\operatorname{arsech}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet M!coth "Inverse hyperbolic cotangent" iw
|
|
\operatorname{arcoth}`!p snip.rv=smart_space(t[1], "(", loose=True)`$1`!p snip.rv=smart_space(t[1], ")", loose=True)` $0
|
|
endsnippet
|
|
|
|
## Common symbols found in geometry
|
|
snippet Gov "Overline" iw
|
|
\overline{$1}
|
|
endsnippet
|
|
|
|
snippet ----- "Overline" iw
|
|
\overline{$1}
|
|
endsnippet
|
|
|
|
snippet Gra "Right arrow" iw
|
|
\overrightarrow{$1}
|
|
endsnippet
|
|
|
|
snippet ----> "Right arrow" iw
|
|
\overrightarrow{$1}
|
|
endsnippet
|
|
|
|
snippet Gang "Angle symbol" iw
|
|
\angle
|
|
endsnippet
|
|
|
|
snippet Gman "Measured angle symbol" iw
|
|
\measuredangle
|
|
endsnippet
|
|
|
|
snippet Gtri "Triangle" iw
|
|
\triangle
|
|
endsnippet
|
|
|
|
snippet Gpar "Parallel with" iw
|
|
\|
|
|
endsnippet
|
|
|
|
snippet G!par "Not parallel with" iw
|
|
\nparallel
|
|
endsnippet
|
|
|
|
snippet Gper "Perpendicular to" iw
|
|
\perp
|
|
endsnippet
|
|
|
|
snippet G!per "Not perpendicular to" iw
|
|
\not\perp
|
|
endsnippet
|
|
|
|
# Text formatting
|
|
snippet bf "Boldface text" iw
|
|
\textbf{$1}$0
|
|
endsnippet
|
|
|
|
snippet it "Italic text" iw
|
|
\emph{$1}$0
|
|
endsnippet
|
|
|
|
snippet tt "Teletype font" iw
|
|
\texttt{$1}$0
|
|
endsnippet
|
|
|
|
snippet ol "Enumerated list (ordered list)" iw
|
|
\begin{enumerate}
|
|
$1
|
|
\end{enumerate}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet ul "Itemized list (unordered list)" iw
|
|
\begin{itemize}
|
|
$1
|
|
\end{itemize}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet li "List item for the OL/UL lists" iw
|
|
\item{$1}
|
|
$0
|
|
endsnippet
|
|
|
|
context "not math()"
|
|
snippet a "URL links (with description)" iw
|
|
\href{${1:<url>}}{${2:<description>}} $0
|
|
endsnippet
|
|
|
|
context "not math()"
|
|
snippet url "Raw URL link" iw
|
|
\url{${1:<url>}} $0
|
|
endsnippet
|
|
|
|
snippet al "Reference links with label" iw
|
|
\autoref{${1:<label>}}$0
|
|
endsnippet
|
|
|
|
snippet code "Code listings with Minted package" iw
|
|
\begin{minted}
|
|
$3
|
|
\end{minted}
|
|
$0
|
|
endsnippet
|
|
|
|
# This specifically needs the captions and minted with [newfloat] option
|
|
# Please see the below link for references:
|
|
# https://tex.stackexchange.com/a/254177
|
|
snippet lcode "Code listings with label" iw
|
|
\begin{listing}[H]
|
|
\begin{minted}{${1:<language>}}
|
|
$2
|
|
\end{minted}
|
|
`!p snip.rv=smart_space(t[3], "\caption{", loose=True)`$3`!p snip.rv=smart_space(t[3], "}", loose=True)`
|
|
\label{code!${4:$3}}
|
|
\end{listing}
|
|
endsnippet
|
|
|
|
# Greek letters
|
|
context "math()"
|
|
snippet GAA "Uppercase Greek letter alpha" w
|
|
\Alpha
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GAa "Lowercase Greek letter alpha" w
|
|
\alpha
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GBB "Uppercase Greek letter beta" w
|
|
\Beta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GBb "Lowercase Greek letter beta" w
|
|
\beta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GCC "Uppercase Greek letter gamma" w
|
|
\Gamma
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GCc "Lowercase Greek letter gamma" w
|
|
\gamma
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GDD "Uppercase Greek letter delta" w
|
|
\Delta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GDd "Lowercase Greek letter delta" w
|
|
\delta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GEE "Uppercase Greek letter epsilon" w
|
|
\Epsilon
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GEe "Lowercase Greek letter epsilon" w
|
|
\epsilon
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GVEe "Variation Greek letter epsilon" w
|
|
\varepsilon
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GTT "Uppercase Greek letter theta" w
|
|
\Theta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GTt "Lowercase Greek letter theta" w
|
|
\theta
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GLL "Uppercase Greek letter lambda" w
|
|
\Lambda
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GLl "Lowercase Greek letter lambda" w
|
|
\lambda
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPP "Uppercase Greek letter pi" w
|
|
\Pi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPp "Lowercase Greek letter pi" w
|
|
\pi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GVPp "Variation Greek letter pi" w
|
|
\varpi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GSS "Uppercase Greek letter sigma" w
|
|
\Sigma
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GSs "Lowercase Greek letter sigma" w
|
|
\sigma
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPH "Uppercase Greek letter phi" w
|
|
\Phi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPh "Lowercase Greek letter phi" w
|
|
\phi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GVPh "Variation Greek letter phi" w
|
|
\varphi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPS "Uppercase Greek letter psi" w
|
|
\Psi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GPs "Lowercase Greek letter psi" w
|
|
\psi
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GOO "Uppercase Greek letter omega" w
|
|
\Omega
|
|
endsnippet
|
|
|
|
context "math()"
|
|
snippet GOo "Lowercase Greek letter omega" w
|
|
\omega
|
|
endsnippet
|
|
|
|
# Custom commands and environment (for my class notes)
|
|
# Do not use this if you don't have the following packages and
|
|
# does not have my custom document style file:
|
|
# * tcolorbox
|
|
# * xcolor
|
|
# * fontawesome
|
|
snippet dnote "Doc note admonition block" iw
|
|
\begin{-doc-note}
|
|
$1
|
|
\end{-doc-note}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dinfo "Doc info admonition block" iw
|
|
\begin{-doc-info}
|
|
$1
|
|
\end{-doc-info}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dtheo "Doc theorem block" iw
|
|
\begin{-doc-theorem}{${1:<Theorem title>}}{${2:<marker>}}
|
|
$3
|
|
\end{-doc-theorem}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet ddef "Doc definition block" iw
|
|
\begin{-doc-definition}
|
|
`!p snip.rv=smart_space(t[1], " \label{defn!", loose=True)`$1`!p snip.rv=smart_space(t[1], "}", loose=True)`
|
|
$2
|
|
\end{-doc-definition}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dprop "Doc property block" iw
|
|
\begin{-doc-property}
|
|
`!p snip.rv=smart_space(t[1], " \label{prop!", loose=True)`$1`!p snip.rv=smart_space(t[1], "}", loose=True)`
|
|
$2
|
|
\end{-doc-property}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dwarn "Doc warning callout block" iw
|
|
\begin{-doc-warning}
|
|
$1
|
|
\end{-doc-warning}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dcrit "Doc critical callout block" iw
|
|
\begin{-doc-critical}
|
|
$1
|
|
\end{-doc-critical}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet dlist "Doc listings callout block" iw
|
|
\begin{-doc-listing}{${1:<title>}}{${2:<label name>}}{${3:<language>}}
|
|
$4
|
|
\end{-doc-listing}
|
|
endsnippet
|
|
|