From 93ccf4fa9038006e4fe5943d2ee8268572a45f34 Mon Sep 17 00:00:00 2001 From: Juni Kim Date: Sat, 17 Aug 2024 20:03:18 -0400 Subject: [PATCH] tex snippets --- after/plugin/luasnip.lua | 1 + lua/junikim/packer.lua | 4 +- snippets/tex.snippets | 446 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 449 insertions(+), 2 deletions(-) create mode 100644 after/plugin/luasnip.lua create mode 100644 snippets/tex.snippets diff --git a/after/plugin/luasnip.lua b/after/plugin/luasnip.lua new file mode 100644 index 0000000..e835677 --- /dev/null +++ b/after/plugin/luasnip.lua @@ -0,0 +1 @@ +require("luasnip.loaders.from_snipmate").lazy_load() diff --git a/lua/junikim/packer.lua b/lua/junikim/packer.lua index 3877680..6f5afe4 100644 --- a/lua/junikim/packer.lua +++ b/lua/junikim/packer.lua @@ -4,7 +4,7 @@ return require('packer').startup(function(use) -- Packer can manage itself use 'wbthomason/packer.nvim' use { - 'nvim-telescope/telescope.nvim', tag = '0.1.1', + 'nvim-telescope/telescope.nvim', tag = '0.1.4', requires = { { 'nvim-lua/plenary.nvim' } } } use { @@ -46,7 +46,7 @@ return require('packer').startup(function(use) -- Snippets { 'L3MON4D3/LuaSnip' }, -- Required - { 'rafamadriz/friendly-snippets' }, -- Optional + --{ 'rafamadriz/friendly-snippets' }, -- Optional { "jose-elias-alvarez/null-ls.nvim", "jay-babu/mason-null-ls.nvim" }, { "mfussenegger/nvim-dap", "jay-babu/mason-nvim-dap.nvim" } diff --git a/snippets/tex.snippets b/snippets/tex.snippets new file mode 100644 index 0000000..32ed5b3 --- /dev/null +++ b/snippets/tex.snippets @@ -0,0 +1,446 @@ +#version 1 +#PREAMBLE +#documentclass without options +snippet dcl \documentclass{} + \\documentclass{${1:class}} ${0} +#documentclass with options +snippet dclo \documentclass[]{} + \\documentclass[${1:options}]{${2:class}} ${0} + +snippet tmplt "Template" + \\documentclass{${1:article}} + + \\usepackage{import} + \\usepackage{pdfpages} + \\usepackage{transparent} + \\usepackage{xcolor} + $2 + + \\newcommand{\incfig}[2][1]{% + \def\svgwidth{#1\columnwidth} + \import{./figures/}{#2.pdf_tex} + } + $3 + \\pdfsuppresswarningpagegroup=1 + + \\begin{document} + $0 + \\end{document} + +#newcommand +snippet nc \newcommand + \\newcommand{\\${1:cmd}}[${2:opt}]{${3:realcmd}} ${0} +#usepackage +snippet up \usepackage + \\usepackage[${1:options}]{${2:package}} ${0} +#newunicodechar +snippet nuc \newunicodechar + \\newunicodechar{${1}}{${2:\\ensuremath}${3:tex-substitute}}} ${0} +#DeclareMathOperator +snippet dmo \DeclareMathOperator + \\DeclareMathOperator{${1}}{${2}} ${0} + +#DOCUMENT +# \begin{}...\end{} +snippet begin \begin{} ... \end{} block + \\begin{${1:env}} + ${0:${VISUAL}} + \\end{$1} + +# Maketitle +snippet mkt maketitle + \\maketitle + +# Tabular +snippet tab tabular (or arbitrary) environment + \\begin{${1:tabular}}{${2:c}} + ${0:${VISUAL}} + \\end{$1} +snippet thm thm (or arbitrary) environment with optional argument + \\begin[${1:author}]{${2:thm}} + ${0:${VISUAL}} + \\end{$2} +snippet center center environment + \\begin{center} + ${0:${VISUAL}} + \\end{center} +# Align(ed) +snippet ali align(ed) environment + \\begin{align*} + ${0:${VISUAL}} + \\end{align*} +# Gather(ed) +snippet gat gather(ed) environment + \\begin{gather${1:ed}} + ${0:${VISUAL}} + \\end{gather$1} +# Equation +snippet eq equation environment + \\begin{equation} + ${0:${VISUAL}} + \\end{equation} +# Equation +snippet eql Labeled equation environment + \\begin{equation} + \\label{eq:${2}} + ${0:${VISUAL}} + \\end{equation} +# Equation +snippet eq* unnumbered equation environment + \\begin{equation*} + ${0:${VISUAL}} + \\end{equation*} +# Unnumbered Equation +snippet \ unnumbered equation: \[ ... \] + \\[ + ${0:${VISUAL}} + \\] +# Equation array +snippet eqnarray eqnarray environment + \\begin{eqnarray} + ${0:${VISUAL}} + \\end{eqnarray} +# Label +snippet lab \label + \\label{${1:eq:}${2:fig:}${3:tab:}${0}} +# Enumerate +snippet enum enumerate environment + \\begin{enumerate} + \\item ${0} + \\end{enumerate} +snippet enuma enumerate environment + \\begin{enumerate}[(a)] + \\item ${0} + \\end{enumerate} +snippet enumi enumerate environment + \\begin{enumerate}[(i)] + \\item ${0} + \\end{enumerate} +# Itemize +snippet item itemize environment + \\begin{itemize} + \\item ${0} + \\end{itemize} +snippet it \item + \\item ${1:${VISUAL}} +# Description +snippet desc description environment + \\begin{description} + \\item[${1}] ${0} + \\end{description} +# Endless new item +snippet ]i \item (recursive) + \\item ${1} + ${0:]i} +# Matrix +snippet mat smart matrix environment + \\begin{${1:p/b/v/V/B/small}matrix} + ${0:${VISUAL}} + \\end{$1matrix} +# Cases +snippet cas cases environment + \\begin{cases} + ${1:equation}, &\\text{ if }${2:case}\\ + ${0:${VISUAL}} + \\end{cases} +# Split +snippet spl split environment + \\begin{split} + ${0:${VISUAL}} + \\end{split} +# Part +snippet part document \part + \\part{${1:part name}} % (fold)% + \\label{prt:${2:$1}} + ${0} + % part $2 (end) +# Chapter +snippet cha \chapter + \\chapter{${1:chapter name}}% + \\label{cha:${2:$1}} + ${0} +# Section +snippet sec \section + \\section{${1:section name}}% + \\label{sec:${2:$1}} + ${0} +# Section without number +snippet sec* \section* + \\section*{${1:section name}}% + \\label{sec:${2:$1}} + ${0} +# Sub Section +snippet sub \subsection + \\subsection{${1:subsection name}}% + \\label{sub:${2:$1}} + ${0} +# Sub Section without number +snippet sub* \subsection* + \\subsection*{${1:subsection name}}% + \\label{sub:${2:$1}} + ${0} +# Sub Sub Section +snippet ssub \subsubsection + \\subsubsection{${1:subsubsection name}}% + \\label{ssub:${2:$1}} + ${0} +# Sub Sub Section without number +snippet ssub* \subsubsection* + \\subsubsection*{${1:subsubsection name}}% + \\label{ssub:${2:$1}} + ${0} +# Paragraph +snippet par \paragraph + \\paragraph{${1:paragraph name}}% + \\label{par:${2:$1}} + ${0} +# Paragraph* +snippet par* \paragraph* + \\paragraph*{${1:paragraph name}}% + \\label{par:${2:$1}} + ${0} +# Sub Paragraph +snippet subp \subparagraph + \\subparagraph{${1:subparagraph name}}% + \\label{subp:${2:$1}} + ${0} +# Sub Paragraph* +snippet subp* \subparagraph* + \\subparagraph*{${1:subparagraph name}}% + \\label{subp:${2:$1}} + ${0} +snippet ni \noindent + \\noindent + ${0} +#References +snippet itd description \item + \\item[${1:description}] ${0:item} +snippet figure reference to a figure + ${1:Figure}~\\ref{${2:fig:}} +snippet table reference to a table + ${1:Table}~\\ref{${2:tab:}} +snippet listing reference to a listing + ${1:Listing}~\\ref{${2:list}} +snippet section reference to a section + ${1:Section}~\\ref{sec:${2}} ${0} +snippet page reference to a page + ${1:page}~\\pageref{${2}} ${0} +snippet index \index + \\index{${1:index}} ${0} +#Citations +snippet citen \citen + \\citen{${1}} ${0} +# natbib citations +snippet citep \citep + \\citep{${1}} ${0} +snippet citet \citet + \\citet{${1}} ${0} +snippet cite \cite[]{} + \\cite[${1}]{${2}} ${0} +snippet citea \citeauthor + \\citeauthor{${1}} ${0} +snippet citey \citeyear + \\citeyear{${1}} ${0} +snippet fcite \footcite[]{} + \\footcite[${1}]{${2}}${0} +#Formating text: italic, bold, underline, small capital, emphase .. +snippet ita italic text + \\textit{${1:${VISUAL:text}}}${0} +snippet bf bold face text + \\textbf{${1:${VISUAL:text}}}${0} +snippet under underline text + \\underline{${1:${VISUAL:text}}}${0} +snippet over overline text + \\overline{${1:${VISUAL:text}}}${0} +snippet emp emphasize text + \\emph{${1:${VISUAL:text}}}${0} +snippet sc small caps text + \\textsc{${1:${VISUAL:text}}}${0} +#Choosing font +snippet sf sans serife text + \\textsf{${1:${VISUAL:text}}}${0} +snippet rm roman font text + \\textrm{${1:${VISUAL:text}}}${0} +snippet tt typewriter (monospace) text + \\texttt{${1:${VISUAL:text}}}${0} +snippet tsub subscripted text + \\textsubscript{${1:${VISUAL:text}}}${0} +snippet tsup superscripted text + \\textsuperscript{${1:${VISUAL:text}}}${0} +#Math font +snippet mf mathfrak + \\mathfrak{${1:${VISUAL:text}}}${0} +snippet mc mathcal + \\mathcal{${1:${VISUAL:text}}}${0} +snippet ms mathscr + \\mathscr{${1:${VISUAL:text}}}${0} +#misc +snippet ft \footnote + \\footnote{${1:${VISUAL:text}}}${0} +snippet fig figure environment (includegraphics) + \\begin{figure} + \\begin{center} + \\includegraphics[scale=${1}]{Figures/${2}} + \\end{center} + \\caption{${3}} + \\label{fig:${4}} + \\end{figure} + ${0} +snippet tikz figure environment (tikzpicture) + \\begin{figure}[htpb] + \\begin{center} + \\begin{tikzpicture}[scale=${1:1}, transform shape] + ${2} + \\end{tikzpicture} + \\end{center} + \\caption{${3}}% + \\label{fig:${4}} + \\end{figure} + ${0} +snippet subfig subfigure environment + \\begin{subfigure}[${1}]{${2:\\textwidth}} + \\begin{center} + ${3} + \\end{center} + \\caption{${4}} + \\label{fig:${5}} + \\end{subfigure} + ${0} +snippet tikzcd tikzcd environment in equation + \\begin{equation} + \\begin{tikzcd} + ${1} + \\end{tikzcd} + \\end{equation} + ${0} +snippet tikzcd* tikzcd environment in equation* + \\begin{equation*} + \\begin{tikzcd} + ${1} + \\end{tikzcd} + \\end{equation*} + ${0} +#math +snippet stackrel \stackrel{}{} + \\stackrel{${1:above}}{${2:below}} ${0} +snippet frac \frac{}{} + \\frac{${1:num}}{${2:denom}} ${0} +snippet sum \sum^{}_{} + \\sum^{${1:n}}_{${2:i=1}} ${0} +snippet lim \lim_{} + \\lim_{${1:n \\to \\infty}} ${0} +snippet frame frame environment + \\begin{frame}[${1:t}] + \frametitle{${2:title}} + \framesubtitle{${3:subtitle}} + ${0:${VISUAL}} + \\end{frame} +snippet block block environment + \\begin{block}{${1:title}} + ${0:${VISUAL}} + \\end{block} +snippet alert alert text + \\alert{${1:${VISUAL:text}}} ${0} +snippet alertblock alertblock environment + \\begin{alertblock}{${1:title}} + ${0:${VISUAL}} + \\end{alertblock} +snippet example exampleblock environment + \\begin{exampleblock}{${1:title}} + ${0:${VISUAL}} + \\end{exampleblock} +snippet col2 two-column environment + \\begin{columns} + \\begin{column}{0.5\\textwidth} + ${1} + \\end{column} + \\begin{column}{0.5\\textwidth} + ${0} + \\end{column} + \\end{columns} +snippet multicol2 two-column environment with multicol + \\begin{multicols}{2} + ${1} + \columnbreak + ${0} + \\end{multicols} +snippet \{ \{ \} + \\{ ${0} \\} +#delimiter +snippet lr left right + \\left${1} ${0:${VISUAL}} \\right$1 +snippet lr( left( right) + \\left( ${0:${VISUAL}} \\right) +snippet lr| left| right| + \\left| ${0:${VISUAL}} \\right| +snippet lr{ left\{ right\} + \\left\\{ ${0:${VISUAL}} \\right\\} +snippet lr[ left[ right] + \\left[ ${0:${VISUAL}} \\right] +snippet lra langle rangle + \\langle ${0:${VISUAL}} \\rangle +# Code listings +snippet lst + \\begin{listing}[language=${1:language}] + ${0:${VISUAL}} + \\end{listing} +snippet lsi + \\lstinline|${1}| ${0} +# Hyperlinks +snippet url + \\url{${1}} ${0} +snippet href + \\href{${1}}{${2}} ${0} +# URL from Clipboard. +snippet urlc + \\url{`@+`} ${0} +snippet hrefc + \\href{`@+`}{${1}} ${0} +# enquote from package csquotes +snippet enq enquote + \\enquote{${1:${VISUAL:text}}} ${0} +# Time derivative +snippet ddt time derivative + \\frac{d}{dt} {$1} {$0} +# Limit +snippet lim limit + \\lim_{{$1}} {{$2}} {$0} +# Partial derivative +snippet pdv partial derivation + \\frac{\\partial {$1}}{\\partial {$2}} {$0} +# Second order partial derivative +snippet ppdv second partial derivation + \\frac{\\partial^2 {$1}}{\\partial {$2} \\partial {$3}} {$0} +# Ordinary derivative +snippet dv derivative + \\frac{d {$1}}{d {$2}} {$0} +# Summation +snippet summ summation + \\sum_{{$1}} {$0} +# Shorthand for time derivative +snippet dot dot + \\dot{{$1}} {$0} +# Shorthand for second order time derivative +snippet ddot ddot + \\ddot{{$1}} {$0} +# Vector +snippet vec vector + \\vec{{$1}} {$0} +# Bar +snippet bar bar + \\bar{{$1}} {$0} +# Cross product +snippet \x cross product + \\times {$0} +# Dot product +snippet . dot product + \\cdot {$0} +# Integral +snippet int integral + \\int_{{$1}}^{{$2}} {$3} \\: d{$4} {$0} +# Right arrow +snippet ra rightarrow + \\rightarrow {$0} +# Long right arrow +snippet lra longrightarrow + \\longrightarrow {$0}