This is the current config based on other repo
This commit is contained in:
parent
6fc158314a
commit
e40ec2d945
|
@ -0,0 +1,2 @@
|
||||||
|
*.json
|
||||||
|
packer_compiled.lua
|
|
@ -0,0 +1,182 @@
|
||||||
|
# NOTES
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
1. sessions --> hypcause
|
||||||
|
2. adjust screen --> build pdf
|
||||||
|
3. check log
|
||||||
|
4. check index --> hop to section
|
||||||
|
5. go to citation --> vimtex menu
|
||||||
|
6. search all citations --> insert
|
||||||
|
7. explorer --> open TODO
|
||||||
|
8. show autolist in action
|
||||||
|
9. exit vim
|
||||||
|
10. open new session using explorer
|
||||||
|
11. create new document
|
||||||
|
12. use handout template
|
||||||
|
13. build pdf
|
||||||
|
14. use snippets
|
||||||
|
15. use surround
|
||||||
|
16. open explorer to run system open with s
|
||||||
|
17. show result
|
||||||
|
|
||||||
|
### Introduction
|
||||||
|
|
||||||
|
1. new series
|
||||||
|
1. this video will review why use this config
|
||||||
|
2. could skip to features in next video
|
||||||
|
3. writing latex in vim
|
||||||
|
1. TexShop/TexMaker are too simple
|
||||||
|
2. Overleaf
|
||||||
|
1. only slightly better
|
||||||
|
2. not free
|
||||||
|
3. forces you to work in the browser
|
||||||
|
4. but is easy to start with for collaborators
|
||||||
|
5. Papeeria is more free and permits GitHooks
|
||||||
|
3. PDE vs IDE
|
||||||
|
4. why port to lua
|
||||||
|
1. stay up to date with the community
|
||||||
|
2. fast
|
||||||
|
3. lua is better than vimscript
|
||||||
|
5. overview of series
|
||||||
|
1. review features
|
||||||
|
2. installation
|
||||||
|
3. configuration
|
||||||
|
4. how to git (including Papeeria)
|
||||||
|
|
||||||
|
### LaTeX
|
||||||
|
|
||||||
|
1. basics
|
||||||
|
1. sessions
|
||||||
|
2. buffers
|
||||||
|
2. vimtex
|
||||||
|
1. build
|
||||||
|
2. view
|
||||||
|
3. index
|
||||||
|
4. count
|
||||||
|
5. error log
|
||||||
|
6. clean aux
|
||||||
|
3. citations
|
||||||
|
1. citations with vimtex
|
||||||
|
2. citations with telescope
|
||||||
|
3. context menu
|
||||||
|
4. bibannotate
|
||||||
|
5. bibexport
|
||||||
|
|
||||||
|
### New Project
|
||||||
|
|
||||||
|
1. new project
|
||||||
|
2. explorer
|
||||||
|
3. new directory
|
||||||
|
4. new files
|
||||||
|
3. templates
|
||||||
|
4. markdown
|
||||||
|
2. checklist
|
||||||
|
3. numbered list
|
||||||
|
4. bullet list
|
||||||
|
5. save session
|
||||||
|
|
||||||
|
### Snippets and Glossary
|
||||||
|
|
||||||
|
1. snippets
|
||||||
|
2. glossary
|
||||||
|
|
||||||
|
### Surround
|
||||||
|
|
||||||
|
1. surround
|
||||||
|
2. preview symbol
|
||||||
|
|
||||||
|
### Git
|
||||||
|
|
||||||
|
1. lazygit
|
||||||
|
2. navigate git hunks
|
||||||
|
|
||||||
|
### Pandoc
|
||||||
|
|
||||||
|
1. pandoc
|
||||||
|
2. latex -> word
|
||||||
|
5. latex -> markdown
|
||||||
|
3. markdown -> word
|
||||||
|
|
||||||
|
### Bells and Whistles
|
||||||
|
|
||||||
|
1. undo
|
||||||
|
2. find
|
||||||
|
3. yank
|
||||||
|
4. kill lsp
|
||||||
|
5. toggle illuminate
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### basics
|
||||||
|
|
||||||
|
1. brew
|
||||||
|
2. mac keys
|
||||||
|
3. fish
|
||||||
|
4. dependencies
|
||||||
|
5. neovim
|
||||||
|
|
||||||
|
## customise
|
||||||
|
|
||||||
|
1. create fork
|
||||||
|
2. pull config
|
||||||
|
3. edit config
|
||||||
|
4. latex
|
||||||
|
5. zathura
|
||||||
|
|
||||||
|
### zotero
|
||||||
|
|
||||||
|
### git
|
||||||
|
|
||||||
|
1. pulled instead of forked
|
||||||
|
2. pushing changes
|
||||||
|
3. adding SSH
|
||||||
|
4. adding PAT
|
||||||
|
5. pulling onto other computers
|
||||||
|
|
||||||
|
### terminal
|
||||||
|
|
||||||
|
1. alaritty
|
||||||
|
2. tumx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
|
||||||
|
1. basics
|
||||||
|
1. file structure
|
||||||
|
1. init
|
||||||
|
2. options
|
||||||
|
3. keymaps
|
||||||
|
4. plugins
|
||||||
|
2. options
|
||||||
|
3. keymaps
|
||||||
|
1. vim standards
|
||||||
|
2. new additions in cheatsheet
|
||||||
|
3. unmapping
|
||||||
|
4. plugins
|
||||||
|
5. whichkey
|
||||||
|
2. change plugins
|
||||||
|
1. new plugin
|
||||||
|
2. remove plugin
|
||||||
|
3. how to learn about existing plugins
|
||||||
|
4. look up keymaps with <space>fk
|
||||||
|
5. explore help docs which shift+m and <space>fh
|
||||||
|
|
||||||
|
### Git
|
||||||
|
|
||||||
|
1. git basics
|
||||||
|
1. create repo
|
||||||
|
2. add remote
|
||||||
|
3. push changes
|
||||||
|
4. share access
|
||||||
|
1. GitHub
|
||||||
|
2. Papeeria
|
||||||
|
3. Overleaf
|
||||||
|
5. using branches
|
||||||
|
6. merge conflicts
|
||||||
|
7. further information
|
|
@ -0,0 +1,126 @@
|
||||||
|
# TODO
|
||||||
|
|
||||||
|
- [ ] config
|
||||||
|
- [ ] lags
|
||||||
|
- [ ] github issues
|
||||||
|
- [ ] consolidate add-ons
|
||||||
|
- [ ] forks #73
|
||||||
|
- [ ] thesaurus #69
|
||||||
|
- [ ] blacktex #67
|
||||||
|
- [ ] neomutt #65
|
||||||
|
- [ ] cheat sheet #62
|
||||||
|
- [ ] zathura themes #51
|
||||||
|
- [ ] math conceal #48
|
||||||
|
- [ ] latex snippets #47
|
||||||
|
- [ ] format plugin #44
|
||||||
|
- [ ] bare repo #35
|
||||||
|
- [x] .gitignore #77
|
||||||
|
- [x] should I create a personal branch?
|
||||||
|
- [x] exclude local files
|
||||||
|
- [x] close issue
|
||||||
|
- [ ] revise snippets
|
||||||
|
- [ ] check fields
|
||||||
|
- [ ] check tabs
|
||||||
|
- [ ] nvim-tree commands not all working
|
||||||
|
- [ ] indents
|
||||||
|
- [ ] stop indents when adding brackets
|
||||||
|
- [ ] add indents inside enumerate
|
||||||
|
- [ ] test vimtex indent
|
||||||
|
- [ ] tab stops working in insert mode
|
||||||
|
- [ ] can't reproduce: check to see if behaviour returns
|
||||||
|
- [ ] autolist
|
||||||
|
- [ ] move config out of plugins.lua
|
||||||
|
- [x] submitted issue
|
||||||
|
- [ ] move bindings into whichkey
|
||||||
|
- [x] submitted issue
|
||||||
|
- [ ] create empty checkbox
|
||||||
|
- [x] submited issue
|
||||||
|
- [ ] folding
|
||||||
|
- [ ] vertical lines extend through wrapped lines
|
||||||
|
- [x] requires upstream change to nvim
|
||||||
|
- [x] replace <Tab> with <C-j> in cmd and search
|
||||||
|
- [x] add recent mac install tip from issues
|
||||||
|
- [x] toggle lsp: replace kill and load in whichkey with toggle
|
||||||
|
- [x] submitted issue
|
||||||
|
- [x] test suggestion
|
||||||
|
- [x] how to change root directory
|
||||||
|
- [x] do i need project.nvim?
|
||||||
|
- [x] alpha: turn off auto create sessions
|
||||||
|
- [x] created issue
|
||||||
|
- [x] PdfAnnots: convert from vimscript to lua
|
||||||
|
- [x] submitted issue
|
||||||
|
- [x] undo does not work in md after checkmark
|
||||||
|
- [x] autolist causing problems?
|
||||||
|
- [x] auto-recalculate does not work after turning off problem code
|
||||||
|
- [x] WhichKey: checking conflicting keymaps
|
||||||
|
- [x] treesitter only load md and tex
|
||||||
|
- [x] shift-m gives error
|
||||||
|
- [x] indenting
|
||||||
|
- [x] can't get autolist to work
|
||||||
|
- [x] tab stops indenting after one tab
|
||||||
|
- [x] indents on new line in enumerate
|
||||||
|
- [x] adding braces can cause unwanted indentation
|
||||||
|
- [x] pandoc
|
||||||
|
- [x] plugin
|
||||||
|
- [x] bindings
|
||||||
|
- [x] WhichKey
|
||||||
|
- [x] nvim-tree default mappings don't work
|
||||||
|
- [x] zathura freezes on suspend
|
||||||
|
- [x] can't close quickfix with space-d
|
||||||
|
- [x] bibexport does not always work?
|
||||||
|
- [x] lsp
|
||||||
|
- [x] import from zotero
|
||||||
|
- [x] created vimtex issue
|
||||||
|
- [x] got MWE working
|
||||||
|
- [x] find bug: .bib is too long
|
||||||
|
- [x] fix bug
|
||||||
|
- [x] navigate command and search with <C-j>, <C-k>
|
||||||
|
- [x] spelling in lsp menu
|
||||||
|
- [x] errors when starting a line with a backslash
|
||||||
|
- [x] prevent menu from poping up without entering text
|
||||||
|
- [x] creating a new line should not trigger lsp menu
|
||||||
|
- [x] snippets
|
||||||
|
- [x] update nvim
|
||||||
|
- [x] backup zotero
|
||||||
|
- [x] remove zotero
|
||||||
|
- [x] update arch
|
||||||
|
- [x] install zotero
|
||||||
|
- [x] update nvim
|
||||||
|
- [x] autopairs
|
||||||
|
- [ ] add single bracket if in open pair
|
||||||
|
- [x] move through second $
|
||||||
|
- [x] only add spaces when between two $$
|
||||||
|
- [x] add brackets regardless of characters following
|
||||||
|
- [x] back tick should give latex quotes
|
||||||
|
- [x] skip outside end of pair
|
||||||
|
- [x] customise latex snippets
|
||||||
|
- [ ] convert to lua for context dependent snippets
|
||||||
|
- [x] add snippets
|
||||||
|
- [x] snippets it and bf adding new line
|
||||||
|
- [x] snippets for it bf etc
|
||||||
|
- [x] colors
|
||||||
|
- [x] make underlining word shading instead
|
||||||
|
- [x] WhichKey
|
||||||
|
- [x] sessions
|
||||||
|
- [x] surround
|
||||||
|
- [x] git
|
||||||
|
- [x] vimtex
|
||||||
|
- [x] decode linter symbols and commands
|
||||||
|
- [x] vimtex menu check
|
||||||
|
- [x] add telescope search text through all files in project
|
||||||
|
- [x] markdown
|
||||||
|
- [x] turn off certain functions in markdown
|
||||||
|
- [x] autolist
|
||||||
|
- [x] no bullet following colon
|
||||||
|
- [x] sessions in start screen
|
||||||
|
- [x] ftplugin
|
||||||
|
- [x] fix errors in tex and md files
|
||||||
|
- [x] add latex surround objects
|
||||||
|
- [x] markdown toggle bullets
|
||||||
|
- [x] need to extend cycle
|
||||||
|
- [x] lsp no menu without typing
|
||||||
|
- [x] could refine cmd-commandline plugin which was the problem
|
||||||
|
- docs
|
||||||
|
- update cheatsheet
|
||||||
|
- create intro videos
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
require("nvim-surround").buffer_setup({
|
||||||
|
surrounds = {
|
||||||
|
["e"] = {
|
||||||
|
add = function()
|
||||||
|
local env = require("nvim-surround.config").get_input ("Environment: ")
|
||||||
|
return { { "\\begin{" .. env .. "}" }, { "\\end{" .. env .. "}" } }
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
["b"] = {
|
||||||
|
add = { "**", "**" },
|
||||||
|
find = "**.-**",
|
||||||
|
delete = "^(**)().-(**)()$",
|
||||||
|
},
|
||||||
|
["i"] = {
|
||||||
|
add = { "*", "*" },
|
||||||
|
find = "*.-*",
|
||||||
|
delete = "^(*)().-(*)()$",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,107 @@
|
||||||
|
local config = require("nvim-surround.config")
|
||||||
|
|
||||||
|
require("nvim-surround").buffer_setup({
|
||||||
|
surrounds = {
|
||||||
|
-- ["e"] = {
|
||||||
|
-- add = function()
|
||||||
|
-- local env = require("nvim-surround.config").get_input ("Environment: ")
|
||||||
|
-- return { { "\\begin{" .. env .. "}" }, { "\\end{" .. env .. "}" } }
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
["Q"] = {
|
||||||
|
add = { "``", "''" },
|
||||||
|
find = "%b``.-''",
|
||||||
|
delete = "^(``)().-('')()$",
|
||||||
|
},
|
||||||
|
["q"] = {
|
||||||
|
add = { "`", "'" },
|
||||||
|
find = "`.-'",
|
||||||
|
delete = "^(`)().-(')()$",
|
||||||
|
},
|
||||||
|
["b"] = {
|
||||||
|
add = { "\\textbf{", "}" },
|
||||||
|
-- add = function()
|
||||||
|
-- if vim.fn["vimtex#syntax#in_mathzone"]() == 1 then
|
||||||
|
-- return { { "\\mathbf{" }, { "}" } }
|
||||||
|
-- end
|
||||||
|
-- return { { "\\textbf{" }, { "}" } }
|
||||||
|
-- end,
|
||||||
|
find = "\\%a-bf%b{}",
|
||||||
|
delete = "^(\\%a-bf{)().-(})()$",
|
||||||
|
},
|
||||||
|
["i"] = {
|
||||||
|
add = { "\\textit{", "}" },
|
||||||
|
-- add = function()
|
||||||
|
-- if vim.fn["vimtex#syntax#in_mathzone"]() == 1 then
|
||||||
|
-- return { { "\\mathit{" }, { "}" } }
|
||||||
|
-- end
|
||||||
|
-- return { { "\\textit{" }, { "}" } }
|
||||||
|
-- end,
|
||||||
|
find = "\\%a-it%b{}",
|
||||||
|
delete = "^(\\%a-it{)().-(})()$",
|
||||||
|
},
|
||||||
|
["s"] = {
|
||||||
|
add = { "\\textsc{", "}" },
|
||||||
|
find = "\\textsc%b{}",
|
||||||
|
delete = "^(\\textsc{)().-(})()$",
|
||||||
|
},
|
||||||
|
["t"] = {
|
||||||
|
add = { "\\texttt{", "}" },
|
||||||
|
-- add = function()
|
||||||
|
-- if vim.fn["vimtex#syntax#in_mathzone"]() == 1 then
|
||||||
|
-- return { { "\\mathtt{" }, { "}" } }
|
||||||
|
-- end
|
||||||
|
-- return { { "\\texttt{" }, { "}" } }
|
||||||
|
-- end,
|
||||||
|
find = "\\%a-tt%b{}",
|
||||||
|
delete = "^(\\%a-tt{)().-(})()$",
|
||||||
|
},
|
||||||
|
["$"] = {
|
||||||
|
add = { "$", "$" },
|
||||||
|
-- find = "%b$.-$",
|
||||||
|
-- delete = "^($)().-($)()$",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- PdfAnnots
|
||||||
|
function PdfAnnots()
|
||||||
|
local ok, pdf = pcall(vim.api.nvim_eval,
|
||||||
|
"vimtex#context#get().handler.get_actions().entry.file")
|
||||||
|
if not ok then
|
||||||
|
vim.notify "No file found"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local cwd = vim.fn.getcwd()
|
||||||
|
vim.fn.chdir(vim.b.vimtex.root)
|
||||||
|
|
||||||
|
if vim.fn.isdirectory('Annotations') == 0 then
|
||||||
|
vim.fn.mkdir('Annotations')
|
||||||
|
end
|
||||||
|
|
||||||
|
local md = vim.fn.printf("Annotations/%s.md", vim.fn.fnamemodify(pdf, ":t:r"))
|
||||||
|
vim.fn.system(vim.fn.printf('pdfannots -o "%s" "%s"', md, pdf))
|
||||||
|
vim.cmd.split(vim.fn.fnameescape(md))
|
||||||
|
|
||||||
|
vim.fn.chdir(cwd)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- -- LSP menu to preserve vimtex citation data
|
||||||
|
-- require('cmp').setup.buffer {
|
||||||
|
-- formatting = {
|
||||||
|
-- format = function(entry, vim_item)
|
||||||
|
-- vim_item.menu = ({
|
||||||
|
-- omni = (vim.inspect(vim_item.menu):gsub('%"', "")),
|
||||||
|
-- buffer = "[Buffer]",
|
||||||
|
-- -- formatting for other sources
|
||||||
|
-- })[entry.source.name]
|
||||||
|
-- return vim_item
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
-- sources = {
|
||||||
|
-- { name = 'omni' },
|
||||||
|
-- { name = 'buffer' },
|
||||||
|
-- -- other sources
|
||||||
|
-- },
|
||||||
|
-- }
|
|
@ -0,0 +1,60 @@
|
||||||
|
-- GENERAL
|
||||||
|
require "user.options"
|
||||||
|
require "user.keymaps"
|
||||||
|
require "user.plugins"
|
||||||
|
require "user.autocommands"
|
||||||
|
require "user.colorscheme"
|
||||||
|
require "user.lsp.init"
|
||||||
|
|
||||||
|
-- PLUGINS
|
||||||
|
|
||||||
|
require "user.autopairs"
|
||||||
|
require "user.comment"
|
||||||
|
require "user.impatient"
|
||||||
|
require "user.surround"
|
||||||
|
--require "user.yanky"
|
||||||
|
require "user.undotree"
|
||||||
|
|
||||||
|
-- Mappings
|
||||||
|
require "user.whichkey"
|
||||||
|
|
||||||
|
-- Terminal
|
||||||
|
require "user.toggleterm"
|
||||||
|
|
||||||
|
-- File Management
|
||||||
|
require "user.nvim-tree"
|
||||||
|
require "user.sessions"
|
||||||
|
|
||||||
|
-- Appearance
|
||||||
|
--require "user.bufferline"
|
||||||
|
require "user.lualine"
|
||||||
|
require "user.indentline"
|
||||||
|
require "user.alpha"
|
||||||
|
require "user.illuminate"
|
||||||
|
|
||||||
|
-- Autocomplete
|
||||||
|
require "user.cmp"
|
||||||
|
|
||||||
|
-- LaTeX
|
||||||
|
require "user.vimtex"
|
||||||
|
|
||||||
|
-- Markdown
|
||||||
|
require "user.autolist"
|
||||||
|
|
||||||
|
-- Snippets
|
||||||
|
require "user.luasnip"
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
require "user.telescope"
|
||||||
|
require "user.dressing"
|
||||||
|
|
||||||
|
-- Treesitter
|
||||||
|
require "user.treesitter"
|
||||||
|
|
||||||
|
-- Git
|
||||||
|
require "user.gitsigns"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
local status_ok, alpha = pcall(require, "alpha")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
dashboard.section.header.val = {
|
||||||
|
[[ ]],
|
||||||
|
[[ ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ]],
|
||||||
|
[[ ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ]],
|
||||||
|
[[ ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ]],
|
||||||
|
[[ ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ]],
|
||||||
|
[[ ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ]],
|
||||||
|
[[ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ]],
|
||||||
|
[[ ]],
|
||||||
|
}
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
-- dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
||||||
|
-- dashboard.button("p", " Find project", ":Telescope projects <CR>"),
|
||||||
|
-- dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
|
||||||
|
-- dashboard.button("d", "✗ Delete session", "<cmd>SessionsManager delete_session<CR>"),
|
||||||
|
dashboard.button("s", " Sessions", "<cmd>SessionManager load_session<CR>"),
|
||||||
|
dashboard.button("r", " Recent", ":Telescope oldfiles <CR>"),
|
||||||
|
dashboard.button("f", " Find", ":Telescope find_files <CR>"),
|
||||||
|
dashboard.button("c", " Config", ":e $MYVIMRC <CR>"),
|
||||||
|
dashboard.button("i", " Info", "<cmd>e ~/.config/CheatSheet.md<cr>"),
|
||||||
|
dashboard.button("q", " Quit", ":qa<CR>"),
|
||||||
|
}
|
||||||
|
|
||||||
|
local function footer()
|
||||||
|
-- NOTE: requires the fortune-mod package to work
|
||||||
|
-- local handle = io.popen("fortune")
|
||||||
|
-- local fortune = handle:read("*a")
|
||||||
|
-- handle:close()
|
||||||
|
-- return fortune
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
dashboard.section.footer.val = footer()
|
||||||
|
|
||||||
|
dashboard.section.footer.opts.hl = "Type"
|
||||||
|
dashboard.section.header.opts.hl = "Include"
|
||||||
|
dashboard.section.buttons.opts.hl = "Keyword"
|
||||||
|
|
||||||
|
dashboard.opts.opts.noautocmd = true
|
||||||
|
-- vim.cmd([[autocmd User AlphaReady echo 'ready']])
|
||||||
|
alpha.setup(dashboard.opts)
|
|
@ -0,0 +1,37 @@
|
||||||
|
vim.cmd [[
|
||||||
|
augroup _general_settings
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR>
|
||||||
|
autocmd TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Visual', timeout = 200})
|
||||||
|
autocmd BufWinEnter * :set formatoptions-=cro
|
||||||
|
autocmd FileType qf set nobuflisted
|
||||||
|
augroup end
|
||||||
|
|
||||||
|
augroup _git
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType gitcommit setlocal wrap
|
||||||
|
autocmd FileType gitcommit setlocal spell
|
||||||
|
augroup end
|
||||||
|
|
||||||
|
augroup _markdown
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType markdown setlocal wrap
|
||||||
|
autocmd FileType markdown setlocal spell
|
||||||
|
augroup end
|
||||||
|
|
||||||
|
augroup _auto_resize
|
||||||
|
autocmd!
|
||||||
|
autocmd VimResized * tabdo wincmd =
|
||||||
|
augroup end
|
||||||
|
|
||||||
|
augroup _alpha
|
||||||
|
autocmd!
|
||||||
|
autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
|
||||||
|
augroup end
|
||||||
|
]]
|
||||||
|
|
||||||
|
-- Autoformat
|
||||||
|
-- augroup _lsp
|
||||||
|
-- autocmd!
|
||||||
|
-- autocmd BufWritePre * lua vim.lsp.buf.formatting()
|
||||||
|
-- augroup end
|
|
@ -0,0 +1,33 @@
|
||||||
|
-- local status_ok, autolist = pcall(require, "autolist")
|
||||||
|
-- if not status_ok then
|
||||||
|
-- return
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- return {
|
||||||
|
-- "gaoDean/autolist.nvim",
|
||||||
|
-- ft = {
|
||||||
|
-- "markdown",
|
||||||
|
-- "text",
|
||||||
|
-- "tex",
|
||||||
|
-- "plaintex",
|
||||||
|
-- },
|
||||||
|
-- config = function()
|
||||||
|
-- local autolist = require("autolist")
|
||||||
|
-- autolist.setup()
|
||||||
|
-- autolist.create_mapping_hook("i", "<CR>", autolist.new)
|
||||||
|
-- autolist.create_mapping_hook("i", "<Tab>", autolist.indent)
|
||||||
|
-- autolist.create_mapping_hook("i", "<S-Tab>", autolist.indent, "<C-D>")
|
||||||
|
-- autolist.create_mapping_hook("n", "o", autolist.new)
|
||||||
|
-- autolist.create_mapping_hook("n", "O", autolist.new_before)
|
||||||
|
-- -- autolist.create_mapping_hook("n", ">>", autolist.indent)
|
||||||
|
-- -- autolist.create_mapping_hook("n", "<<", autolist.indent)
|
||||||
|
-- autolist.create_mapping_hook("n", "<leader>r", autolist.force_recalculate)
|
||||||
|
-- autolist.create_mapping_hook("n", "<leader>x", autolist.invert_entry, "")
|
||||||
|
-- vim.api.nvim_create_autocmd("TextChanged", {
|
||||||
|
-- pattern = "-",
|
||||||
|
-- callback = function()
|
||||||
|
-- vim.cmd.normal({autolist.force_recalculate(nil, nil), bang = false})
|
||||||
|
-- end
|
||||||
|
-- })
|
||||||
|
-- end,
|
||||||
|
-- }
|
|
@ -0,0 +1,85 @@
|
||||||
|
-- Setup nvim-cmp.
|
||||||
|
local status_ok, npairs = pcall(require, "nvim-autopairs")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
npairs.setup {
|
||||||
|
check_ts = true,
|
||||||
|
ts_config = {
|
||||||
|
lua = { "string", "source" },
|
||||||
|
javascript = { "string", "template_string" },
|
||||||
|
java = false,
|
||||||
|
},
|
||||||
|
disable_filetype = { "TelescopePrompt", "spectre_panel" },
|
||||||
|
disable_in_macro = true,
|
||||||
|
disable_in_replace_mode = true,
|
||||||
|
enable_moveright = true,
|
||||||
|
ignored_next_char = "",
|
||||||
|
enable_check_bracket_line = true, --- check bracket in same line
|
||||||
|
-- enable_afterquote = true, -- add bracket pairs after quote
|
||||||
|
-- enable_bracket_in_quote = true,
|
||||||
|
-- enable_abbr = false, -- trigger abbreviation
|
||||||
|
-- fast_wrap = {
|
||||||
|
-- map = "<C-l>",
|
||||||
|
-- chars = { "$", "{", "[", "(", '"', "'" },
|
||||||
|
-- pattern = string.gsub([=[[%'%"%)%>%]%)%}%,]]=], "%s+", ""),
|
||||||
|
-- offset = 1, -- Offset from pattern match
|
||||||
|
-- end_key = "L",
|
||||||
|
-- keys = "qwertyuiopzxcvbnmasdfghjkl",
|
||||||
|
-- check_comma = true,
|
||||||
|
-- highlight = "PmenuSel",
|
||||||
|
-- highlight_grey = "LineNr",
|
||||||
|
-- -- highlight = 'Search',
|
||||||
|
-- -- highlight_grey='Comment'
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
||||||
|
local npairs = require'nvim-autopairs'
|
||||||
|
|
||||||
|
local Rule = require'nvim-autopairs.rule'
|
||||||
|
|
||||||
|
local cond = require'nvim-autopairs.conds'
|
||||||
|
|
||||||
|
npairs.add_rules({
|
||||||
|
Rule("`","'","tex"),
|
||||||
|
Rule("$","$","tex"),
|
||||||
|
Rule(' ', ' ')
|
||||||
|
:with_pair(function(opts)
|
||||||
|
local pair = opts.line:sub(opts.col, opts.col + 1)
|
||||||
|
return vim.tbl_contains({ '$$', '()', '{}', '[]' }, pair)
|
||||||
|
end)
|
||||||
|
:with_move(cond.none())
|
||||||
|
:with_cr(cond.none())
|
||||||
|
:with_del(function(opts)
|
||||||
|
local col = vim.api.nvim_win_get_cursor(0)[2]
|
||||||
|
local context = opts.line:sub(col - 1, col + 2)
|
||||||
|
return vim.tbl_contains({ '$ $', '( )', '{ }', '[ ]' }, context)
|
||||||
|
end),
|
||||||
|
Rule("$ "," ","tex")
|
||||||
|
:with_pair(cond.not_after_regex(" "))
|
||||||
|
:with_del(cond.none()),
|
||||||
|
Rule("[ "," ","tex")
|
||||||
|
:with_pair(cond.not_after_regex(" "))
|
||||||
|
:with_del(cond.none()),
|
||||||
|
Rule("{ "," ","tex")
|
||||||
|
:with_pair(cond.not_after_regex(" "))
|
||||||
|
:with_del(cond.none()),
|
||||||
|
Rule("( "," ","tex")
|
||||||
|
:with_pair(cond.not_after_regex(" "))
|
||||||
|
:with_del(cond.none()),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
require('nvim-autopairs').get_rule('$'):with_move(function(opts)
|
||||||
|
return opts.char == opts.next_char:sub(1, 1)
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
|
||||||
|
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
|
|
@ -0,0 +1,168 @@
|
||||||
|
local status_ok, bufferline = pcall(require, "bufferline")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
bufferline.setup {
|
||||||
|
options = {
|
||||||
|
numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string,
|
||||||
|
close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions"
|
||||||
|
middle_mouse_command = nil, -- can be a string | function, see "Mouse actions"
|
||||||
|
-- NOTE: this plugin is designed with this icon in mind,
|
||||||
|
-- and so changing this is NOT recommended, this is intended
|
||||||
|
-- as an escape hatch for people who cannot bear it for whatever reason
|
||||||
|
indicator_icon = nil,
|
||||||
|
indicator = { style = "icon", icon = "▎"},
|
||||||
|
buffer_close_icon = "",
|
||||||
|
-- buffer_close_icon = '',
|
||||||
|
modified_icon = "●",
|
||||||
|
close_icon = "",
|
||||||
|
-- close_icon = '',
|
||||||
|
left_trunc_marker = "",
|
||||||
|
right_trunc_marker = "",
|
||||||
|
--- name_formatter can be used to change the buffer's label in the bufferline.
|
||||||
|
--- Please note some names can/will break the
|
||||||
|
--- bufferline so use this at your discretion knowing that it has
|
||||||
|
--- some limitations that will *NOT* be fixed.
|
||||||
|
-- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr"
|
||||||
|
-- -- remove extension from markdown files for example
|
||||||
|
-- if buf.name:match('%.md') then
|
||||||
|
-- return vim.fn.fnamemodify(buf.name, ':t:r')
|
||||||
|
-- end
|
||||||
|
-- end,
|
||||||
|
max_name_length = 30,
|
||||||
|
max_prefix_length = 30, -- prefix used when a buffer is de-duplicated
|
||||||
|
tab_size = 21,
|
||||||
|
diagnostics = false, -- | "nvim_lsp" | "coc",
|
||||||
|
diagnostics_update_in_insert = false,
|
||||||
|
-- diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
|
-- return "("..count..")"
|
||||||
|
-- end,
|
||||||
|
-- NOTE: this will be called a lot so don't do any heavy processing here
|
||||||
|
-- custom_filter = function(buf_number)
|
||||||
|
-- -- filter out filetypes you don't want to see
|
||||||
|
-- if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- -- filter out by buffer name
|
||||||
|
-- if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- -- filter out based on arbitrary rules
|
||||||
|
-- -- e.g. filter out vim wiki buffer from tabline in your work repo
|
||||||
|
-- if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- end,
|
||||||
|
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
||||||
|
show_buffer_icons = true,
|
||||||
|
show_buffer_close_icons = true,
|
||||||
|
show_close_icon = true,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
||||||
|
-- can also be a table containing 2 custom separators
|
||||||
|
-- [focused and unfocused]. eg: { '|', '|' }
|
||||||
|
separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
|
||||||
|
enforce_regular_tabs = true,
|
||||||
|
always_show_bufferline = true,
|
||||||
|
-- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b)
|
||||||
|
-- -- add custom logic
|
||||||
|
-- return buffer_a.modified > buffer_b.modified
|
||||||
|
-- end
|
||||||
|
},
|
||||||
|
highlights = {
|
||||||
|
fill = {
|
||||||
|
fg = { attribute = "fg", highlight = "#ff0000" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
background = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- buffer_selected = {
|
||||||
|
-- fg = {attribute='fg',highlight='#ff0000'},
|
||||||
|
-- bg = {attribute='bg',highlight='#0000ff'},
|
||||||
|
-- gui = 'none'
|
||||||
|
-- },
|
||||||
|
buffer_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
close_button = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
close_button_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
-- close_button_selected = {
|
||||||
|
-- fg = {attribute='fg',highlight='TabLineSel'},
|
||||||
|
-- bg ={attribute='bg',highlight='TabLineSel'}
|
||||||
|
-- },
|
||||||
|
|
||||||
|
tab_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
tab = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
tab_close = {
|
||||||
|
-- fg = {attribute='fg',highlight='LspDiagnosticsDefaultError'},
|
||||||
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
|
||||||
|
duplicate_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLineSel" },
|
||||||
|
underline = true,
|
||||||
|
},
|
||||||
|
duplicate_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
underline = true,
|
||||||
|
},
|
||||||
|
duplicate = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
underline = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
modified = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
modified_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
modified_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
separator = {
|
||||||
|
fg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
separator_selected = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
-- separator_visible = {
|
||||||
|
-- fg = {attribute='bg',highlight='TabLine'},
|
||||||
|
-- bg = {attribute='bg',highlight='TabLine'}
|
||||||
|
-- },
|
||||||
|
indicator_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,197 @@
|
||||||
|
local cmp_status_ok, cmp = pcall(require, "cmp")
|
||||||
|
if not cmp_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local snip_status_ok, luasnip = pcall(require, "luasnip")
|
||||||
|
if not snip_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local check_backspace = function()
|
||||||
|
local col = vim.fn.col "." - 1
|
||||||
|
return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
|
||||||
|
end
|
||||||
|
|
||||||
|
-- פּ ﯟ some other good icons
|
||||||
|
local kind_icons = {
|
||||||
|
Text = "",
|
||||||
|
Method = "m",
|
||||||
|
Function = "",
|
||||||
|
Constructor = "",
|
||||||
|
Field = "",
|
||||||
|
Variable = "",
|
||||||
|
Class = "",
|
||||||
|
Interface = "",
|
||||||
|
Module = "",
|
||||||
|
Property = "",
|
||||||
|
Unit = "",
|
||||||
|
Value = "",
|
||||||
|
Enum = "",
|
||||||
|
Keyword = "",
|
||||||
|
Snippet = "",
|
||||||
|
Color = "",
|
||||||
|
File = "",
|
||||||
|
Reference = "",
|
||||||
|
Folder = "",
|
||||||
|
EnumMember = "",
|
||||||
|
Constant = "",
|
||||||
|
Struct = "",
|
||||||
|
Event = "",
|
||||||
|
Operator = "",
|
||||||
|
TypeParameter = "",
|
||||||
|
}
|
||||||
|
-- find more here: https://www.nerdfonts.com/cheat-sheet
|
||||||
|
|
||||||
|
cmp.setup {
|
||||||
|
-- preselect = cmp.PreselectMode.None,
|
||||||
|
completion = {
|
||||||
|
-- autocomplete = {
|
||||||
|
-- cmp.TriggerEvent.TextChanged,
|
||||||
|
-- cmp.TriggerEvent.InsertEnter,
|
||||||
|
-- },
|
||||||
|
completeopt = "menu,noselect",
|
||||||
|
-- completeopt = "menuone,noinsert,noselect",
|
||||||
|
keyword_length = 1,
|
||||||
|
},
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
luasnip.lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }),
|
||||||
|
["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }),
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = false }),
|
||||||
|
-- Set `select` to `false` to only confirm selected
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if luasnip.expandable() then
|
||||||
|
luasnip.expand()
|
||||||
|
elseif luasnip.expand_or_jumpable() then
|
||||||
|
luasnip.expand_or_jump()
|
||||||
|
elseif check_backspace() then
|
||||||
|
fallback()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
"i",
|
||||||
|
"s",
|
||||||
|
}),
|
||||||
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
-- if cmp.visible() then
|
||||||
|
-- cmp.select_prev_item()
|
||||||
|
if luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
"i",
|
||||||
|
"s",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = { "kind", "abbr", "menu" },
|
||||||
|
format = function(entry, vim_item)
|
||||||
|
-- Kind icons
|
||||||
|
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
||||||
|
-- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
|
||||||
|
vim_item.menu = ({
|
||||||
|
-- omni = "[VimTex]",
|
||||||
|
omni = (vim.inspect(vim_item.menu):gsub('%"', "")),
|
||||||
|
nvim_lsp = "[LSP]",
|
||||||
|
luasnip = "[Snippet]",
|
||||||
|
buffer = "[Buffer]",
|
||||||
|
spell = "[Spell]",
|
||||||
|
latex_symbols = "[Symbols]",
|
||||||
|
cmdline = "[CMD]",
|
||||||
|
path = "[Path]",
|
||||||
|
})[entry.source.name]
|
||||||
|
return vim_item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" },
|
||||||
|
{ name = "omni" },
|
||||||
|
{ name = "buffer", keyword_length = 3 },
|
||||||
|
{ name = "spell",
|
||||||
|
keyword_length = 4,
|
||||||
|
option = {
|
||||||
|
keep_all_entries = false,
|
||||||
|
enable_in_context = function()
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ name = "latex_symbols",
|
||||||
|
filetype = { "tex", "latex" },
|
||||||
|
option = { cache = true }, -- avoids reloading each time
|
||||||
|
},
|
||||||
|
{ name = "path" },
|
||||||
|
}),
|
||||||
|
confirm_opts = {
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = false,
|
||||||
|
},
|
||||||
|
view = {
|
||||||
|
entries = 'custom',
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
documentation = {
|
||||||
|
border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
performance = {
|
||||||
|
trigger_debounce_time = 500,
|
||||||
|
throttle = 550,
|
||||||
|
fetching_timeout = 80,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- TODO zotero import
|
||||||
|
-- { name = "cmp_zotcite",
|
||||||
|
-- filetype = { "tex", "latex", "pandoc", "markdown", "rmd", "quarto" },
|
||||||
|
-- },
|
||||||
|
-- could use but seems like vimtex has access to .bib
|
||||||
|
|
||||||
|
-- `/` cmdline setup.
|
||||||
|
cmp.setup.cmdline('/', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{name = 'buffer'}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- `:` cmdline setup.
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{name = 'path'},
|
||||||
|
{name = 'cmdline'}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- Toggle cmp entrirely
|
||||||
|
vim.g.cmptoggle = true -- nvim-cmp off by default if false
|
||||||
|
|
||||||
|
local cmp = require('cmp')
|
||||||
|
cmp.setup {
|
||||||
|
enabled = function()
|
||||||
|
return vim.g.cmptoggle
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- TODO was trying to get <C-j>, <C-k> to work in the command line
|
||||||
|
|
||||||
|
-- mapping = cmp.mapping.preset.cmdline({
|
||||||
|
-- ["<C-j>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||||
|
-- ["<C-k>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||||
|
-- ["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||||
|
-- ['<C-j>'] = cmp.mapping(cmp.mapping.select_next_item()),
|
||||||
|
-- ['<C-k>'] = cmp.mapping(cmp.mapping.select_prev_item()),
|
||||||
|
-- }),
|
|
@ -0,0 +1,37 @@
|
||||||
|
-- GRUVBOX --
|
||||||
|
--[[
|
||||||
|
local colorscheme = "rose-pine"
|
||||||
|
-- local colorscheme = "gruvbox-baby"
|
||||||
|
|
||||||
|
-- OTHER ---
|
||||||
|
|
||||||
|
-- local colorscheme = "duskfox"
|
||||||
|
-- local colorscheme = "melange"
|
||||||
|
-- local colorscheme = "tokyonight-night"
|
||||||
|
|
||||||
|
-- local colorscheme = "onedark"
|
||||||
|
-- -- style options: dark, darker, cool, deep, warm, warmer, light
|
||||||
|
-- require('onedark').setup {
|
||||||
|
-- style = 'dark'
|
||||||
|
-- }
|
||||||
|
-- require('onedark').load()
|
||||||
|
|
||||||
|
-- GENERAL --
|
||||||
|
|
||||||
|
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
]]--
|
||||||
|
|
||||||
|
function ColorSchemes(color)
|
||||||
|
color = color or "rose-pine"
|
||||||
|
vim.cmd.colorscheme(color)
|
||||||
|
|
||||||
|
--vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
--vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
end
|
||||||
|
|
||||||
|
ColorSchemes()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
local status_ok, comment = pcall(require, "Comment")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
comment.setup {
|
||||||
|
---Add a space b/w comment and the line
|
||||||
|
padding = true,
|
||||||
|
---Whether the cursor should stay at its position
|
||||||
|
sticky = true,
|
||||||
|
---Lines to be ignored while (un)comment
|
||||||
|
ignore = nil,
|
||||||
|
---Function to call before (un)comment
|
||||||
|
pre_hook = nil,
|
||||||
|
mappings = {
|
||||||
|
---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}`
|
||||||
|
basic = false,
|
||||||
|
---Extra mapping; `gco`, `gcO`, `gcA`
|
||||||
|
extra = false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
---LHS of toggle mappings in NORMAL mode
|
||||||
|
-- ---Enable keybindings
|
||||||
|
-- ---NOTE: If given `false` then the plugin won't create any mappings
|
||||||
|
---Function to call before (un)comment
|
||||||
|
-- pre_hook = function(ctx)
|
||||||
|
-- local U = require "Comment.utils"
|
||||||
|
--
|
||||||
|
-- local status_utils_ok, utils = pcall(require, "ts_context_commentstring.utils")
|
||||||
|
-- if not status_utils_ok then
|
||||||
|
-- return
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local location = nil
|
||||||
|
-- if ctx.ctype == U.ctype.block then
|
||||||
|
-- location = utils.get_cursor_location()
|
||||||
|
-- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then
|
||||||
|
-- location = utils.get_visual_start_location()
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local status_internals_ok, internals = pcall(require, "ts_context_commentstring.internals")
|
||||||
|
-- if not status_internals_ok then
|
||||||
|
-- return
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- return internals.calculate_commentstring {
|
||||||
|
-- key = ctx.ctype == U.ctype.line and "__default" or "__multiline",
|
||||||
|
-- location = location,
|
||||||
|
-- }
|
||||||
|
-- end,
|
|
@ -0,0 +1,155 @@
|
||||||
|
require('dressing').setup({
|
||||||
|
input = {
|
||||||
|
-- Set to false to disable the vim.ui.input implementation
|
||||||
|
enabled = true,
|
||||||
|
|
||||||
|
-- Default prompt string
|
||||||
|
default_prompt = "Input:",
|
||||||
|
|
||||||
|
-- Can be 'left', 'right', or 'center'
|
||||||
|
prompt_align = "center",
|
||||||
|
|
||||||
|
-- When true, <Esc> will close the modal
|
||||||
|
insert_only = true,
|
||||||
|
|
||||||
|
-- When true, input will start in insert mode.
|
||||||
|
start_in_insert = true,
|
||||||
|
|
||||||
|
-- These are passed to nvim_open_win
|
||||||
|
anchor = "SW",
|
||||||
|
border = "rounded",
|
||||||
|
-- 'editor' and 'win' will default to being centered
|
||||||
|
relative = "cursor",
|
||||||
|
|
||||||
|
-- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||||
|
prefer_width = 40,
|
||||||
|
width = nil,
|
||||||
|
-- min_width and max_width can be a list of mixed types.
|
||||||
|
-- min_width = {20, 0.2} means "the greater of 20 columns or 20% of total"
|
||||||
|
max_width = { 140, 0.9 },
|
||||||
|
min_width = { 20, 0.2 },
|
||||||
|
|
||||||
|
-- Window transparency (0-100)
|
||||||
|
-- winblend = 20, -- causing errors
|
||||||
|
-- Change default highlight groups (see :help winhl)
|
||||||
|
-- winhighlight = "", -- causing errors
|
||||||
|
|
||||||
|
-- Set to `false` to disable
|
||||||
|
mappings = {
|
||||||
|
n = {
|
||||||
|
["<Esc>"] = "Close",
|
||||||
|
["<CR>"] = "Confirm",
|
||||||
|
},
|
||||||
|
i = {
|
||||||
|
["<C-c>"] = "Close",
|
||||||
|
["<CR>"] = "Confirm",
|
||||||
|
["<Up>"] = "HistoryPrev",
|
||||||
|
["<Down>"] = "HistoryNext",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
override = function(conf)
|
||||||
|
-- This is the config that will be passed to nvim_open_win.
|
||||||
|
-- Change values here to customize the layout
|
||||||
|
return conf
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- see :help dressing_get_config
|
||||||
|
get_config = nil,
|
||||||
|
},
|
||||||
|
select = {
|
||||||
|
-- Set to false to disable the vim.ui.select implementation
|
||||||
|
enabled = true,
|
||||||
|
|
||||||
|
-- Priority list of preferred vim.select implementations
|
||||||
|
backend = { "telescope", "fzf_lua", "fzf", "builtin", "nui" },
|
||||||
|
|
||||||
|
-- Trim trailing `:` from prompt
|
||||||
|
trim_prompt = true,
|
||||||
|
|
||||||
|
-- Options for telescope selector
|
||||||
|
-- These are passed into the telescope picker directly. Can be used like:
|
||||||
|
-- telescope = require('telescope.themes').get_ivy({...})
|
||||||
|
telescope = nil,
|
||||||
|
|
||||||
|
-- Options for fzf selector
|
||||||
|
fzf = {
|
||||||
|
window = {
|
||||||
|
width = 0.5,
|
||||||
|
height = 0.4,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Options for fzf_lua selector
|
||||||
|
fzf_lua = {
|
||||||
|
winopts = {
|
||||||
|
width = 0.5,
|
||||||
|
height = 0.4,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Options for nui Menu
|
||||||
|
nui = {
|
||||||
|
position = "50%",
|
||||||
|
size = nil,
|
||||||
|
relative = "editor",
|
||||||
|
border = {
|
||||||
|
style = "rounded",
|
||||||
|
},
|
||||||
|
buf_options = {
|
||||||
|
swapfile = false,
|
||||||
|
filetype = "DressingSelect",
|
||||||
|
},
|
||||||
|
-- win_options = {
|
||||||
|
-- winblend = 10, -- might also cause errors
|
||||||
|
-- },
|
||||||
|
max_width = 80,
|
||||||
|
max_height = 40,
|
||||||
|
min_width = 40,
|
||||||
|
min_height = 10,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Options for built-in selector
|
||||||
|
builtin = {
|
||||||
|
-- These are passed to nvim_open_win
|
||||||
|
anchor = "NW",
|
||||||
|
border = "rounded",
|
||||||
|
-- 'editor' and 'win' will default to being centered
|
||||||
|
relative = "editor",
|
||||||
|
|
||||||
|
-- Window transparency (0-100)
|
||||||
|
-- winblend = 10, -- causing errors
|
||||||
|
-- Change default highlight groups (see :help winhl)
|
||||||
|
-- winhighlight = "", -- causing errors
|
||||||
|
|
||||||
|
-- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||||
|
-- the min_ and max_ options can be a list of mixed types.
|
||||||
|
-- max_width = {140, 0.8} means "the lesser of 140 columns or 80% of total"
|
||||||
|
width = nil,
|
||||||
|
max_width = { 140, 0.8 },
|
||||||
|
min_width = { 40, 0.2 },
|
||||||
|
height = nil,
|
||||||
|
max_height = 0.9,
|
||||||
|
min_height = { 10, 0.2 },
|
||||||
|
|
||||||
|
-- Set to `false` to disable
|
||||||
|
mappings = {
|
||||||
|
["<Esc>"] = "Close",
|
||||||
|
["<C-c>"] = "Close",
|
||||||
|
["<CR>"] = "Confirm",
|
||||||
|
},
|
||||||
|
|
||||||
|
override = function(conf)
|
||||||
|
-- This is the config that will be passed to nvim_open_win.
|
||||||
|
-- Change values here to customize the layout
|
||||||
|
return conf
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Used to override format_item. See :help dressing-format
|
||||||
|
format_item_override = {},
|
||||||
|
|
||||||
|
-- see :help dressing_get_config
|
||||||
|
get_config = nil,
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,48 @@
|
||||||
|
local status_ok, gitsigns = pcall(require, "gitsigns")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
gitsigns.setup {
|
||||||
|
signs = {
|
||||||
|
add = { hl = "GitSignsAdd", text = "▎", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
||||||
|
change = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
|
||||||
|
delete = { hl = "GitSignsDelete", text = "契", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
|
||||||
|
topdelete = { hl = "GitSignsDelete", text = "契", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
|
||||||
|
changedelete = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
|
||||||
|
},
|
||||||
|
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||||
|
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||||
|
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||||
|
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||||
|
watch_gitdir = {
|
||||||
|
interval = 1000,
|
||||||
|
follow_files = true,
|
||||||
|
},
|
||||||
|
attach_to_untracked = true,
|
||||||
|
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||||
|
current_line_blame_opts = {
|
||||||
|
virt_text = true,
|
||||||
|
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||||
|
delay = 1000,
|
||||||
|
ignore_whitespace = false,
|
||||||
|
},
|
||||||
|
current_line_blame_formatter_opts = {
|
||||||
|
relative_time = false,
|
||||||
|
},
|
||||||
|
sign_priority = 6,
|
||||||
|
update_debounce = 100,
|
||||||
|
status_formatter = nil, -- Use default
|
||||||
|
max_file_length = 40000,
|
||||||
|
preview_config = {
|
||||||
|
-- Options passed to nvim_open_win
|
||||||
|
border = "single",
|
||||||
|
style = "minimal",
|
||||||
|
relative = "cursor",
|
||||||
|
row = 0,
|
||||||
|
col = 1,
|
||||||
|
},
|
||||||
|
yadm = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
vim.cmd('hi IlluminatedWordText guibg=#504945 gui=bold')
|
||||||
|
-- vim.cmd('hi IlluminatedWordRead guibg=#ffffff gui=bold')
|
||||||
|
-- vim.cmd('hi IlluminatedWordWrite guibg=#ffffff gui=bold')
|
|
@ -0,0 +1,6 @@
|
||||||
|
local status_ok, impatient = pcall(require, "impatient")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
impatient.enable_profile()
|
|
@ -0,0 +1,70 @@
|
||||||
|
local status_ok, indent_blankline = pcall(require, "indent_blankline")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" }
|
||||||
|
vim.g.indent_blankline_filetype_exclude = {
|
||||||
|
"help",
|
||||||
|
"startify",
|
||||||
|
"dashboard",
|
||||||
|
"packer",
|
||||||
|
"neogitstatus",
|
||||||
|
"NvimTree",
|
||||||
|
"Trouble",
|
||||||
|
}
|
||||||
|
vim.g.indentLine_enabled = 1
|
||||||
|
-- vim.g.indent_blankline_char = "│"
|
||||||
|
vim.g.indent_blankline_char = "▏"
|
||||||
|
-- vim.g.indent_blankline_char = "▎"
|
||||||
|
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
||||||
|
vim.g.indent_blankline_show_first_indent_level = true
|
||||||
|
vim.g.indent_blankline_use_treesitter = true
|
||||||
|
vim.g.indent_blankline_show_current_context = true
|
||||||
|
vim.g.indent_blankline_context_patterns = {
|
||||||
|
"class",
|
||||||
|
"return",
|
||||||
|
"function",
|
||||||
|
"method",
|
||||||
|
"^if",
|
||||||
|
"^while",
|
||||||
|
"jsx_element",
|
||||||
|
"^for",
|
||||||
|
"^object",
|
||||||
|
"^table",
|
||||||
|
"block",
|
||||||
|
"arguments",
|
||||||
|
"if_statement",
|
||||||
|
"else_clause",
|
||||||
|
"jsx_element",
|
||||||
|
"jsx_self_closing_element",
|
||||||
|
"try_statement",
|
||||||
|
"catch_clause",
|
||||||
|
"import_statement",
|
||||||
|
"operation_type",
|
||||||
|
}
|
||||||
|
-- HACK: work-around for https://github.com/lukas-reineke/indent-blankline.nvim/issues/59
|
||||||
|
vim.wo.colorcolumn = "99999"
|
||||||
|
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]]
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]]
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]]
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]]
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]]
|
||||||
|
-- vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]]
|
||||||
|
-- vim.opt.list = true
|
||||||
|
-- vim.opt.listchars:append "space:⋅"
|
||||||
|
-- vim.opt.listchars:append "space:"
|
||||||
|
-- vim.opt.listchars:append "eol:↴"
|
||||||
|
|
||||||
|
indent_blankline.setup({
|
||||||
|
-- show_end_of_line = true,
|
||||||
|
-- space_char_blankline = " ",
|
||||||
|
show_current_context = true,
|
||||||
|
-- show_current_context_start = true,
|
||||||
|
-- char_highlight_list = {
|
||||||
|
-- "IndentBlanklineIndent1",
|
||||||
|
-- "IndentBlanklineIndent2",
|
||||||
|
-- "IndentBlanklineIndent3",
|
||||||
|
-- },
|
||||||
|
})
|
|
@ -0,0 +1,146 @@
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
local term_opts = { silent = true }
|
||||||
|
|
||||||
|
-- Shorten function name
|
||||||
|
local keymap = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
--Remap space as leader key
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
--vim.g.maplocalleader = " "
|
||||||
|
--vim.g.maplocalleader = "Bslash"
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
|
-- Modes
|
||||||
|
-- normal_mode = "n",
|
||||||
|
-- insert_mode = "i",
|
||||||
|
-- visual_mode = "v",
|
||||||
|
-- visual_block_mode = "x",
|
||||||
|
-- term_mode = "t",
|
||||||
|
-- command_mode = "c",
|
||||||
|
|
||||||
|
|
||||||
|
-- NOTE Check mapping with :verbose map ____
|
||||||
|
|
||||||
|
-- Unmappings
|
||||||
|
keymap("n", "<C-z>", "<nop>", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Surround
|
||||||
|
-- vim.keymap.set("v", '<C-s>', 'S', { remap = true }) -- see surround.lua
|
||||||
|
|
||||||
|
|
||||||
|
-- Spelling
|
||||||
|
vim.keymap.set("n", "<C-s>", function()
|
||||||
|
require("telescope.builtin").spell_suggest(require("telescope.themes").get_cursor({
|
||||||
|
previewer = false,
|
||||||
|
layout_config = {
|
||||||
|
width = 50,
|
||||||
|
height = 15,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
end, { remap = true })
|
||||||
|
-- vim.keymap.set("n", "<C-s>", "z=", { remap = true})
|
||||||
|
-- keymap("n", "<C-s>", "<cmd>Telescope spell_suggest<cr>", { remap = true})
|
||||||
|
|
||||||
|
-- Kill search highlights
|
||||||
|
keymap("n", "<CR>", ":noh<CR>", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Find project files
|
||||||
|
vim.keymap.set("n", "<C-p>", function ()
|
||||||
|
require('telescope.builtin').find_files(require('telescope.themes').get_dropdown({previewer = false})
|
||||||
|
)
|
||||||
|
end, { remap = true })
|
||||||
|
|
||||||
|
|
||||||
|
-- Toggle comments
|
||||||
|
vim.keymap.set('n', '<C-c>', '<Plug>(comment_toggle_linewise_current)')
|
||||||
|
vim.keymap.set('x', '<C-c>', '<Plug>(comment_toggle_linewise_visual)')
|
||||||
|
|
||||||
|
-- Open help on word
|
||||||
|
keymap("n", "<S-m>", ':execute "help " . expand("<cword>")<cr>', opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Fix 'Y', 'E'
|
||||||
|
keymap("n", "Y", "y$", opts)
|
||||||
|
keymap("n", "E", "ge", opts)
|
||||||
|
keymap("v", "Y", "y$", opts)
|
||||||
|
keymap("v", "E", "ge", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Avoid cutting text pasted over
|
||||||
|
keymap("v", "p", '"_dP', opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Center cursor
|
||||||
|
keymap("n", "m", "zz", opts)
|
||||||
|
keymap("v", "m", "zz", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Better window navigation
|
||||||
|
keymap("n", "<C-h>", "<C-w>h", opts)
|
||||||
|
keymap("n", "<C-j>", "<C-w>j", opts)
|
||||||
|
keymap("n", "<C-k>", "<C-w>k", opts)
|
||||||
|
keymap("n", "<C-l>", "<C-w>l", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Resize with arrows
|
||||||
|
-- keymap("n", "<C-Up>", ":resize -2<CR>", opts)
|
||||||
|
-- keymap("n", "<C-Down>", ":resize +2<CR>", opts)
|
||||||
|
keymap("n", "<A-Left>", ":vertical resize -2<CR>", opts)
|
||||||
|
keymap("n", "<A-Right>", ":vertical resize +2<CR>", opts)
|
||||||
|
keymap("n", "<A-h>", ":vertical resize -2<CR>", opts)
|
||||||
|
keymap("n", "<A-l>", ":vertical resize +2<CR>", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Navigate buffers
|
||||||
|
keymap("n", "<BS>", ":bnext<CR>", opts)
|
||||||
|
keymap("n", "<S-TAB>", ":bprevious<CR>", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Drag lines
|
||||||
|
keymap("n", "<A-j>", "<Esc>:m .+1<CR>==", opts)
|
||||||
|
keymap("n", "<A-k>", "<Esc>:m .-2<CR>==", opts)
|
||||||
|
keymap("x", "<A-j>", ":move '>+1<CR>gv-gv", opts)
|
||||||
|
keymap("x", "<A-k>", ":move '<-2<CR>gv-gv", opts)
|
||||||
|
keymap("v", "<A-j>", ":m'>+<CR>gv", opts)
|
||||||
|
keymap("v", "<A-k>", ":m-2<CR>gv", opts)
|
||||||
|
|
||||||
|
-- Toggle Terminal
|
||||||
|
keymap("n", "<c-t>",":ToggleTerm", opts)
|
||||||
|
--keymap("n", "<c-v>",":ToggleTermSendCurrentLine", opts)
|
||||||
|
|
||||||
|
-- Horizontal lime movments --
|
||||||
|
keymap("n", "<c-u>", "<c-u>zz", opts)
|
||||||
|
keymap("n", "<c-d>", "<c-d>zz", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Horizontal lime movments --
|
||||||
|
keymap("v", "<S-h>", "g^", opts)
|
||||||
|
keymap("v", "<S-l>", "g$", opts)
|
||||||
|
keymap("n", "<S-h>", "g^", opts)
|
||||||
|
keymap("n", "<S-l>", "g$", opts)
|
||||||
|
|
||||||
|
-- Indentation
|
||||||
|
keymap("v", "<", "<gv", opts)
|
||||||
|
keymap("v", ">", ">gv", opts)
|
||||||
|
keymap("n", "<", "<S-v><<esc>", opts)
|
||||||
|
keymap("n", ">", "<S-v>><esc>", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Navigate display lines
|
||||||
|
keymap("n", "J", "gj", opts)
|
||||||
|
keymap("n", "K", "gk", opts)
|
||||||
|
keymap("v", "J", "gj", opts)
|
||||||
|
keymap("v", "K", "gk", opts)
|
||||||
|
|
||||||
|
|
||||||
|
-- Terminal --
|
||||||
|
-- Better terminal navigation
|
||||||
|
-- keymap("t", "<C-h>", "<C-\\><C-N><C-w>h", term_opts)
|
||||||
|
-- keymap("t", "<C-j>", "<C-\\><C-N><C-w>j", term_opts)
|
||||||
|
-- keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts)
|
||||||
|
-- keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts)
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local status_cmp_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
|
||||||
|
if not status_cmp_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
M.capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
M.capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
|
M.capabilities = cmp_nvim_lsp.default_capabilities(M.capabilities)
|
||||||
|
|
||||||
|
M.setup = function()
|
||||||
|
local signs = {
|
||||||
|
{ name = "DiagnosticSignError", text = "" },
|
||||||
|
{ name = "DiagnosticSignWarn", text = "" },
|
||||||
|
{ name = "DiagnosticSignHint", text = "" },
|
||||||
|
{ name = "DiagnosticSignInfo", text = "" },
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, sign in ipairs(signs) do
|
||||||
|
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||||
|
end
|
||||||
|
|
||||||
|
local config = {
|
||||||
|
virtual_text = false, -- disable virtual text
|
||||||
|
signs = {
|
||||||
|
active = signs, -- show signs
|
||||||
|
},
|
||||||
|
update_in_insert = true,
|
||||||
|
underline = true,
|
||||||
|
severity_sort = true,
|
||||||
|
float = {
|
||||||
|
focusable = true,
|
||||||
|
style = "minimal",
|
||||||
|
border = "rounded",
|
||||||
|
source = "always",
|
||||||
|
header = "",
|
||||||
|
prefix = "",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.diagnostic.config(config)
|
||||||
|
|
||||||
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||||
|
border = "rounded",
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||||
|
border = "rounded",
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
local function lsp_keymaps(bufnr)
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
local keymap = vim.api.nvim_buf_set_keymap
|
||||||
|
keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||||
|
keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||||
|
keymap(bufnr, "n", "N", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||||
|
keymap(bufnr, "n", "gI", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||||
|
keymap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||||
|
-- keymap(bufnr, "n", "gl", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lf", "<cmd>lua vim.lsp.buf.format{ async = true }<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>li", "<cmd>LspInfo<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lI", "<cmd>LspInstallInfo<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>la", "<cmd>lua vim.lsp.buf.code_action()<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lj", "<cmd>lua vim.diagnostic.goto_next({buffer=0})<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lk", "<cmd>lua vim.diagnostic.goto_prev({buffer=0})<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lr", "<cmd>lua vim.lsp.buf.rename()<cr>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>ls", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||||
|
-- keymap(bufnr, "n", "<leader>lq", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
M.on_attach = function(client, bufnr)
|
||||||
|
if client.name == "tsserver" then -- turns off formatting
|
||||||
|
client.server_capabilities.documentFormattingProvider = false
|
||||||
|
end
|
||||||
|
|
||||||
|
if client.name == "lua_ls" then -- turns off formatting
|
||||||
|
client.server_capabilities.documentFormattingProvider = false
|
||||||
|
end
|
||||||
|
|
||||||
|
lsp_keymaps(bufnr)
|
||||||
|
local status_ok, illuminate = pcall(require, "illuminate")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
illuminate.on_attach(client)
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
|
@ -0,0 +1,9 @@
|
||||||
|
local status_ok, _ = pcall(require, "lspconfig")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
require "user.lsp.mason"
|
||||||
|
-- require "user.lsp.texlab"
|
||||||
|
require ("user.lsp.handlers").setup()
|
||||||
|
require "user.lsp.null-ls"
|
|
@ -0,0 +1,136 @@
|
||||||
|
require("mason").setup({
|
||||||
|
ui = {
|
||||||
|
icons = {
|
||||||
|
package_installed = "✓",
|
||||||
|
package_pending = "➜",
|
||||||
|
package_uninstalled = "✗"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
require("mason-lspconfig").setup({
|
||||||
|
-- A list of servers to automatically install if they"re not already installed
|
||||||
|
--ensure_installed = { "pylsp", "gopls", "lua_ls", "rust_analyzer" },
|
||||||
|
--ensure_installed = { "pylsp", "lua_ls", "julials", "zls", "ltex", "texlab" },
|
||||||
|
ensure_installed = { "bashls", "pylsp", "lua_ls", "julials", "ltex", "texlab" },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Set different settings for different languages" LSP
|
||||||
|
-- LSP list: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||||
|
-- How to use setup({}): https://github.com/neovim/nvim-lspconfig/wiki/Understanding-setup-%7B%7D
|
||||||
|
-- - the settings table is sent to the LSP
|
||||||
|
-- - on_attach: a lua callback function to run after LSP attaches to a given buffer
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
|
||||||
|
-- Customized on_attach function
|
||||||
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, opts)
|
||||||
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||||
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||||
|
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, opts)
|
||||||
|
|
||||||
|
-- Use an on_attach function to only map the following keys
|
||||||
|
-- after the language server attaches to the current buffer
|
||||||
|
local on_attach = function(_, bufnr)
|
||||||
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||||
|
-- For Zig
|
||||||
|
--require("completion").on_attach()
|
||||||
|
|
||||||
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
|
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||||
|
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
|
||||||
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
|
||||||
|
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
|
||||||
|
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>wl", function()
|
||||||
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
|
end, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
|
||||||
|
vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
|
||||||
|
vim.keymap.set("n", "<space>f", function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Configure each language
|
||||||
|
|
||||||
|
lspconfig.lua_ls.setup {
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
runtime = {
|
||||||
|
-- Tell the language server which version of Lua you"re using (most likely LuaJIT in the case of Neovim)
|
||||||
|
version = "LuaJIT",
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
-- Get the language server to recognize the `vim` global
|
||||||
|
globals = { "vim" },
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
-- Make the server aware of Neovim runtime files
|
||||||
|
library = vim.api.nvim_get_runtime_file("", true),
|
||||||
|
},
|
||||||
|
-- Do not send telemetry data containing a randomized but unique identifier
|
||||||
|
telemetry = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
lspconfig.pylsp.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
--lspconfig.julials.setup{}
|
||||||
|
--[[
|
||||||
|
]]--
|
||||||
|
lspconfig.julials.setup({
|
||||||
|
--on_attach = on_attach,
|
||||||
|
--symbol_cache_download = true,
|
||||||
|
--symbol_server = "https://symbol-server",
|
||||||
|
on_new_config = function(new_config, _)
|
||||||
|
local julia = vim.fn.expand("/usr/share/julia/bin/julia")
|
||||||
|
if require'lspconfig'.util.path.is_file(julia) then
|
||||||
|
vim.notify("julials loaded?!")
|
||||||
|
new_config.cmd[1] = julia
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
lspconfig.texlab.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
lspconfig.ltex.setup({
|
||||||
|
settings = {
|
||||||
|
ltex = {
|
||||||
|
language = "en-GB",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
lspconfig.zls.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
lspconfig.bashls.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- source: https://rust-analyzer.github.io/manual.html#nvim-lsp
|
||||||
|
--lspconfig.rust_analyzer.setup({
|
||||||
|
-- on_attach = on_attach,
|
||||||
|
-- settings = {
|
||||||
|
-- ["rust-analyzer"] = {
|
||||||
|
-- inlayHints = {
|
||||||
|
-- closingBraceHints = true, -- Whether to show inlay hints after a closing } to indicate what item it belongs to.
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
--})
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
|
||||||
|
if not null_ls_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
||||||
|
local formatting = null_ls.builtins.formatting
|
||||||
|
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
||||||
|
local diagnostics = null_ls.builtins.diagnostics
|
||||||
|
|
||||||
|
-- local sources = { null_ls.builtins.diagnostics.cspell, null_ls.builtins.code_actions.cspell }
|
||||||
|
|
||||||
|
null_ls.setup({
|
||||||
|
debug = false,
|
||||||
|
sources = {
|
||||||
|
formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
|
||||||
|
formatting.black.with({ extra_args = { "--fast" } }),
|
||||||
|
formatting.stylua,
|
||||||
|
-- null_ls.builtins.diagnostics.cspell,
|
||||||
|
-- null_ls.builtins.code_actions.cspell,
|
||||||
|
null_ls.builtins.completion.spell,
|
||||||
|
-- diagnostics.flake8
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,197 @@
|
||||||
|
local default_schemas = nil
|
||||||
|
local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls")
|
||||||
|
if status_ok then
|
||||||
|
default_schemas = jsonls_settings.get_default_schemas()
|
||||||
|
end
|
||||||
|
|
||||||
|
local schemas = {
|
||||||
|
{
|
||||||
|
description = "TypeScript compiler configuration file",
|
||||||
|
fileMatch = {
|
||||||
|
"tsconfig.json",
|
||||||
|
"tsconfig.*.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/tsconfig.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Lerna config",
|
||||||
|
fileMatch = { "lerna.json" },
|
||||||
|
url = "https://json.schemastore.org/lerna.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Babel configuration",
|
||||||
|
fileMatch = {
|
||||||
|
".babelrc.json",
|
||||||
|
".babelrc",
|
||||||
|
"babel.config.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/babelrc.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "ESLint config",
|
||||||
|
fileMatch = {
|
||||||
|
".eslintrc.json",
|
||||||
|
".eslintrc",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/eslintrc.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Bucklescript config",
|
||||||
|
fileMatch = { "bsconfig.json" },
|
||||||
|
url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Prettier config",
|
||||||
|
fileMatch = {
|
||||||
|
".prettierrc",
|
||||||
|
".prettierrc.json",
|
||||||
|
"prettier.config.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/prettierrc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Vercel Now config",
|
||||||
|
fileMatch = { "now.json" },
|
||||||
|
url = "https://json.schemastore.org/now",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Stylelint config",
|
||||||
|
fileMatch = {
|
||||||
|
".stylelintrc",
|
||||||
|
".stylelintrc.json",
|
||||||
|
"stylelint.config.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/stylelintrc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "A JSON schema for the ASP.NET LaunchSettings.json files",
|
||||||
|
fileMatch = { "launchsettings.json" },
|
||||||
|
url = "https://json.schemastore.org/launchsettings.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Schema for CMake Presets",
|
||||||
|
fileMatch = {
|
||||||
|
"CMakePresets.json",
|
||||||
|
"CMakeUserPresets.json",
|
||||||
|
},
|
||||||
|
url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Configuration file as an alternative for configuring your repository in the settings page.",
|
||||||
|
fileMatch = {
|
||||||
|
".codeclimate.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/codeclimate.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "LLVM compilation database",
|
||||||
|
fileMatch = {
|
||||||
|
"compile_commands.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/compile-commands.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Config file for Command Task Runner",
|
||||||
|
fileMatch = {
|
||||||
|
"commands.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/commands.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.",
|
||||||
|
fileMatch = {
|
||||||
|
"*.cf.json",
|
||||||
|
"cloudformation.json",
|
||||||
|
},
|
||||||
|
url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.",
|
||||||
|
fileMatch = {
|
||||||
|
"serverless.template",
|
||||||
|
"*.sam.json",
|
||||||
|
"sam.json",
|
||||||
|
},
|
||||||
|
url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Json schema for properties json file for a GitHub Workflow template",
|
||||||
|
fileMatch = {
|
||||||
|
".github/workflow-templates/**.properties.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/github-workflow-template-properties.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "golangci-lint configuration file",
|
||||||
|
fileMatch = {
|
||||||
|
".golangci.toml",
|
||||||
|
".golangci.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/golangci-lint.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "JSON schema for the JSON Feed format",
|
||||||
|
fileMatch = {
|
||||||
|
"feed.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/feed.json",
|
||||||
|
versions = {
|
||||||
|
["1"] = "https://json.schemastore.org/feed-1.json",
|
||||||
|
["1.1"] = "https://json.schemastore.org/feed.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Packer template JSON configuration",
|
||||||
|
fileMatch = {
|
||||||
|
"packer.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/packer.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "NPM configuration file",
|
||||||
|
fileMatch = {
|
||||||
|
"package.json",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/package.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "JSON schema for Visual Studio component configuration files",
|
||||||
|
fileMatch = {
|
||||||
|
"*.vsconfig",
|
||||||
|
},
|
||||||
|
url = "https://json.schemastore.org/vsconfig.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Resume json",
|
||||||
|
fileMatch = { "resume.json" },
|
||||||
|
url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local function extend(tab1, tab2)
|
||||||
|
for _, value in ipairs(tab2 or {}) do
|
||||||
|
table.insert(tab1, value)
|
||||||
|
end
|
||||||
|
return tab1
|
||||||
|
end
|
||||||
|
|
||||||
|
local extended_schemas = extend(schemas, default_schemas)
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
settings = {
|
||||||
|
json = {
|
||||||
|
schemas = extended_schemas,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup = {
|
||||||
|
commands = {
|
||||||
|
Format = {
|
||||||
|
function()
|
||||||
|
vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return opts
|
|
@ -0,0 +1,9 @@
|
||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
typeCheckingMode = "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "vim" },
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
library = {
|
||||||
|
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
|
||||||
|
[vim.fn.stdpath("config") .. "/lua"] = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,93 @@
|
||||||
|
local status_ok, lualine = pcall(require, "lualine")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local hide_in_width = function()
|
||||||
|
return vim.fn.winwidth(0) > 80
|
||||||
|
end
|
||||||
|
|
||||||
|
local diagnostics = {
|
||||||
|
"diagnostics",
|
||||||
|
sources = { "nvim_diagnostic" },
|
||||||
|
sections = { "error", "warn" },
|
||||||
|
symbols = { error = " ", warn = " " },
|
||||||
|
colored = false,
|
||||||
|
update_in_insert = false,
|
||||||
|
always_visible = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
local diff = {
|
||||||
|
"diff",
|
||||||
|
colored = false,
|
||||||
|
symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols
|
||||||
|
cond = hide_in_width
|
||||||
|
}
|
||||||
|
|
||||||
|
local mode = {
|
||||||
|
"mode",
|
||||||
|
fmt = function(str)
|
||||||
|
return "-- " .. str .. " --"
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
local filetype = {
|
||||||
|
"filetype",
|
||||||
|
icons_enabled = false,
|
||||||
|
icon = nil,
|
||||||
|
}
|
||||||
|
|
||||||
|
local branch = {
|
||||||
|
"branch",
|
||||||
|
icons_enabled = true,
|
||||||
|
icon = "",
|
||||||
|
}
|
||||||
|
|
||||||
|
local location = {
|
||||||
|
"location",
|
||||||
|
padding = 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- cool function for progress
|
||||||
|
local progress = function()
|
||||||
|
local current_line = vim.fn.line(".")
|
||||||
|
local total_lines = vim.fn.line("$")
|
||||||
|
local chars = { "__", "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
|
||||||
|
local line_ratio = current_line / total_lines
|
||||||
|
local index = math.ceil(line_ratio * #chars)
|
||||||
|
return chars[index]
|
||||||
|
end
|
||||||
|
|
||||||
|
local spaces = function()
|
||||||
|
return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth")
|
||||||
|
end
|
||||||
|
|
||||||
|
lualine.setup({
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = "auto",
|
||||||
|
component_separators = { left = "", right = "" },
|
||||||
|
section_separators = { left = "", right = "" },
|
||||||
|
disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline" },
|
||||||
|
always_divide_middle = true,
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { branch, diagnostics },
|
||||||
|
lualine_b = { mode },
|
||||||
|
lualine_c = {},
|
||||||
|
-- lualine_x = { "encoding", "fileformat", "filetype" },
|
||||||
|
lualine_x = { diff, spaces, "encoding", filetype },
|
||||||
|
lualine_y = { location },
|
||||||
|
lualine_z = { progress },
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = { "filename" },
|
||||||
|
lualine_x = { "location" },
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
},
|
||||||
|
tabline = {},
|
||||||
|
extensions = {},
|
||||||
|
})
|
|
@ -0,0 +1,3 @@
|
||||||
|
local ls = require("luasnip")
|
||||||
|
|
||||||
|
require("luasnip.loaders.from_snipmate").load({ paths = "~/.config/nvim/snippets/" })
|
|
@ -0,0 +1,99 @@
|
||||||
|
local status_ok, nvim_tree = pcall(require, "nvim-tree")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
|
||||||
|
if not config_status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local tree_cb = nvim_tree_config.nvim_tree_callback
|
||||||
|
|
||||||
|
-- vim.g.loaded_netrw = 1
|
||||||
|
-- vim.g.loaded_netrwPlugin = 1
|
||||||
|
vim.g.nvim_tree_respect_buf_cwd = 1
|
||||||
|
|
||||||
|
nvim_tree.setup {
|
||||||
|
-- sync_root_with_cwd = true,
|
||||||
|
-- respect_buf_cwd = true,
|
||||||
|
-- disable_netrw = true,
|
||||||
|
-- hijack_netrw = true,
|
||||||
|
-- respect_buf_cwd = false,
|
||||||
|
-- update_cwd = false,
|
||||||
|
actions = {
|
||||||
|
open_file = {
|
||||||
|
quit_on_open =true,
|
||||||
|
},
|
||||||
|
change_dir = {
|
||||||
|
enable = true,
|
||||||
|
global = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
enable = true,
|
||||||
|
ignore = false,
|
||||||
|
timeout = 500,
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
custom = { ".git" },
|
||||||
|
},
|
||||||
|
update_focused_file = {
|
||||||
|
enable = true,
|
||||||
|
update_cwd = true,
|
||||||
|
-- ignore_list = {},
|
||||||
|
-- update_root = true,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
root_folder_modifier = ":t",
|
||||||
|
icons = {
|
||||||
|
glyphs = {
|
||||||
|
default = "",
|
||||||
|
symlink = "",
|
||||||
|
folder = {
|
||||||
|
arrow_open = "",
|
||||||
|
arrow_closed = "",
|
||||||
|
default = "",
|
||||||
|
open = "",
|
||||||
|
empty = "",
|
||||||
|
empty_open = "",
|
||||||
|
symlink = "",
|
||||||
|
symlink_open = "",
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
unstaged = "",
|
||||||
|
staged = "S",
|
||||||
|
unmerged = "",
|
||||||
|
renamed = "➜",
|
||||||
|
untracked = "U",
|
||||||
|
deleted = "",
|
||||||
|
ignored = "◌",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
show_on_dirs = true,
|
||||||
|
icons = {
|
||||||
|
hint = "",
|
||||||
|
info = "",
|
||||||
|
warning = "",
|
||||||
|
error = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
--[[
|
||||||
|
view = {
|
||||||
|
width = 30,
|
||||||
|
side = "left",
|
||||||
|
mappings = {
|
||||||
|
list = {
|
||||||
|
{ key = { "l", "<CR>", "o" }, cb = tree_cb "edit" },
|
||||||
|
{ key = "h", cb = tree_cb "close_node" },
|
||||||
|
{ key = "v", cb = tree_cb "vsplit" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]]--
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
local options = {
|
||||||
|
spell = true,
|
||||||
|
spelllang = { 'en_gb' },
|
||||||
|
backup = false, -- creates a backup file
|
||||||
|
clipboard = "unnamedplus", -- allows neovim to access the system clipboard
|
||||||
|
cmdheight = 2, -- more space in the neovim command line for displaying messages
|
||||||
|
completeopt = { "menuone", "noselect" }, -- mostly just for cmp
|
||||||
|
conceallevel = 0, -- so that `` is visible in markdown files
|
||||||
|
fileencoding = "utf-8", -- the encoding written to a file
|
||||||
|
hlsearch = true, -- highlight all matches on previous search pattern
|
||||||
|
ignorecase = true, -- ignore case in search patterns
|
||||||
|
mouse = "a", -- allow the mouse to be used in neovim
|
||||||
|
pumheight = 10, -- pop up menu height
|
||||||
|
showmode = false, -- we don't need to see things like -- INSERT -- anymore
|
||||||
|
showtabline = 2, -- always show tabs
|
||||||
|
smartcase = true, -- smart case
|
||||||
|
smartindent = false, -- make indenting smarter again
|
||||||
|
autoindent = false, -- make indenting smarter again
|
||||||
|
splitbelow = true, -- force all horizontal splits to go below current window
|
||||||
|
splitright = true, -- force all vertical splits to go to the right of current window
|
||||||
|
swapfile = false, -- creates a swapfile
|
||||||
|
termguicolors = true, -- set term gui colors (most terminals support this)
|
||||||
|
timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||||
|
undofile = true, -- enable persistent undo
|
||||||
|
updatetime = 300, -- faster completion (4000ms default)
|
||||||
|
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
|
||||||
|
expandtab = true, -- convert tabs to spaces
|
||||||
|
shiftwidth = 2, -- the number of spaces inserted for each indentation
|
||||||
|
tabstop = 2, -- insert 2 spaces for a tab
|
||||||
|
cursorline = true, -- highlight the current line
|
||||||
|
number = true, -- set numbered lines
|
||||||
|
relativenumber = true, -- set relative numbered lines
|
||||||
|
numberwidth = 4, -- set number column width to 2 {default 4}
|
||||||
|
|
||||||
|
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
|
||||||
|
wrap = true, -- display lines as one long line
|
||||||
|
breakindent = true, -- tab wrapped lines
|
||||||
|
linebreak = true, -- companion to wrap, don't split words
|
||||||
|
showbreak = " ", -- set indent of wrapped lines
|
||||||
|
scrolloff = 7, -- minimal number of screen lines to keep above and below the cursor
|
||||||
|
sidescrolloff = 7, -- minimal number of screen columns either side of cursor if wrap is `false`
|
||||||
|
guifont = "monospace:h17", -- the font used in graphical neovim applications
|
||||||
|
}
|
||||||
|
|
||||||
|
-- INDENT -- (see also vimtex.lua)
|
||||||
|
vim.g['tex_flavor'] = 'latex'
|
||||||
|
vim.g['tex_indent_items'] = 0 -- turn off enumerate indent
|
||||||
|
vim.g['tex_indent_brace'] = 0 -- turn off brace indent
|
||||||
|
-- vim.g['tex_indent_and'] = 0 -- whether to align with &
|
||||||
|
-- vim.g['latex_indent_enabled'] = 0
|
||||||
|
-- vim.g['vimtex_indent_enabled'] = 0
|
||||||
|
-- vim.g['did_indent'] = 1
|
||||||
|
|
||||||
|
vim.opt.shortmess:append "c"
|
||||||
|
|
||||||
|
for k, v in pairs(options) do
|
||||||
|
vim.opt[k] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd "set whichwrap+=<,>,[,],h,l"
|
||||||
|
-- vim.cmd [[set iskeyword+=-]] -- unites dashed words
|
||||||
|
|
||||||
|
-- CLIPBOARD -- (for yanky)
|
||||||
|
-- Mac users delete to avoid "target string not available" error
|
||||||
|
--vim.g.clipboard = {
|
||||||
|
-- name = "xsel_override",
|
||||||
|
-- copy = {
|
||||||
|
-- ["+"] = "xsel --input --clipboard",
|
||||||
|
-- ["*"] = "xsel --input --primary",
|
||||||
|
-- },
|
||||||
|
-- paste = {
|
||||||
|
-- ["+"] = "xsel --output --clipboard",
|
||||||
|
-- ["*"] = "xsel --output --primary",
|
||||||
|
-- },
|
||||||
|
-- cache_enabled = 1,
|
||||||
|
--}
|
||||||
|
|
|
@ -0,0 +1,180 @@
|
||||||
|
local fn = vim.fn
|
||||||
|
|
||||||
|
-- Automatically install packer
|
||||||
|
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
||||||
|
if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
PACKER_BOOTSTRAP = fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--depth",
|
||||||
|
"1",
|
||||||
|
"https://github.com/wbthomason/packer.nvim",
|
||||||
|
install_path,
|
||||||
|
})
|
||||||
|
print("Installing packer close and reopen Neovim...")
|
||||||
|
vim.cmd([[packadd packer.nvim]])
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Autocommand that reloads neovim whenever you save the plugins.lua file
|
||||||
|
vim.cmd([[
|
||||||
|
augroup packer_user_config
|
||||||
|
autocmd!
|
||||||
|
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
||||||
|
augroup end
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- Use a protected call so we don't error out on first use
|
||||||
|
local status_ok, packer = pcall(require, "packer")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Have packer use a popup window
|
||||||
|
packer.init({
|
||||||
|
display = {
|
||||||
|
open_fn = function()
|
||||||
|
return require("packer.util").float({ border = "rounded" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Packer
|
||||||
|
return packer.startup(function(use)
|
||||||
|
-- Have packer manage itself
|
||||||
|
use { "wbthomason/packer.nvim" }
|
||||||
|
-- Useful lua functions used by lots of plugins
|
||||||
|
use { "nvim-lua/plenary.nvim" }
|
||||||
|
|
||||||
|
-- General
|
||||||
|
use { "windwp/nvim-autopairs" }
|
||||||
|
use { "numToStr/Comment.nvim" }
|
||||||
|
use { "lewis6991/impatient.nvim" }
|
||||||
|
use { "kylechui/nvim-surround" }
|
||||||
|
use { "mbbill/undotree" } -- Vimscript
|
||||||
|
-- use { "mg979/vim-visual-multi" } -- Vimscript
|
||||||
|
use { "glacambre/firenvim" } -- Vimscript
|
||||||
|
--use { "gbprod/yanky.nvim" }
|
||||||
|
|
||||||
|
-- Mappings
|
||||||
|
use { "folke/which-key.nvim" }
|
||||||
|
|
||||||
|
-- Terminal
|
||||||
|
use { "akinsho/toggleterm.nvim" }
|
||||||
|
|
||||||
|
-- File Management
|
||||||
|
use { "kyazdani42/nvim-tree.lua" }
|
||||||
|
use { "kyazdani42/nvim-web-devicons" }
|
||||||
|
use { "Shatur/neovim-session-manager" }
|
||||||
|
|
||||||
|
-- Appearance
|
||||||
|
-- use { "akinsho/bufferline.nvim" }
|
||||||
|
use { "nvim-lualine/lualine.nvim" }
|
||||||
|
use { "lukas-reineke/indent-blankline.nvim" }
|
||||||
|
use { "goolord/alpha-nvim" }
|
||||||
|
use { "RRethy/vim-illuminate" }
|
||||||
|
|
||||||
|
-- Colorschemes
|
||||||
|
use {
|
||||||
|
"rose-pine/neovim",
|
||||||
|
as = "rose-pine",
|
||||||
|
}
|
||||||
|
-- use { "ellisonleao/gruvbox.nvim" }
|
||||||
|
-- use { "luisiacc/gruvbox-baby" }
|
||||||
|
-- use { "folke/tokyonight.nvim" }
|
||||||
|
-- use { "lunarvim/darkplus.nvim" }
|
||||||
|
-- use { "navarasu/onedark.nvim" }
|
||||||
|
-- use { "savq/melange" }
|
||||||
|
-- use { "EdenEast/nightfox.nvim" }
|
||||||
|
-- use { "navarasu/onedark.nvim" }
|
||||||
|
|
||||||
|
-- Cmp
|
||||||
|
use { "hrsh7th/nvim-cmp" }
|
||||||
|
use { "hrsh7th/cmp-nvim-lsp" }
|
||||||
|
-- buffer completions
|
||||||
|
use { "hrsh7th/cmp-buffer" }
|
||||||
|
-- path completions
|
||||||
|
use { "hrsh7th/cmp-path" }
|
||||||
|
-- snippet completions
|
||||||
|
use { "saadparwaiz1/cmp_luasnip" }
|
||||||
|
-- command completions
|
||||||
|
use { "hrsh7th/cmp-cmdline" }
|
||||||
|
-- spelling completions
|
||||||
|
use { "f3fora/cmp-spell" }
|
||||||
|
-- helps Vimtex completions
|
||||||
|
use { "hrsh7th/cmp-omni" }
|
||||||
|
-- use { "aspeddro/cmp-pandoc.nvim" }
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
-- enable LSP
|
||||||
|
use { "neovim/nvim-lspconfig" }
|
||||||
|
-- simple to use language server installer
|
||||||
|
use { "williamboman/mason.nvim", run = ":MasonUpdate" }
|
||||||
|
use { "williamboman/mason-lspconfig.nvim" }
|
||||||
|
-- for formatters and linters
|
||||||
|
use { "jose-elias-alvarez/null-ls.nvim" }
|
||||||
|
|
||||||
|
-- LaTeX
|
||||||
|
use { "lervag/vimtex" } -- essential for LaTeX; Vimscript
|
||||||
|
use { "kdheepak/cmp-latex-symbols" }
|
||||||
|
use { "jbyuki/nabla.nvim" } -- show symbols in editor
|
||||||
|
|
||||||
|
-- Markdown
|
||||||
|
use({
|
||||||
|
"gaoDean/autolist.nvim",
|
||||||
|
ft = {
|
||||||
|
"markdown",
|
||||||
|
"text",
|
||||||
|
"tex",
|
||||||
|
"plaintex",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local autolist = require("autolist")
|
||||||
|
autolist.setup()
|
||||||
|
autolist.create_mapping_hook("i", "<CR>", autolist.new)
|
||||||
|
autolist.create_mapping_hook("i", "<Tab>", autolist.indent)
|
||||||
|
autolist.create_mapping_hook("i", "<S-Tab>", autolist.indent, "<C-D>")
|
||||||
|
autolist.create_mapping_hook("n", "o", autolist.new)
|
||||||
|
autolist.create_mapping_hook("n", "O", autolist.new_before)
|
||||||
|
-- autolist.create_mapping_hook("n", ">>", autolist.indent)
|
||||||
|
-- autolist.create_mapping_hook("n", "<<", autolist.indent)
|
||||||
|
autolist.create_mapping_hook("n", "<leader>r", autolist.force_recalculate)
|
||||||
|
autolist.create_mapping_hook("n", "<leader>x", autolist.invert_entry, "")
|
||||||
|
vim.api.nvim_create_autocmd("TextChanged", {
|
||||||
|
pattern = "-",
|
||||||
|
callback = function()
|
||||||
|
vim.cmd.normal({autolist.force_recalculate(nil, nil), bang = false})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Snippets
|
||||||
|
--snippet engine
|
||||||
|
use { "L3MON4D3/LuaSnip" }
|
||||||
|
-- a bunch of snippets to use
|
||||||
|
-- use { "garbas/vim-snipmate" }
|
||||||
|
-- use { "rafamadriz/friendly-snippets" }
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
use { "nvim-telescope/telescope.nvim" }
|
||||||
|
-- , commit = "76ea9a898d3307244dce3573392dcf2cc38f340f"
|
||||||
|
use { "stevearc/dressing.nvim" }
|
||||||
|
use { "nvim-telescope/telescope-bibtex.nvim",
|
||||||
|
config = function ()
|
||||||
|
require"telescope".load_extension("bibtex")
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Treesitter
|
||||||
|
use { "nvim-treesitter/nvim-treesitter" }
|
||||||
|
-- , commit = "8e763332b7bf7b3a426fd8707b7f5aa85823a5ac"
|
||||||
|
|
||||||
|
-- Git
|
||||||
|
use { "lewis6991/gitsigns.nvim" }
|
||||||
|
|
||||||
|
-- Automatically set up your configuration after cloning packer.nvim
|
||||||
|
-- Put this at the end after all plugins
|
||||||
|
if PACKER_BOOTSTRAP then
|
||||||
|
require("packer").sync()
|
||||||
|
end
|
||||||
|
end)
|
|
@ -0,0 +1,17 @@
|
||||||
|
local Path = require('plenary.path')
|
||||||
|
|
||||||
|
require('session_manager').setup({
|
||||||
|
sessions_dir = Path:new(vim.fn.stdpath('data'), 'sessions'), -- The directory where the session files will be saved.
|
||||||
|
path_replacer = '__', -- The character to which the path separator will be replaced for session files.
|
||||||
|
colon_replacer = '++', -- The character to which the colon symbol will be replaced for session files.
|
||||||
|
autoload_mode = require('session_manager.config').AutoloadMode.Disabled, -- Define what to do when Neovim is started without arguments. Possible values: Disabled, CurrentDir, LastSession
|
||||||
|
autosave_last_session = true, -- Automatically save last session on exit and on session switch.
|
||||||
|
autosave_ignore_not_normal = true, -- Plugin will not save a session when no buffers are opened, or all of them aren't writable or listed.
|
||||||
|
autosave_ignore_dirs = {}, -- A list of directories where the session will not be autosaved.
|
||||||
|
autosave_ignore_filetypes = { -- All buffers of these file types will be closed before the session is saved.
|
||||||
|
'gitcommit',
|
||||||
|
},
|
||||||
|
autosave_ignore_buftypes = {}, -- All buffers of these bufer types will be closed before the session is saved.
|
||||||
|
autosave_only_in_session = true, -- Always autosaves session. If true, only autosaves after a session is active.
|
||||||
|
max_path_length = 80, -- Shorten the display path if length exceeds this threshold. Use 0 if don't want to shorten the path at all.
|
||||||
|
})
|
|
@ -0,0 +1,22 @@
|
||||||
|
require("nvim-surround").setup({
|
||||||
|
keymaps = {
|
||||||
|
insert = false,
|
||||||
|
insert_line = false,
|
||||||
|
normal = false,
|
||||||
|
normal_cur = false,
|
||||||
|
normal_line = false,
|
||||||
|
normal_cur_line = false,
|
||||||
|
visual = "<S-s>",
|
||||||
|
visual_line = false,
|
||||||
|
delete = false,
|
||||||
|
change = false,
|
||||||
|
},
|
||||||
|
aliases = {
|
||||||
|
["a"] = false,
|
||||||
|
["b"] = false,
|
||||||
|
["B"] = false,
|
||||||
|
["r"] = false,
|
||||||
|
["q"] = false,
|
||||||
|
["s"] = false,
|
||||||
|
},
|
||||||
|
})
|
|
@ -0,0 +1,138 @@
|
||||||
|
local status_ok, telescope = pcall(require, "telescope")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local actions = require "telescope.actions"
|
||||||
|
|
||||||
|
-- local job_opts = {
|
||||||
|
-- entry_maker = function(entry)
|
||||||
|
-- local _, _, filename, lnum, col, text = string.find(entry, "([^:]+):(%d+):(.*)")
|
||||||
|
-- local table = {
|
||||||
|
-- ordinal = text,
|
||||||
|
-- display = filename .. ":" .. text
|
||||||
|
-- }
|
||||||
|
-- return table
|
||||||
|
-- end
|
||||||
|
-- }
|
||||||
|
--
|
||||||
|
-- local opts = {
|
||||||
|
-- finder = finders.new_oneshot_job(rg, job_opts),
|
||||||
|
-- sorter = sorters.get_generic_fuzzy_sorter(),
|
||||||
|
-- }
|
||||||
|
|
||||||
|
telescope.setup {
|
||||||
|
defaults = {
|
||||||
|
prompt_prefix = " ",
|
||||||
|
selection_caret = " ",
|
||||||
|
path_display = { "smart" },
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<C-n>"] = actions.cycle_history_next,
|
||||||
|
["<C-p>"] = actions.cycle_history_prev,
|
||||||
|
|
||||||
|
["<C-j>"] = actions.move_selection_next,
|
||||||
|
["<C-k>"] = actions.move_selection_previous,
|
||||||
|
|
||||||
|
["<C-c>"] = actions.close,
|
||||||
|
|
||||||
|
["<Down>"] = actions.move_selection_next,
|
||||||
|
["<Up>"] = actions.move_selection_previous,
|
||||||
|
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-x>"] = actions.select_horizontal,
|
||||||
|
["<C-v>"] = actions.select_vertical,
|
||||||
|
["<C-t>"] = actions.select_tab,
|
||||||
|
|
||||||
|
["<C-u>"] = actions.preview_scrolling_up,
|
||||||
|
["<C-d>"] = actions.preview_scrolling_down,
|
||||||
|
|
||||||
|
["<PageUp>"] = actions.results_scrolling_up,
|
||||||
|
["<PageDown>"] = actions.results_scrolling_down,
|
||||||
|
|
||||||
|
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||||
|
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||||
|
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
|
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
|
["<C-l>"] = actions.complete_tag,
|
||||||
|
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
||||||
|
},
|
||||||
|
|
||||||
|
n = {
|
||||||
|
["<esc>"] = actions.close,
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-x>"] = actions.select_horizontal,
|
||||||
|
["<C-v>"] = actions.select_vertical,
|
||||||
|
["<C-t>"] = actions.select_tab,
|
||||||
|
|
||||||
|
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||||
|
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||||
|
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
|
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
|
|
||||||
|
["j"] = actions.move_selection_next,
|
||||||
|
["k"] = actions.move_selection_previous,
|
||||||
|
["H"] = actions.move_to_top,
|
||||||
|
["M"] = actions.move_to_middle,
|
||||||
|
["L"] = actions.move_to_bottom,
|
||||||
|
|
||||||
|
["<Down>"] = actions.move_selection_next,
|
||||||
|
["<Up>"] = actions.move_selection_previous,
|
||||||
|
["gg"] = actions.move_to_top,
|
||||||
|
["G"] = actions.move_to_bottom,
|
||||||
|
|
||||||
|
["<C-u>"] = actions.preview_scrolling_up,
|
||||||
|
["<C-d>"] = actions.preview_scrolling_down,
|
||||||
|
|
||||||
|
["<PageUp>"] = actions.results_scrolling_up,
|
||||||
|
["<PageDown>"] = actions.results_scrolling_down,
|
||||||
|
|
||||||
|
["?"] = actions.which_key,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pickers = {
|
||||||
|
-- Default configuration for builtin pickers goes here:
|
||||||
|
-- picker_name = {
|
||||||
|
-- picker_config_key = value,
|
||||||
|
-- ...
|
||||||
|
-- }
|
||||||
|
-- Now the picker_config_key will be applied every time you call this
|
||||||
|
-- builtin picker
|
||||||
|
},
|
||||||
|
load_extensions = { "yank_history", "bibtex" },
|
||||||
|
extensions = {
|
||||||
|
bibtex = {
|
||||||
|
depth = 1,
|
||||||
|
-- Depth for the *.bib file
|
||||||
|
custom_formats = {},
|
||||||
|
-- Custom format for citation label
|
||||||
|
format = '',
|
||||||
|
-- Format to use for citation label.
|
||||||
|
-- Try to match the filetype by default, or use 'plain'
|
||||||
|
global_files = {'~/texmf/bibtex/bib/Zotero.bib'},
|
||||||
|
-- Path to global bibliographies (placed outside of the project)
|
||||||
|
search_keys = { 'author', 'year', 'title' },
|
||||||
|
-- Define the search keys to use in the picker
|
||||||
|
citation_format = '{{author}} ({{year}}), {{title}}.',
|
||||||
|
-- Template for the formatted citation
|
||||||
|
citation_trim_firstname = true,
|
||||||
|
-- Only use initials for the authors first name
|
||||||
|
citation_max_auth = 2,
|
||||||
|
-- Max number of authors to write in the formatted citation
|
||||||
|
-- following authors will be replaced by "et al."
|
||||||
|
context = false,
|
||||||
|
-- Context awareness disabled by default
|
||||||
|
context_fallback = true,
|
||||||
|
-- Fallback to global/directory .bib files if context not found
|
||||||
|
-- This setting has no effect if context = false
|
||||||
|
wrap = false,
|
||||||
|
-- Wrapping in the preview window is disabled by default
|
||||||
|
},
|
||||||
|
-- Your extension configuration goes here:
|
||||||
|
-- extension_name = {
|
||||||
|
-- extension_config_key = value,
|
||||||
|
-- }
|
||||||
|
-- please take a look at the readme of the extension you want to configure
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,72 @@
|
||||||
|
local status_ok, toggleterm = pcall(require, "toggleterm")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
toggleterm.setup({
|
||||||
|
--size = 20,
|
||||||
|
size = 8,
|
||||||
|
open_mapping = [[<c-t>]],
|
||||||
|
hide_numbers = true,
|
||||||
|
shade_filetypes = {},
|
||||||
|
shade_terminals = true,
|
||||||
|
shading_factor = 2,
|
||||||
|
start_in_insert = true,
|
||||||
|
insert_mappings = true,
|
||||||
|
persist_size = true,
|
||||||
|
-- direction = 'vertical' | 'horizontal' | 'tab' | 'float'
|
||||||
|
direction = "horizontal",
|
||||||
|
close_on_exit = true,
|
||||||
|
shell = vim.o.shell,
|
||||||
|
float_opts = {
|
||||||
|
border = "curved",
|
||||||
|
winblend = 0,
|
||||||
|
highlights = {
|
||||||
|
border = "Normal",
|
||||||
|
background = "Normal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
function _G.set_terminal_keymaps()
|
||||||
|
local opts = {noremap = true}
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-t><C-n>]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<C-t><C-n>]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-h>', [[<C-t><C-n><C-W>h]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-j>', [[<C-t><C-n><C-W>j]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-k>', [[<C-t><C-n><C-W>k]], opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(0, 't', '<C-l>', [[<C-t><C-n><C-W>l]], opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
|
||||||
|
|
||||||
|
local Terminal = require("toggleterm.terminal").Terminal
|
||||||
|
local lazygit = Terminal:new({ cmd = "lazygit", hidden = true })
|
||||||
|
|
||||||
|
function _LAZYGIT_TOGGLE()
|
||||||
|
lazygit:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
local node = Terminal:new({ cmd = "node", hidden = true })
|
||||||
|
|
||||||
|
function _NODE_TOGGLE()
|
||||||
|
node:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
|
||||||
|
|
||||||
|
function _NCDU_TOGGLE()
|
||||||
|
ncdu:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
local htop = Terminal:new({ cmd = "htop", hidden = true })
|
||||||
|
|
||||||
|
function _HTOP_TOGGLE()
|
||||||
|
htop:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
local python = Terminal:new({ cmd = "python", hidden = true })
|
||||||
|
|
||||||
|
function _PYTHON_TOGGLE()
|
||||||
|
python:toggle()
|
||||||
|
end
|
|
@ -0,0 +1,33 @@
|
||||||
|
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = { -- list "all" or a list of languages
|
||||||
|
"markdown_inline",
|
||||||
|
"markdown",
|
||||||
|
"lua",
|
||||||
|
"python",
|
||||||
|
"vim",
|
||||||
|
"yaml",
|
||||||
|
--"perl",
|
||||||
|
"json",
|
||||||
|
"html",
|
||||||
|
"vimdoc",
|
||||||
|
--"haskell",
|
||||||
|
"gitignore",
|
||||||
|
"bibtex",
|
||||||
|
"julia",
|
||||||
|
},
|
||||||
|
ignore_install = { "latex" }, -- List of parsers to ignore installing
|
||||||
|
highlight = {
|
||||||
|
enable = true, -- false will disable the whole extension
|
||||||
|
disable = { "css", "latex" }, -- list of language that will be disabled
|
||||||
|
-- additional_vim_regex_highlighting = { "latex", "markdown" },
|
||||||
|
},
|
||||||
|
autopairs = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
indent = { enable = true, disable = { "latex", "python", "css", "julia" } },
|
||||||
|
})
|
|
@ -0,0 +1,2 @@
|
||||||
|
vim.g["undotree_SetFocusWhenToggle"] = true
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
-- PDF Viewer:
|
||||||
|
-- http://manpages.ubuntu.com/manpages/trusty/man5/zathurarc.5.html
|
||||||
|
vim.g['vimtex_view_method'] = 'zathura'
|
||||||
|
vim.g['vimtex_quickfix_mode'] =0
|
||||||
|
|
||||||
|
-- Ignore mappings
|
||||||
|
vim.g['vimtex_mappings_enabled'] = 1
|
||||||
|
|
||||||
|
-- Auto Indent
|
||||||
|
vim.g['vimtex_indent_enabled'] = 1
|
||||||
|
|
||||||
|
-- Syntax highlighting
|
||||||
|
vim.g['vimtex_syntax_enabled'] = 1
|
||||||
|
|
||||||
|
-- Error suppression:
|
||||||
|
-- https://github.com/lervag/vimtex/blob/master/doc/vimtex.txt
|
||||||
|
|
||||||
|
vim.g['vimtex_log_ignore'] = ({
|
||||||
|
'Underfull',
|
||||||
|
'Overfull',
|
||||||
|
'specifier changed to',
|
||||||
|
'Token not allowed in a PDF string',
|
||||||
|
})
|
||||||
|
|
||||||
|
--vim.g['vimtex_context_pdf_viewer'] = 'okular'
|
||||||
|
vim.g['vimtex_context_pdf_viewer'] = 'zathura'
|
||||||
|
|
||||||
|
-- vim.g['vimtex_complete_enabled'] = 1
|
||||||
|
-- vim.g['vimtex_compiler_progname'] = 'nvr'
|
||||||
|
-- vim.g['vimtex_complete_close_braces'] = 1
|
|
@ -0,0 +1,209 @@
|
||||||
|
local status_ok, which_key = pcall(require, "which-key")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local setup = {
|
||||||
|
plugins = {
|
||||||
|
marks = false, -- shows a list of your marks on ' and `
|
||||||
|
registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
|
||||||
|
spelling = {
|
||||||
|
enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
|
||||||
|
suggestions = 10, -- how many suggestions should be shown in the list?
|
||||||
|
},
|
||||||
|
-- the presets plugin, adds help for a bunch of default keybindings in Neovim
|
||||||
|
-- No actual key bindings are created
|
||||||
|
presets = {
|
||||||
|
operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
|
||||||
|
motions = false, -- adds help for motions
|
||||||
|
text_objects = false, -- help for text objects triggered after entering an operator
|
||||||
|
windows = false, -- default bindings on <c-w>
|
||||||
|
nav = false, -- misc bindings to work with windows
|
||||||
|
z = false, -- bindings for folds, spelling and others prefixed with z
|
||||||
|
g = false, -- bindings for prefixed with g
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- add operators that will trigger motion and text object completion
|
||||||
|
-- to enable native operators, set the preset / operators plugin above
|
||||||
|
-- operators = { gc = "Comments" },
|
||||||
|
key_labels = {
|
||||||
|
-- override the label used to display some keys. It doesn't effect WK in any other way.
|
||||||
|
-- For example:
|
||||||
|
-- ["<space>"] = "SPC",
|
||||||
|
-- ["<CR>"] = "RET",
|
||||||
|
-- ["<tab>"] = "TAB",
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
||||||
|
separator = "➜", -- symbol used between a key and it's label
|
||||||
|
group = "+", -- symbol prepended to a group
|
||||||
|
},
|
||||||
|
popup_mappings = {
|
||||||
|
scroll_down = "<c-d>", -- binding to scroll down inside the popup
|
||||||
|
scroll_up = "<c-u>", -- binding to scroll up inside the popup
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
border = "rounded", -- none, single, double, shadow
|
||||||
|
position = "bottom", -- bottom, top
|
||||||
|
margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
|
||||||
|
padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
|
||||||
|
winblend = 0,
|
||||||
|
},
|
||||||
|
layout = {
|
||||||
|
height = { min = 4, max = 25 }, -- min and max height of the columns
|
||||||
|
width = { min = 20, max = 50 }, -- min and max width of the columns
|
||||||
|
spacing = 3, -- spacing between columns
|
||||||
|
align = "left", -- align columns left, center or right
|
||||||
|
},
|
||||||
|
ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label
|
||||||
|
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
|
||||||
|
show_help = true, -- show help message on the command line when the popup is visible
|
||||||
|
triggers = "auto", -- automatically setup triggers
|
||||||
|
-- triggers = {"<leader>"} -- or specify a list manually
|
||||||
|
triggers_blacklist = {
|
||||||
|
-- list of mode / prefixes that should never be hooked by WhichKey
|
||||||
|
-- this is mostly relevant for key maps that start with a native binding
|
||||||
|
-- most people should not need to change this
|
||||||
|
i = { "j", "k" },
|
||||||
|
v = { "j", "k" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
mode = "n", -- NORMAL mode
|
||||||
|
prefix = "<leader>",
|
||||||
|
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
||||||
|
silent = true, -- use `silent` when creating keymaps
|
||||||
|
noremap = true, -- use `noremap` when creating keymaps
|
||||||
|
nowait = true, -- use `nowait` when creating keymaps
|
||||||
|
}
|
||||||
|
|
||||||
|
-- hjknoyz
|
||||||
|
|
||||||
|
-- GENERAL MAPPINGS
|
||||||
|
|
||||||
|
local mappings = {
|
||||||
|
["b"] = { "<cmd>VimtexCompile<CR>" , "build" },
|
||||||
|
["c"] = { "<cmd>VimtexCountWords!<CR>" , "count" },
|
||||||
|
["d"] = { "<cmd>bdelete!<CR>" , "delete buffer" },
|
||||||
|
["e"] = { "<cmd>NvimTreeToggle<CR>" , "explorer" },
|
||||||
|
["i"] = { "<cmd>VimtexTocOpen<CR>" , "index" },
|
||||||
|
["q"] = { "<cmd>wqa!<CR>" , "quit" },
|
||||||
|
["r"] = { "" , "reorder" },
|
||||||
|
-- ["r"] = { "<cmd>lua require('autolist').force_recalculate()<CR>" , "reorder list" },
|
||||||
|
["u"] = { "<cmd>UndotreeToggle<CR>" , "undo" },
|
||||||
|
["v"] = { "<cmd>VimtexView<CR>" , "view" },
|
||||||
|
["w"] = { "<cmd>wa!<CR>" , "write" },
|
||||||
|
["x"] = { "" , "checkmark" },
|
||||||
|
-- ["x"] = { "<cmd>lua require('autolist').invert_entry()<CR>" , "checkmark" },
|
||||||
|
a = {
|
||||||
|
name = "ACTIONS",
|
||||||
|
a = { "<cmd>lua PdfAnnots()<CR>", "annotate"},
|
||||||
|
b = { "<cmd>terminal bibexport -o %:p:r.bib %:p:r.aux<CR>", "bib export"},
|
||||||
|
c = { "<cmd>VimtexClean<CR>" , "clean aux" },
|
||||||
|
g = { "<cmd>e ~/.config/nvim/templates/Glossary.tex<CR>", "edit glossary"},
|
||||||
|
h = { "<cmd>lua _HTOP_TOGGLE()<CR>", "htop" },
|
||||||
|
i = { "<cmd>IlluminateToggle<CR>" , "illuminate" },
|
||||||
|
l = { "<cmd>lua vim.g.cmptoggle = not vim.g.cmptoggle<CR>", "LSP"},
|
||||||
|
p = { '<cmd>lua require("nabla").popup()<CR>', "preview symbols"},
|
||||||
|
r = { "<cmd>VimtexErrors<CR>" , "report errors" },
|
||||||
|
s = { "<cmd>e ~/.config/nvim/snippets/tex.snippets<CR>", "edit snippets"},
|
||||||
|
u = { "<cmd>cd %:p:h<CR>" , "update cwd" },
|
||||||
|
-- w = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.docx'<CR>" , "word"},
|
||||||
|
v = { "<plug>(vimtex-context-menu)" , "vimtex menu" },
|
||||||
|
},
|
||||||
|
f = {
|
||||||
|
name = "FIND",
|
||||||
|
b = {
|
||||||
|
"<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<CR>",
|
||||||
|
"buffers",
|
||||||
|
},
|
||||||
|
c = { "<cmd>Telescope bibtex<CR>" , "citations" },
|
||||||
|
f = { "<cmd>Telescope live_grep theme=ivy<CR>", "project" },
|
||||||
|
g = { "<cmd>Telescope git_branches<CR>", "branches" },
|
||||||
|
h = { "<cmd>Telescope help_tags<CR>", "help" },
|
||||||
|
k = { "<cmd>Telescope keymaps<CR>", "keymaps" },
|
||||||
|
-- m = { "<cmd>Telescope man_pages<CR>", "man pages" },
|
||||||
|
r = { "<cmd>Telescope registers<CR>", "registers" },
|
||||||
|
t = { "<cmd>Telescope colorscheme<CR>", "theme" },
|
||||||
|
y = { "<cmd>YankyRingHistory<CR>" , "yanks" },
|
||||||
|
-- c = { "<cmd>Telescope commands<CR>", "commands" },
|
||||||
|
-- r = { "<cmd>Telescope oldfiles<CR>", "recent" },
|
||||||
|
},
|
||||||
|
g = {
|
||||||
|
name = "GIT",
|
||||||
|
g = { "<cmd>lua _LAZYGIT_TOGGLE()<CR>", "lazygit" },
|
||||||
|
j = { "<cmd>lua require 'gitsigns'.next_hunk()<CR>", "next hunk" },
|
||||||
|
k = { "<cmd>lua require 'gitsigns'.prev_hunk()<CR>", "prev hunk" },
|
||||||
|
l = { "<cmd>lua require 'gitsigns'.blame_line()<CR>", "blame" },
|
||||||
|
p = { "<cmd>lua require 'gitsigns'.preview_hunk()<CR>", "preview hunk" },
|
||||||
|
r = { "<cmd>lua require 'gitsigns'.reset_hunk()<CR>", "reset hunk" },
|
||||||
|
s = { "<cmd>lua require 'gitsigns'.stage_hunk()<CR>", "stage hunk" },
|
||||||
|
u = {
|
||||||
|
"<cmd>lua require 'gitsigns'.undo_stage_hunk()<CR>", "unstage hunk" },
|
||||||
|
o = { "<cmd>Telescope git_status<CR>", "open changed file" },
|
||||||
|
b = { "<cmd>Telescope git_branches<CR>", "checkout branch" },
|
||||||
|
c = { "<cmd>Telescope git_commits<CR>", "checkout commit" },
|
||||||
|
d = { "<cmd>Gitsigns diffthis HEAD<CR>", "diff" },
|
||||||
|
},
|
||||||
|
m = {
|
||||||
|
name = "MANAGE SESSIONS",
|
||||||
|
s = { "<cmd>SessionManager save_current_session<CR>", "save" },
|
||||||
|
d = { "<cmd>SessionManager delete_session<CR>", "delete" },
|
||||||
|
l = { "<cmd>SessionManager load_session<CR>", "load" },
|
||||||
|
},
|
||||||
|
p = {
|
||||||
|
name = "PANDOC",
|
||||||
|
w = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.docx'<CR>" , "word"},
|
||||||
|
m = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.md'<CR>" , "markdown"},
|
||||||
|
h = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.html'<CR>" , "html"},
|
||||||
|
l = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.tex'<CR>" , "latex"},
|
||||||
|
p = { "<cmd>TermExec cmd='pandoc %:p -o %:p:r.pdf'<CR>" , "pdf"},
|
||||||
|
-- x = { "<cmd>echo "run: unoconv -f pdf path-to.docx"" , "word to pdf"},
|
||||||
|
},
|
||||||
|
s = {
|
||||||
|
name = "SURROUND",
|
||||||
|
s = { "<Plug>(nvim-surround-normal)", "surround" },
|
||||||
|
d = { "<Plug>(nvim-surround-delete)", "delete" },
|
||||||
|
c = { "<Plug>(nvim-surround-change)", "change" },
|
||||||
|
},
|
||||||
|
t = {
|
||||||
|
name = "TEMPLATES",
|
||||||
|
c = { "<cmd>PackerCompile<CR>", "Compile" },
|
||||||
|
p = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/PhilPaper.tex<CR>",
|
||||||
|
"PhilPaper.tex",
|
||||||
|
},
|
||||||
|
l = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/Letter.tex<CR>",
|
||||||
|
"Letter.tex",
|
||||||
|
},
|
||||||
|
g = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/Glossary.tex<CR>",
|
||||||
|
"Glossary.tex",
|
||||||
|
},
|
||||||
|
h = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/HandOut.tex<CR>",
|
||||||
|
"HandOut.tex",
|
||||||
|
},
|
||||||
|
b = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/PhilBeamer.tex<CR>",
|
||||||
|
"PhilBeamer.tex",
|
||||||
|
},
|
||||||
|
s = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/SubFile.tex<CR>",
|
||||||
|
"SubFile.tex",
|
||||||
|
},
|
||||||
|
r = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/Root.tex<CR>",
|
||||||
|
"Root.tex",
|
||||||
|
},
|
||||||
|
m = {
|
||||||
|
"<cmd>read ~/.config/nvim/templates/MultipleAnswer.tex<CR>",
|
||||||
|
"MultipleAnswer.tex",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
which_key.setup(setup)
|
||||||
|
which_key.register(mappings, opts)
|
|
@ -0,0 +1,11 @@
|
||||||
|
--require("yanky").setup({
|
||||||
|
-- ring = {
|
||||||
|
-- history_length = 100,
|
||||||
|
-- storage = "shada",
|
||||||
|
-- sync_with_numbered_registers = true,
|
||||||
|
-- cancel_event = "update",
|
||||||
|
-- },
|
||||||
|
-- system_clipboard = {
|
||||||
|
-- sync_with_ring = true,
|
||||||
|
-- },
|
||||||
|
--})
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,28 @@
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/nvim-lua/plenary.nvim"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/hrsh7th/nvim-cmp"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/hrsh7th/cmp-nvim-lsp"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/hrsh7th/cmp-buffer"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/hrsh7th/cmp-omni"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/neovim/nvim-lspconfig"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/williamboman/mason.nvim"
|
||||||
|
-- vim.opt.runtimepath:prepend "PATH/williamboman/mason-lspconfig.nvim"
|
||||||
|
vim.opt.runtimepath:prepend "/home/benjamin/.local/share/nvim/site/pack/packer/start/cmp-omni"
|
||||||
|
vim.opt.runtimepath:append "/home/benjamin/.local/share/nvim/site/pack/packer/start/cmp-omni/after"
|
||||||
|
vim.opt.runtimepath:prepend "/home/benjamin/.local/share/nvim/site/pack/packer/start/nvim-cmp"
|
||||||
|
vim.opt.runtimepath:append "/home/benjamin/.local/share/nvim/site/pack/packer/start/nvim-cmp/after"
|
||||||
|
vim.opt.runtimepath:prepend "/home/benjamin/.local/share/nvim/site/pack/packer/start/vimtex"
|
||||||
|
vim.opt.runtimepath:append "/home/benjamin/.local/share/nvim/site/pack/packer/start/vimtex/after"
|
||||||
|
|
||||||
|
vim.cmd[[filetype plugin indent on]]
|
||||||
|
|
||||||
|
local cmp = require("cmp")
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "omni" },
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "buffer", keyword_length = 3 },
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.g.vimtex_view_method = "zathura"
|
|
@ -0,0 +1,25 @@
|
||||||
|
\documentclass[11pt]{article}
|
||||||
|
\usepackage[a4paper, margin=4cm]{geometry}
|
||||||
|
\usepackage[english]{babel}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{\sc TITLE}
|
||||||
|
\author{\it Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent
|
||||||
|
ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\section{Introduction}\label{Intro}
|
||||||
|
|
||||||
|
\cite{Sta}
|
||||||
|
|
||||||
|
\bibliographystyle{plain}
|
||||||
|
\bibliography{minimal}
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,262 @@
|
||||||
|
# -- SNIPPETS --
|
||||||
|
#
|
||||||
|
# new glossary entry
|
||||||
|
snippet gloss "Glossary Entry" b
|
||||||
|
\newglossaryentry{${1:entry}}{
|
||||||
|
name = {${2:name}},
|
||||||
|
symbol = {\ensuremath{${3:symbol}}},
|
||||||
|
description = {${4:description}}
|
||||||
|
}
|
||||||
|
#
|
||||||
|
|
||||||
|
# custom theorem enviornment
|
||||||
|
snippet customthm "Custom Theorem" b
|
||||||
|
\vspace{.1in}
|
||||||
|
\begin{customthm}{(${1:label})}
|
||||||
|
${2:claim}
|
||||||
|
\end{customthm}
|
||||||
|
|
||||||
|
\begin{Answer}
|
||||||
|
${0}
|
||||||
|
\end{Answer}
|
||||||
|
#
|
||||||
|
|
||||||
|
# framed text enviornment
|
||||||
|
snippet textbox "Text Box" b
|
||||||
|
\begin{tcolorbox}
|
||||||
|
${0}
|
||||||
|
\end{tcolorbox}
|
||||||
|
#
|
||||||
|
|
||||||
|
# new command
|
||||||
|
snippet nc "New Command" b
|
||||||
|
\newcommand{${1:cmd}}[${2:opt}]{${3:realcmd}} ${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
#usepackage
|
||||||
|
snippet up "Use Package" b
|
||||||
|
\usepackage[${1:options}]{${2:package}} ${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# \begin{}...\end{}
|
||||||
|
snippet begin "Begin End"
|
||||||
|
\begin{${1:env}}
|
||||||
|
${2:${VISUAL}}
|
||||||
|
\end{$1}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Align(ed)
|
||||||
|
snippet align "Align Env" b
|
||||||
|
\begin{align${1:ed}}
|
||||||
|
\label{${2:name}}
|
||||||
|
${0}
|
||||||
|
\end{align$1}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Quote
|
||||||
|
snippet quote "Quotation" b
|
||||||
|
\vspace{-.1in}
|
||||||
|
\begin{quote}\singlespacing\small
|
||||||
|
${0}
|
||||||
|
\hfill(p.~${1})
|
||||||
|
\end{quote}
|
||||||
|
\vspace{.1in}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Labelalign
|
||||||
|
snippet labelalign "Label Align" b
|
||||||
|
\vspace{.05in}
|
||||||
|
\begin{labelalign} %\small\onehalfspacing
|
||||||
|
\item[${2:\it} ${3:Label:}] ${0}
|
||||||
|
\end{labelalign}
|
||||||
|
\vspace{.05in}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Enumerate
|
||||||
|
snippet enum "Enumerate" b
|
||||||
|
\begin{enumerate}
|
||||||
|
\item[${1:\it }${2:Label:}] ${0}
|
||||||
|
\end{enumerate}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Itemize
|
||||||
|
snippet item "Itemize" b
|
||||||
|
\begin{itemize}
|
||||||
|
\item[${1:\it} ${2:Label:}] ${0}
|
||||||
|
\end{itemize}
|
||||||
|
#
|
||||||
|
|
||||||
|
#Item
|
||||||
|
snippet i "Item"
|
||||||
|
\item[${1:\it} ${2:Label:}] ${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Cases
|
||||||
|
snippet case "Cases"
|
||||||
|
${1:LHS}=
|
||||||
|
\begin{cases}
|
||||||
|
${2:Value}, &\text{ if } ${3:case}\\
|
||||||
|
${4:Value}, &\text{ otherwise.} ${5:otherwise}.
|
||||||
|
\end{cases}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Section
|
||||||
|
snippet sec "Section" b
|
||||||
|
\section{${1:Name}}%
|
||||||
|
\label{sec:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Sub Section
|
||||||
|
snippet sub "Sub Section" b
|
||||||
|
\subsection{${1:Name}}%
|
||||||
|
\label{sub:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Sub Sub Section
|
||||||
|
snippet ssub "Sub Sub Section" b
|
||||||
|
\subsubsection{${1:Name}}%
|
||||||
|
\label{sub:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Hyper Section
|
||||||
|
snippet hsec "Hyper Section" b
|
||||||
|
\hypsection{${1:Name}}%
|
||||||
|
\label{sec:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Hyper Sub Section
|
||||||
|
snippet hsub "Hyper Sub Section" b
|
||||||
|
\hypsubsection{${1:Name}}%
|
||||||
|
\label{sub:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
# Hyper Sub Sub Section
|
||||||
|
snippet hssub "Hyper Sub Sub Section" b
|
||||||
|
\hypsubsubsection{${1:Name}}%
|
||||||
|
\label{sub:${2:$1}}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
#Formating text: italic, bold, underline, small capital, emphase ..
|
||||||
|
snippet it "Italics" wi
|
||||||
|
\textit{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet tt "Teletype" wi
|
||||||
|
\texttt{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet bf "Bold" wi
|
||||||
|
\textbf{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet sc "Small Caps" wi
|
||||||
|
\textsc{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet tsub "Subscripted" i
|
||||||
|
\textsubscript{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet tsup "Superscripted" i
|
||||||
|
\textsuperscript{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
#Math font
|
||||||
|
snippet mf "Mathfrak" w
|
||||||
|
\mathfrak{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet mc "Mathcal" w
|
||||||
|
\mathcal{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet ms "Mathscr" w
|
||||||
|
\mathscr{${1}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
#misc
|
||||||
|
snippet fproof "Footnote Proof" bi
|
||||||
|
\footnote{\textit{Proof:} ${1:Begin} \qed}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet lab "Label" wi
|
||||||
|
\label{${1:LABEL}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet fn "Footnote" wi
|
||||||
|
\footnote{${1:FOOTNOTE}}${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet fig "Figure environment" b
|
||||||
|
\begin{figure}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=${1}]{Figures/${2}}
|
||||||
|
\end{center}
|
||||||
|
\caption{${3}}
|
||||||
|
\label{fig:${4}}
|
||||||
|
\end{figure}
|
||||||
|
${0}
|
||||||
|
#
|
||||||
|
|
||||||
|
snippet tikz "Tikz environment" b
|
||||||
|
\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 lemma "Lemma" bi
|
||||||
|
\begin{lemma}
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{lemma}
|
||||||
|
|
||||||
|
snippet prop "Proposition" bi
|
||||||
|
\begin{prop}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{prop}
|
||||||
|
|
||||||
|
snippet thrm "Theorem" bi
|
||||||
|
\begin{theorem}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{theorem}
|
||||||
|
|
||||||
|
snippet prf "Proof" bi
|
||||||
|
\begin{myproof}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{myproof}
|
||||||
|
|
||||||
|
snippet def "Definition" bi
|
||||||
|
\begin{definition}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{definition}
|
||||||
|
|
||||||
|
snippet prob "Problem" bi
|
||||||
|
\begin{problem}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{problem}
|
||||||
|
|
||||||
|
snippet corl "Corollary" bi
|
||||||
|
\begin{corollary}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{corollary}
|
||||||
|
|
||||||
|
snippet example "Example" bi
|
||||||
|
\begin{example}[$1]
|
||||||
|
${0:${VISUAL}}
|
||||||
|
\end{example}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,144 @@
|
||||||
|
%%% GLOSSARY %%%
|
||||||
|
|
||||||
|
% Add to main file
|
||||||
|
|
||||||
|
% \usepackage[automake,nogroupskip,
|
||||||
|
% postpunc={dot},% full stop after description
|
||||||
|
% nostyles,% don't load default style packages
|
||||||
|
% % load glossaries-extra-stylemods.sty and glossary-tree.sty:
|
||||||
|
% stylemods={tree}
|
||||||
|
% ]{glossaries-extra}
|
||||||
|
% % \usepackage{glossary-superragged}
|
||||||
|
% \loadglsentries{Glossary}
|
||||||
|
% \newcommand{\g}{\glssymbol*}
|
||||||
|
% \makeglossaries
|
||||||
|
|
||||||
|
% \printglossary[style={index}]
|
||||||
|
|
||||||
|
%%% ENTRIES %%%
|
||||||
|
\newglossaryentry{Q}{% settings:
|
||||||
|
name = {Operator},
|
||||||
|
symbol = {\ensuremath{\mathcal{Q}}},
|
||||||
|
description = {stands for any $n$-place sentential operator.}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{L}{% settings:
|
||||||
|
name = {Language},
|
||||||
|
symbol = {\ensuremath{\mathcal{L}}},
|
||||||
|
description = {includes a set of sentence letters and operators}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{part}{% settings:
|
||||||
|
name = {Proper parthood},
|
||||||
|
symbol = {\ensuremath{\sqsubset}},
|
||||||
|
description = {is defined in terms of improper parthood}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{wfas}{% settings:
|
||||||
|
name = {Well-formed atomic sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{wfas}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{wfs}{% settings:
|
||||||
|
name = {Well-formed sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{wfs}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{ext}{% settings:
|
||||||
|
name = {Extensional sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{ext}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{id}{% settings:
|
||||||
|
name = {Identity sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{id}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{nid}{% settings:
|
||||||
|
name = {Non-identity sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{nid}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{eq}{% settings:
|
||||||
|
name = {Equivalence sentences},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{eq}}}},
|
||||||
|
description = {generated from a stock of sentence letters}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{comp}{% settings:
|
||||||
|
name = {Complexity},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{comp}}}},
|
||||||
|
description = {of a sentence}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{lit}{% settings:
|
||||||
|
name = {Sentence letters},
|
||||||
|
symbol = {\ensuremath{\mathbb{L}}},
|
||||||
|
description = {make up the atoms of the language}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{glb}{% settings:
|
||||||
|
name = {Greatest lower bound},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{glb}}}},
|
||||||
|
description = {with respect to a given order}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{lub}{% settings:
|
||||||
|
name = {Least upper bound},
|
||||||
|
symbol = {\ensuremath{\operatorname{\texttt{lub}}}},
|
||||||
|
description = {with respect to a given order}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{s}{% settings:
|
||||||
|
name = {State space},
|
||||||
|
symbol = {\ensuremath{\mathcal{S}}},
|
||||||
|
description = {consisting of a set of states and partial order}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{M}{% settings:
|
||||||
|
name = {Model},
|
||||||
|
symbol = {\ensuremath{\mathcal{M}}},
|
||||||
|
description = {of the language assigns sentence letters to propositions}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{N}{% settings:
|
||||||
|
name = {Normal models},
|
||||||
|
symbol = {\ensuremath{\mathcal{N}}},
|
||||||
|
description = {is the class of all models in which sentence letter are assigned to normal propositions}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{C}{% settings:
|
||||||
|
name = {Contents},
|
||||||
|
symbol = {\ensuremath{\mathbb{C}}},
|
||||||
|
description = {defined over a state space}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{P}{% settings:
|
||||||
|
name = {Propositions},
|
||||||
|
symbol = {\ensuremath{\mathbb{P}}},
|
||||||
|
description = {defined over a state space}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{B}{% settings:
|
||||||
|
name = {Bilattice},
|
||||||
|
symbol = {\ensuremath{\mathcal{B}}},
|
||||||
|
description = {of propositions defined over a state space}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{R}{% settings:
|
||||||
|
name = {Regular models},
|
||||||
|
symbol = {\ensuremath{\mathcal{R}}},
|
||||||
|
description = {is the class of all models in which sentence letter are assigned to regular propositions}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newglossaryentry{parteq}{% settings:
|
||||||
|
name = {Improper parthood},
|
||||||
|
symbol = {\ensuremath{\sqsubseteq}},
|
||||||
|
description = {is a partial order over a space of states}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
|
||||||
|
\documentclass[a4paper, 11pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper size (remove a4paper for US letter paper)
|
||||||
|
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} % Better typography
|
||||||
|
\usepackage{graphicx} % Required for including pictures
|
||||||
|
\usepackage{wrapfig} % Allows in-line images
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\usepackage{setspace}
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd}
|
||||||
|
\usepackage{mathtools}
|
||||||
|
\usepackage{mathpazo} % Use the Palatino font
|
||||||
|
\usepackage[T1]{fontenc} % Required for accented characters
|
||||||
|
\usepackage{array}
|
||||||
|
\usepackage{bibentry}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
|
||||||
|
\linespread{1.05} % Change line spacing here, Palatino benefits from a slight increase by default
|
||||||
|
|
||||||
|
\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand\@biblabel[1]{\textbf{#1.}} % Change the square brackets for each bibliography item from '[1]' to '1.'
|
||||||
|
\renewcommand{\@listI}{\itemsep=0pt} % Reduce the space between items in the itemize and enumerate environments and the bibliography
|
||||||
|
|
||||||
|
\renewcommand{\maketitle}{ % Customize the title - do not edit title and author name here, see the TITLE block below
|
||||||
|
\begin{flushright} % Right align
|
||||||
|
{\LARGE\@title} % Increase the font size of the title
|
||||||
|
|
||||||
|
\vspace{10pt} % Some vertical space between the title and author name
|
||||||
|
|
||||||
|
{\@author} % Author name
|
||||||
|
\\\@date % Date
|
||||||
|
|
||||||
|
\vspace{30pt} % Some vertical space between the author block and abstract
|
||||||
|
\end{flushright}
|
||||||
|
}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% TITLE
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\title{\textbf{Handout Title}} % Subtitle
|
||||||
|
|
||||||
|
\author{\textsc{CLASS OR TOPIC}\\ \em Benjamin Brast-McKie} % Institution
|
||||||
|
|
||||||
|
\date{\today} % Date
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle % Print the title section
|
||||||
|
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section*{First Section}
|
||||||
|
|
||||||
|
\begin{enumerate}[leftmargin=1.2in,labelsep=.15in] %,label=(\arabic*)]%,label=\roman*]
|
||||||
|
\item[\bf Definition:] Begin definition\dots
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\vfill
|
||||||
|
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,65 @@
|
||||||
|
|
||||||
|
\documentclass[a4paper, 11pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper size (remove a4paper for US letter paper)
|
||||||
|
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} % Better typography
|
||||||
|
\usepackage{graphicx} % Required for including pictures
|
||||||
|
\usepackage{wrapfig} % Allows in-line images
|
||||||
|
\usepackage[top=1.25in, bottom=1in, left=1.65in, right=1.65in]{geometry} %%Margins
|
||||||
|
\usepackage{mathpazo} % Use the Palatino font
|
||||||
|
\usepackage[T1]{fontenc} % Required for accented characters
|
||||||
|
\linespread{1.05} % Change line spacing here, Palatino benefits from a slight increase by default
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand\@biblabel[1]{\textbf{#1.}} % Change the square brackets for each bibliography item from '[1]' to '1.'
|
||||||
|
\renewcommand{\@listI}{\itemsep=0pt} % Reduce the space between items in the itemize and enumerate environments and the bibliography
|
||||||
|
|
||||||
|
\renewcommand{\maketitle}{ % Customize the title - do not edit title and author name here, see the TITLE block below
|
||||||
|
\begin{flushright}
|
||||||
|
{\large\@author} % Author name
|
||||||
|
\\\@date % Date
|
||||||
|
\end{flushright}
|
||||||
|
|
||||||
|
\begin{flushleft} % Right align
|
||||||
|
{\Large\@title} % Increase the font size of the title
|
||||||
|
\end{flushleft}
|
||||||
|
}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% TITLE
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\title{\textbf{Dear NAME,}} % Subtitle
|
||||||
|
|
||||||
|
\author{DATE} % Author
|
||||||
|
|
||||||
|
\date{} % Date
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle % Print the title section
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% ABSTRACT AND KEYWORDS
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%\renewcommand{\abstractname}{Summary} % Uncomment to change the name of the abstract to something else
|
||||||
|
|
||||||
|
\pagenumbering{gobble}
|
||||||
|
\vspace{0pt} % Some vertical space between the abstract and first section
|
||||||
|
|
||||||
|
\noindent Begin document...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,169 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{article} %%Font size and document presets
|
||||||
|
\usepackage[top=1in, bottom=1in, left=1.25in, right=1.25in]{geometry} %%Margins
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
\expandafter\def\expandafter\quote\expandafter{\quote\onehalfspacing} %%Makes 1.5 quote spacing
|
||||||
|
%\usepackage{mdwlist} %% Compressed lists, use star: \begin{enumerate*} \end{'' *}
|
||||||
|
%\usepackage{indentfirst} %%Indents first line of first paragraph of each section
|
||||||
|
%\raggedbottom %% Lose the constraint on equalising page content
|
||||||
|
%\frenchspacing %%Makes the sentence spacing single spaced
|
||||||
|
%\usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{$\S$\thesection\ #1}} %%Left header command
|
||||||
|
\lhead{\nouppercase{$\S$\rightmark}} %%Left header
|
||||||
|
|
||||||
|
|
||||||
|
%%% SECTIONS %%%
|
||||||
|
\usepackage{hyperref}
|
||||||
|
%\renewcommand\thesubsubsection{P\arabic{subsubsection}}
|
||||||
|
\usepackage{tocloft}%change alignment of subsubsection in toc
|
||||||
|
\cftsetindents{subsubsection}{0.228in}{0.346in} %change alignment of subsubsection in toc
|
||||||
|
\newcommand{\hypsection}[1]{\section[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsection}[1]{\subsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd} %%Use \llbracket and \rrbracket for double brackets
|
||||||
|
%\usepackage{cancel} %%\cancel strikes out text diagonally
|
||||||
|
%\usepackage{fitch}
|
||||||
|
%\usepackage{turnstile}
|
||||||
|
%\usepackage{linguex}
|
||||||
|
%\usepackage{schemata}
|
||||||
|
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
%\usepackage{graphicx}
|
||||||
|
%\DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
%\usepackage{fancybox}
|
||||||
|
%\begin{figure}[ht]
|
||||||
|
%\shadowbox{\includegraphics{figure-file}}}
|
||||||
|
%\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
%\usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
%\usepackage{epigraph} %%Use \epigraph{text}{citation}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
\usepackage{etoolbox} %%For \citepos
|
||||||
|
\usepackage{xstring} %%For \citepos
|
||||||
|
|
||||||
|
\makeatletter %definition of \citepos
|
||||||
|
%\patchcmd{\NAT@test}{\else \NAT@nm}{\else \NAT@nmfmt{\NAT@nm}}{}{} %turn on for numeric citations
|
||||||
|
\DeclareRobustCommand\citepos % define \citepos
|
||||||
|
{\begingroup
|
||||||
|
\let\NAT@nmfmt\NAT@posfmt% same as for citet except with a different name format
|
||||||
|
\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
|
||||||
|
\@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
||||||
|
|
||||||
|
\let\NAT@orig@nmfmt\NAT@nmfmt %makes adapt to last names ending with an 's'.
|
||||||
|
\def\NAT@posfmt#1{%
|
||||||
|
\StrRemoveBraces{#1}[\NAT@temp]%
|
||||||
|
\IfEndWith{\NAT@temp}{s}
|
||||||
|
{\NAT@orig@nmfmt{#1'}}
|
||||||
|
{\NAT@orig@nmfmt{#1's}}}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
%\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
%\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
%\newcommand{\ttuple}[1]{$\langle$#1$\rangle$} %%Angle brackets
|
||||||
|
%\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
%\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\newcommand{\sq}[1]{`#1'} %%Proper opened-closed single quotation marks
|
||||||
|
%\newcommand{\dq}[1]{``#1"} %%Proper opened-closed double quotation marks
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\square$} %%Box at end of proofs
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\Box$} %%Box at end of proofs
|
||||||
|
%\newcommand{\parteq}[0]{\sqsubseteq}
|
||||||
|
%\renewcommand{\part}[0]{\sqsubset}
|
||||||
|
%\newcommand{\ceil}[1]{\lceil#1\rceil} %%Corner quotes
|
||||||
|
%\newcommand{\lrceil}[1]{\llceil#1\rrceil} %%Corner quotes
|
||||||
|
%\DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} %%For strictif
|
||||||
|
%\DeclareMathSymbol{\strictif}{\mathrel}{symbolsC}{74} %%For strictif
|
||||||
|
%\newcommand{\M}[0]{\mathcal{M}}
|
||||||
|
%\renewcommand{\L}[0]{\mathcal{L}}
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
%\newenvironment{senum}[2][topsep=0in, itemsep=.05in]{\begin{enumerate}[#1,topsep=0in, itemsep=.05in]\begin{singlespace}#2}{\end{singlespace}\end{enumerate}\vspace{.175in}}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{TITLE}
|
||||||
|
\author{Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent BEGIN ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% NOTES %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\section{Section Title}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{small} %%Makes bib small text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{Analysis} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
%\setlength{\bibsep}{0.5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{small} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,147 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Short Sectioned Assignment
|
||||||
|
% LaTeX Template
|
||||||
|
% Version 1.0 (5/5/12)
|
||||||
|
%
|
||||||
|
% This template has been downloaded from:
|
||||||
|
% http://www.LaTeXTemplates.com
|
||||||
|
%
|
||||||
|
% Original author:
|
||||||
|
% Frits Wenneker (http://www.howtotex.com)
|
||||||
|
%
|
||||||
|
% License:
|
||||||
|
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||||
|
%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\documentclass[paper=a4, fontsize=11pt]{scrartcl} % A4 paper and 11pt font size
|
||||||
|
|
||||||
|
\usepackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs
|
||||||
|
\usepackage{fourier} % Use the Adobe Utopia font for the document - comment this line to return to the LaTeX default
|
||||||
|
\usepackage[english]{babel} % English language/hyphenation
|
||||||
|
\usepackage{amsmath,amsfonts,amsthm} % Math packages
|
||||||
|
|
||||||
|
\usepackage{lipsum} % Used for inserting dummy 'Lorem ipsum' text into the template
|
||||||
|
|
||||||
|
\usepackage{sectsty} % Allows customizing section commands
|
||||||
|
\allsectionsfont{\centering \normalfont\scshape} % Make all sections centered, the default font and small caps
|
||||||
|
|
||||||
|
\usepackage{fancyhdr} % Custom headers and footers
|
||||||
|
\pagestyle{fancyplain} % Makes all pages in the document conform to the custom headers and footers
|
||||||
|
\fancyhead{} % No page header - if you want one, create it in the same way as the footers below
|
||||||
|
\fancyfoot[L]{} % Empty left footer
|
||||||
|
\fancyfoot[C]{} % Empty center footer
|
||||||
|
\fancyfoot[R]{\thepage} % Page numbering for right footer
|
||||||
|
\renewcommand{\headrulewidth}{0pt} % Remove header underlines
|
||||||
|
\renewcommand{\footrulewidth}{0pt} % Remove footer underlines
|
||||||
|
\setlength{\headheight}{13.6pt} % Customize the height of the header
|
||||||
|
|
||||||
|
\numberwithin{equation}{section} % Number equations within sections (i.e. 1.1, 1.2, 2.1, 2.2 instead of 1, 2, 3, 4)
|
||||||
|
\numberwithin{figure}{section} % Number figures within sections (i.e. 1.1, 1.2, 2.1, 2.2 instead of 1, 2, 3, 4)
|
||||||
|
\numberwithin{table}{section} % Number tables within sections (i.e. 1.1, 1.2, 2.1, 2.2 instead of 1, 2, 3, 4)
|
||||||
|
|
||||||
|
\setlength\parindent{0pt} % Removes all indentation from paragraphs - comment this line for an assignment with lots of text
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% TITLE SECTION
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\newcommand{\horrule}[1]{\rule{\linewidth}{#1}} % Create horizontal rule command with 1 argument of height
|
||||||
|
|
||||||
|
\title{
|
||||||
|
\normalfont \normalsize
|
||||||
|
\textsc{university, school or department name} \\ [25pt] % Your university, school and/or department name(s)
|
||||||
|
\horrule{0.5pt} \\[0.4cm] % Thin top horizontal rule
|
||||||
|
\huge Assignment Title \\ % The assignment title
|
||||||
|
\horrule{2pt} \\[0.5cm] % Thick bottom horizontal rule
|
||||||
|
}
|
||||||
|
|
||||||
|
\author{John Smith} % Your name
|
||||||
|
|
||||||
|
\date{\normalsize\today} % Today's date or a custom date
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle % Print the title
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% PROBLEM 1
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Problem title}
|
||||||
|
|
||||||
|
\lipsum[2] % Dummy text
|
||||||
|
|
||||||
|
\begin{align}
|
||||||
|
\begin{split}
|
||||||
|
(x+y)^3 &= (x+y)^2(x+y)\\
|
||||||
|
&=(x^2+2xy+y^2)(x+y)\\
|
||||||
|
&=(x^3+2x^2y+xy^2) + (x^2y+2xy^2+y^3)\\
|
||||||
|
&=x^3+3x^2y+3xy^2+y^3
|
||||||
|
\end{split}
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies
|
||||||
|
|
||||||
|
%------------------------------------------------
|
||||||
|
|
||||||
|
\subsection{Heading on level 2 (subsection)}
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||||
|
\begin{align}
|
||||||
|
A =
|
||||||
|
\begin{bmatrix}
|
||||||
|
A_{11} & A_{21} \\
|
||||||
|
A_{21} & A_{22}
|
||||||
|
\end{bmatrix}
|
||||||
|
\end{align}
|
||||||
|
Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
|
||||||
|
|
||||||
|
%------------------------------------------------
|
||||||
|
|
||||||
|
\subsubsection{Heading on level 3 (subsubsection)}
|
||||||
|
|
||||||
|
\lipsum[3] % Dummy text
|
||||||
|
|
||||||
|
\paragraph{Heading on level 4 (paragraph)}
|
||||||
|
|
||||||
|
\lipsum[6] % Dummy text
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% PROBLEM 2
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Lists}
|
||||||
|
|
||||||
|
%------------------------------------------------
|
||||||
|
|
||||||
|
\subsection{Example of list (3*itemize)}
|
||||||
|
\begin{itemize}
|
||||||
|
\item First item in a list
|
||||||
|
\begin{itemize}
|
||||||
|
\item First item in a list
|
||||||
|
\begin{itemize}
|
||||||
|
\item First item in a list
|
||||||
|
\item Second item in a list
|
||||||
|
\end{itemize}
|
||||||
|
\item Second item in a list
|
||||||
|
\end{itemize}
|
||||||
|
\item Second item in a list
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
%------------------------------------------------
|
||||||
|
|
||||||
|
\subsection{Example of list (enumerate)}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item First item in a list
|
||||||
|
\item Second item in a list
|
||||||
|
\item Third item in a list
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,63 @@
|
||||||
|
|
||||||
|
\documentclass[a4paper, 11pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper size (remove a4paper for US letter paper)
|
||||||
|
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} % Better typography
|
||||||
|
\usepackage{graphicx} % Required for including pictures
|
||||||
|
\usepackage{wrapfig} % Allows in-line images
|
||||||
|
|
||||||
|
\usepackage{mathpazo} % Use the Palatino font
|
||||||
|
\usepackage[T1]{fontenc} % Required for accented characters
|
||||||
|
\linespread{1.05} % Change line spacing here, Palatino benefits from a slight increase by default
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand\@biblabel[1]{\textbf{#1.}} % Change the square brackets for each bibliography item from '[1]' to '1.'
|
||||||
|
\renewcommand{\@listI}{\itemsep=0pt} % Reduce the space between items in the itemize and enumerate environments and the bibliography
|
||||||
|
|
||||||
|
\renewcommand{\maketitle}{ % Customize the title - do not edit title and author name here, see the TITLE block below
|
||||||
|
\begin{flushright} % Right align
|
||||||
|
{\LARGE\@title} % Increase the font size of the title
|
||||||
|
|
||||||
|
\vspace{50pt} % Some vertical space between the title and author name
|
||||||
|
|
||||||
|
{\large\@author} % Author name
|
||||||
|
\\\@date % Date
|
||||||
|
|
||||||
|
\vspace{40pt} % Some vertical space between the author block and abstract
|
||||||
|
\end{flushright}
|
||||||
|
}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% TITLE
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\title{\textbf{Unnecessarily Long Essay Title}\\ % Title
|
||||||
|
Focused and Deliciously Witty Subtitle} % Subtitle
|
||||||
|
|
||||||
|
\author{\textsc{Ford Prefect} % Author
|
||||||
|
\\{\textit{Interstellar University}}} % Institution
|
||||||
|
|
||||||
|
\date{\today} % Date
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle % Print the title section
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% ABSTRACT AND KEYWORDS
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%\renewcommand{\abstractname}{Summary} % Uncomment to change the name of the abstract to something else
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\hspace*{3,6mm}\textit{Keywords:}% Keywords
|
||||||
|
|
||||||
|
\vspace{30pt} % Some vertical space between the abstract and first section
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,168 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Beamer Presentation
|
||||||
|
% LaTeX Template
|
||||||
|
% Version 1.0 (10/11/12)
|
||||||
|
%
|
||||||
|
% This template has been downloaded from:
|
||||||
|
% http://www.LaTeXTemplates.com
|
||||||
|
%
|
||||||
|
% License:
|
||||||
|
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||||
|
%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% PACKAGES AND THEMES
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\documentclass{beamer}
|
||||||
|
|
||||||
|
\mode<presentation> {
|
||||||
|
|
||||||
|
% The Beamer class comes with a number of default slide themes
|
||||||
|
% which change the colors and layouts of slides. Below this is a list
|
||||||
|
% of all the themes, uncomment each in turn to see what they look like.
|
||||||
|
|
||||||
|
%\usetheme{default}
|
||||||
|
%\usetheme{AnnArbor}
|
||||||
|
%\usetheme{Antibes}
|
||||||
|
%\usetheme{Bergen}
|
||||||
|
%\usetheme{Berkeley}
|
||||||
|
%\usetheme{Berlin}
|
||||||
|
%\usetheme{Boadilla}
|
||||||
|
%\usetheme{CambridgeUS}
|
||||||
|
%\usetheme{Copenhagen}
|
||||||
|
%\usetheme{Darmstadt} %Nice
|
||||||
|
%\usetheme{Dresden} %Nice
|
||||||
|
\usetheme{Frankfurt} %Nice
|
||||||
|
%\usetheme{Goettingen} %Sidebar
|
||||||
|
%\usetheme{Hannover}
|
||||||
|
%\usetheme{Ilmenau}
|
||||||
|
%\usetheme{JuanLesPins}
|
||||||
|
%\usetheme{Luebeck}
|
||||||
|
%\usetheme{Madrid}
|
||||||
|
%\usetheme{Malmoe}
|
||||||
|
%\usetheme{Marburg}
|
||||||
|
%\usetheme{Montpellier}
|
||||||
|
%\usetheme{PaloAlto}
|
||||||
|
%\usetheme{Pittsburgh}
|
||||||
|
%\usetheme{Rochester}
|
||||||
|
%\usetheme{Singapore}
|
||||||
|
%\usetheme{Szeged}
|
||||||
|
%\usetheme{Warsaw}
|
||||||
|
|
||||||
|
% As well as themes, the Beamer class has a number of color themes
|
||||||
|
% for any slide theme. Uncomment each of these in turn to see how it
|
||||||
|
% changes the colors of your current slide theme.
|
||||||
|
|
||||||
|
%\usecolortheme{albatross}
|
||||||
|
%\usecolortheme{beaver}
|
||||||
|
%\usecolortheme{beetle}
|
||||||
|
%\usecolortheme{crane}
|
||||||
|
%\usecolortheme{dolphin}
|
||||||
|
%\usecolortheme{dove}
|
||||||
|
%\usecolortheme{fly}
|
||||||
|
%\usecolortheme{lily}
|
||||||
|
%\usecolortheme{orchid}
|
||||||
|
%\usecolortheme{rose}
|
||||||
|
%\usecolortheme{seagull}
|
||||||
|
%\usecolortheme{seahorse}
|
||||||
|
%\usecolortheme{whale}
|
||||||
|
%\usecolortheme{wolverine}
|
||||||
|
|
||||||
|
%\setbeamertemplate{footline} % To remove the footer line in all slides uncomment this line
|
||||||
|
%\setbeamertemplate{footline}[page number] % To replace the footer line in all slides with a simple slide count uncomment this line
|
||||||
|
|
||||||
|
%\setbeamertemplate{navigation symbols}{} % To remove the navigation symbols from the bottom of all slides uncomment this line
|
||||||
|
}
|
||||||
|
|
||||||
|
%%% SYMBOLS AND STYLES %%%
|
||||||
|
|
||||||
|
\DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n}
|
||||||
|
\DeclareMathSymbol{\strictif}{\mathrel}{symbolsC}{74}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
\setbeamercovered{transparent}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
\newcommand\citeapl[2][]{\citeauthor{#2}'s#1} %%Use \citeapl is for possessive author name only.
|
||||||
|
\newcommand\citea[2][]{\citeauthor{#2}#1} %%Use \citea is for author name only, with optional page numbers.
|
||||||
|
\newcommand\citepl[2][]{\citeauthor{#2}'s (\citeyear[#1]{#2})}%%The command \citepl is for possessive citations.
|
||||||
|
\usepackage{bibentry}
|
||||||
|
|
||||||
|
\usepackage{graphicx} % Allows including images
|
||||||
|
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% TITLE PAGE
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
\title[Short title]{Early Interpretations of the Barcan Formula} % The short title appears at the bottom of every slide, the full title is only on the title page
|
||||||
|
|
||||||
|
\author{Benjamin Brast-McKie} % Your name
|
||||||
|
\institute[Oxford] % Your institution as it will appear on the bottom of every slide, may be shorthand to save space
|
||||||
|
{
|
||||||
|
University of Oxford \\ % Your institution for the title page
|
||||||
|
\medskip
|
||||||
|
\textit{benjamin.brast-mckie@philosophy.ox.ac.uk} % Your email address
|
||||||
|
}
|
||||||
|
\date{\today} % Date, can be changed to a custom date
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\titlepage % Print the title page as the first slide
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Plan}
|
||||||
|
|
||||||
|
\tableofcontents[hideallsubsections]
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
% PRESENTATION SLIDES
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%%% NOTES %%%
|
||||||
|
|
||||||
|
%Recall: \pause for
|
||||||
|
|
||||||
|
%Recall: ITEMIZE
|
||||||
|
|
||||||
|
%\begin{itemize}
|
||||||
|
%\item<1->
|
||||||
|
%\end{itemize}
|
||||||
|
|
||||||
|
%\onslide<1->{ SLIDE }
|
||||||
|
|
||||||
|
%\begin{itemize}[<+(1)->]
|
||||||
|
%\begin{itemize}[<+->]
|
||||||
|
|
||||||
|
%------------------------------------------------
|
||||||
|
\section{FIRST}
|
||||||
|
%------------------------------------------------
|
||||||
|
|
||||||
|
\subsection{FIRST SUB}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{FRAME TITLE}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------------------
|
||||||
|
\nobibliography{Zotero}
|
||||||
|
\bibliographystyle{Phil_Review}
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,245 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{article} %%Font size and document presets
|
||||||
|
\usepackage[a4paper, margin=4cm]{geometry} %Annina style
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
% \usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
% \usepackage{adjmulticol}
|
||||||
|
\usepackage{verbatim} %% Enables \begin{comment} ... \end{comment}
|
||||||
|
% \usepackage{rotating} %% Enables rotating symbols
|
||||||
|
% \usepackage{lplfitch} %% logic package
|
||||||
|
% \usepackage{bold-extra} %% bold+small caps
|
||||||
|
% \usepackage{bussproofs}
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} %%Left header command
|
||||||
|
\lhead{\nouppercase{$\S$\rightmark}} %%Left header
|
||||||
|
|
||||||
|
|
||||||
|
%%% SECTIONS %%%
|
||||||
|
\usepackage{hyperref}
|
||||||
|
% \usepackage{tocloft}%change alignment of subsubsection in toc
|
||||||
|
% \cftsetindents{subsubsection}{0.228in}{0.346in} %change alignment of subsubsection in toc
|
||||||
|
\newcommand{\hypsection}[1]{\section[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsection}[1]{\subsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb,amsmath,mathrsfs,mathabx,colonequals} %%Math packages
|
||||||
|
\usepackage{tipa}
|
||||||
|
%%% GLOSSARY %%%
|
||||||
|
% \usepackage[automake,%builds index
|
||||||
|
% nogroupskip,% makes spacing of entries uniform
|
||||||
|
% postpunc={dot},% full stop after description
|
||||||
|
% nostyles,% don't load default style packages
|
||||||
|
% % load glossaries-extra-stylemods.sty and glossary-tree.sty:
|
||||||
|
% stylemods={tree}
|
||||||
|
% ]{glossaries-extra}
|
||||||
|
% \loadglsentries{Glossary}% sources file from local project folder
|
||||||
|
% \newcommand{\g}{\glssymbol*}% unstar to allow hyperlinks
|
||||||
|
% \makeglossaries
|
||||||
|
|
||||||
|
% \printglossary[style={index}] %Add to end
|
||||||
|
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
% \usepackage{graphicx}
|
||||||
|
% \DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
% \usepackage{fancybox}
|
||||||
|
% \begin{figure}[ht]
|
||||||
|
% \shadowbox{\includegraphics{figure-file}}}
|
||||||
|
% \end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
% \usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
\usepackage{etoolbox} %%For \citepos
|
||||||
|
\usepackage{xstring} %%For \citepos
|
||||||
|
|
||||||
|
\makeatletter %definition of \citepos
|
||||||
|
% \patchcmd{\NAT@test}{\else \NAT@nm}{\else \NAT@nmfmt{\NAT@nm}}{}{} %turn on for numeric citations
|
||||||
|
\DeclareRobustCommand\citepos% define \citepos
|
||||||
|
{\begingroup
|
||||||
|
\let\NAT@nmfmt\NAT@posfmt% same as for citet except with a different name format
|
||||||
|
\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
|
||||||
|
\@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}
|
||||||
|
}
|
||||||
|
|
||||||
|
\let\NAT@orig@nmfmt\NAT@nmfmt %makes adapt to last names ending with an 's'.
|
||||||
|
\def\NAT@posfmt#1{%
|
||||||
|
\StrRemoveBraces{#1}[\NAT@temp]%
|
||||||
|
\IfEndWith{\NAT@temp}{s}
|
||||||
|
{\NAT@orig@nmfmt{#1'}}
|
||||||
|
{\NAT@orig@nmfmt{#1's}}}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
% \newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
% \newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
% \newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
% \newcommand{\qedp}[0]{$\hfill\Diamond$} %%Box at end of proofs
|
||||||
|
% \newcommand{\ceil}[1]{\lceil#1\rceil} %%Corner quotes
|
||||||
|
% \newcommand{\floor}[1]{\lfloor#1\rfloor} %%Corner quotes
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
\usepackage{amsthm}
|
||||||
|
|
||||||
|
\newtheoremstyle{theorem}
|
||||||
|
{} % Space above
|
||||||
|
{} % Space below
|
||||||
|
{\normalfont} % Theorem body font % (default is "\upshape")
|
||||||
|
{} % Indent amount
|
||||||
|
{\bfseries} % Theorem head font % (default is \mdseries)
|
||||||
|
{} % Punctuation after theorem head % default: no punctuation
|
||||||
|
{.18in} % Space after theorem head
|
||||||
|
{} % Theorem head spec
|
||||||
|
\theoremstyle{theorem}
|
||||||
|
\newtheorem{theorem}{}% theorem counter resets every \subsection
|
||||||
|
\renewcommand{\thetheorem}{T\arabic{theorem}}% Remove subsection from theorem counter representation
|
||||||
|
|
||||||
|
|
||||||
|
\newtheoremstyle{Lthm}
|
||||||
|
{} % Space above
|
||||||
|
{} % Space below
|
||||||
|
{\normalfont} % Theorem body font % (default is "\upshape")
|
||||||
|
{} % Indent amount
|
||||||
|
{\bfseries} % Theorem head font % (default is \mdseries)
|
||||||
|
{} % Punctuation after theorem head % default: no punctuation
|
||||||
|
{.18in} % Space after theorem head
|
||||||
|
{} % Theorem head spec
|
||||||
|
\theoremstyle{Lthm}
|
||||||
|
\newtheorem{Lthm}{}[subsection]% theorem counter resets every \subsection
|
||||||
|
\renewcommand{\theLthm}{L\arabic{Lthm}}% Remove subsection from theorem counter representation
|
||||||
|
|
||||||
|
\newtheoremstyle{Pthm}
|
||||||
|
{} % Space above
|
||||||
|
{} % Space below
|
||||||
|
{\normalfont} % Theorem body font % (default is "\upshape")
|
||||||
|
{} % Indent amount
|
||||||
|
{\bfseries} % Theorem head font % (default is \mdseries)
|
||||||
|
{} % Punctuation after theorem head % default: no punctuation
|
||||||
|
{.18in} % Space after theorem head
|
||||||
|
{} % Theorem head spec
|
||||||
|
\theoremstyle{Pthm}
|
||||||
|
\newtheorem{Pthm}{}[subsection]% theorem counter resets every \subsection
|
||||||
|
\renewcommand{\thePthm}{P\arabic{Pthm}}% Remove subsection from theorem counter representation
|
||||||
|
|
||||||
|
\usepackage{calc}
|
||||||
|
\makeatletter
|
||||||
|
\newcommand{\labelalign@original@item}{}
|
||||||
|
\let\labelalign@original@item\item
|
||||||
|
\newcommand*{\labelalign@envir}{labelalign}
|
||||||
|
\newlength{\labelalign@totalleftmargin}
|
||||||
|
\newlength{\labelalign@linewidth}
|
||||||
|
\newcommand{\labelalign@makelabel}[1]{\llap{#1}}%
|
||||||
|
\newcommand{\labelalign@item}[1][]{%
|
||||||
|
\setlength{\@totalleftmargin}%
|
||||||
|
{\labelalign@totalleftmargin+\widthof{\textbf{#1 }}+.25in-\leftmargin}%
|
||||||
|
\setlength{\linewidth}
|
||||||
|
{\labelalign@linewidth-\widthof{\textbf{#1 }}-.25in+\leftmargin}%
|
||||||
|
\par\parshape \@ne \@totalleftmargin \linewidth
|
||||||
|
\labelalign@original@item[\textbf{#1}]%
|
||||||
|
}
|
||||||
|
\newenvironment{labelalign}
|
||||||
|
{\list{}{\setlength{\labelwidth}{0in}%
|
||||||
|
\let\makelabel\labelalign@makelabel}%
|
||||||
|
\setlength{\labelalign@totalleftmargin}{\@totalleftmargin}%
|
||||||
|
\setlength{\labelalign@linewidth}{\linewidth}%
|
||||||
|
\renewcommand{\item}{\ifx\@currenvir\labelalign@envir
|
||||||
|
\expandafter\labelalign@item
|
||||||
|
\else
|
||||||
|
\expandafter\labelalign@original@item
|
||||||
|
\fi}}
|
||||||
|
{\endlist}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
%%% CROSS REFERENCES %%%
|
||||||
|
\newcounter{acount}
|
||||||
|
\newcommand{\aitem}[1]{%
|
||||||
|
\item[\bf #1] \refstepcounter{acount}\label{#1}
|
||||||
|
}
|
||||||
|
\newcommand{\aref}[1]{\hyperref[#1]{#1}}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{\sc TITLE} %\thanks{}
|
||||||
|
\author{\it Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
% \vspace{.1in}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent
|
||||||
|
ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\hypsection{Introduction}\label{Intro}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% GLOSSARY %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
% \printglossary[style={index}] %Add to end
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{footnotesize} %%Makes bib footnotesize text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
\setlength{\bibsep}{5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{footnotesize} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,207 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{report} %%Font size and document presets
|
||||||
|
\usepackage[top=1in, bottom=1in, left=1.25in, right=1.25in]{geometry} %%Margins
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
\expandafter\def\expandafter\quote\expandafter{\quote\onehalfspacing} %%Makes 1.5 quote spacing
|
||||||
|
%\usepackage{mdwlist} %% Compressed lists, use star: \begin{enumerate*} \end{'' *}
|
||||||
|
%\usepackage{indentfirst} %%Indents first line of first paragraph of each section
|
||||||
|
%\raggedbottom %% Lose the constraint on equalising page content
|
||||||
|
%\frenchspacing %%Makes the sentence spacing single spaced
|
||||||
|
%\usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
|
||||||
|
|
||||||
|
%%% MULTIPLE FILES %%%
|
||||||
|
\usepackage{subfiles}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{bibentry}
|
||||||
|
|
||||||
|
|
||||||
|
%%% HYPER SECTIONS %%%
|
||||||
|
\usepackage{bold-extra} %% bold+small caps
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{tocloft} %% change alignment of subsubsection in toc
|
||||||
|
%\cftsetindents{subsubsubsection}{0.228in}{0.346in} %change alignment of subsubsection in toc
|
||||||
|
\newcommand{\hypsection}[1]{\section[\bfseries{\scshape{#1}}]{\hyperlink{toc}{\sc \textbf{#1}}}} %%use to jump back to toc
|
||||||
|
\newcommand{\schapter}[1]{\chapter[\bfseries{\scshape{#1}}]{\hyperlink{toc}{\LARGE#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsection}[1]{\subsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypasubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\Psubsection}[2][]{\subsubsubsection[\normalfont{#2}]{\hyperlink{#1}{\normalfont{#2}}}\label{#1}} %%use to jump back to toc
|
||||||
|
\newcommand{\Lsubsection}[2][]{\Lthm[\normalfont{#2}]{\hyperlink{#1}{\normalfont{#2}}}\label{#1}} %%use to jump back to toc
|
||||||
|
% \renewcommand{\href}[1]{\hypertarget{#1}{\ref{#1}}} %%use to jump back to toc
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand{\href}[1]{\Hy@raisedlink{\hypertarget{#1}{}}\ref{#1}}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
|
||||||
|
\titleclass{\subsubsubsection}{straight}[\subsection]
|
||||||
|
\newcounter{subsubsubsection}[subsubsection]
|
||||||
|
\renewcommand\thesubsubsubsection{\arabic{section}.\arabic{subsubsubsection}}
|
||||||
|
\renewcommand\theparagraph{\arabic{section}.\arabic{paragraph}} % optional; useful if paragraphs are to be numbered
|
||||||
|
|
||||||
|
\titleformat{\subsubsubsection}
|
||||||
|
{\normalfont\normalsize\bfseries}{\thesubsubsubsection}{1em}{}
|
||||||
|
|
||||||
|
\titlespacing*{\subsubsubsection}
|
||||||
|
{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
||||||
|
|
||||||
|
\titleformat{\paragraph}
|
||||||
|
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
|
||||||
|
|
||||||
|
\titlespacing*{\paragraph}
|
||||||
|
{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
|
||||||
|
{-2.5ex\@plus -1ex \@minus -.25ex}%
|
||||||
|
{1.25ex \@plus .25ex}%
|
||||||
|
{\normalfont\normalsize\bfseries}}
|
||||||
|
\def\toclevel@subsubsubsection{2}
|
||||||
|
\def\toclevel@paragraph{4}
|
||||||
|
\def\l@subsubsubsection{\@dottedtocline{2}{1.5em}{2.3em}}
|
||||||
|
\def\l@paragraph{\@dottedtocline{4}{10em}{5em}}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\setcounter{secnumdepth}{2}
|
||||||
|
\setcounter{secnumdepth}{4}
|
||||||
|
\setcounter{tocdepth}{1}
|
||||||
|
%\renewcommand\thesection{\sc\LARGE Chapter \arabic{section}:}
|
||||||
|
%\renewcommand\thesubsection{\arabic{section}.\arabic{subsection}}
|
||||||
|
\renewcommand\thesubsubsubsection{P\arabic{subsubsubsection}}
|
||||||
|
\renewcommand\theparagraph{L\arabic{paragraph}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{$\S$\thesection\ #1}} %%Left header command
|
||||||
|
\renewcommand{\chaptermark}[1]{\markright{#1}{}}
|
||||||
|
\lhead{\nouppercase{\rightmark}} %%Left header
|
||||||
|
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd} %%Use \llbracket and \rrbracket for double brackets
|
||||||
|
%\usepackage{cancel} %%\cancel strikes out text diagonally
|
||||||
|
%\usepackage{fitch}
|
||||||
|
%\usepackage{turnstile}
|
||||||
|
%\usepackage{linguex}
|
||||||
|
%\usepackage{schemata}
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
%\usepackage{graphicx}
|
||||||
|
%\DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
%\usepackage{fancybox}
|
||||||
|
%\begin{figure}[ht]
|
||||||
|
%\shadowbox{\includegraphics{figure-file}}}
|
||||||
|
%\end{figure}
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
%\usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
%\usepackage{epigraph} %%Use \epigraph{text}{citation}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
\newcommand\citepl[2][]{\citeauthor{#2}'s (\citeyear[#1]{#2})} %%Use \citepl for possessive citation.
|
||||||
|
\newcommand\citea[2][]{\citeauthor{#2}#1} %%Use \citea is for author name only, with optional page numbers.
|
||||||
|
\newcommand\citeapl[2][]{\citeauthor{#2}'s#1} %%Use \citeapl is for possessive author name only.
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
%\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
%\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
%\newcommand{\ttuple}[1]{$\langle$#1$\rangle$} %%Angle brackets
|
||||||
|
%\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
%\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\newcommand{\sq}[1]{`#1'} %%Proper opened-closed single quotation marks
|
||||||
|
%\newcommand{\dq}[1]{``#1"} %%Proper opened-closed double quotation marks
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\square$} %%Box at end of proofs
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
%\newenvironment{senum}[2][topsep=0in, itemsep=.05in]{\begin{enumerate}[#1,topsep=0in, itemsep=.05in]\begin{singlespace}#2}{\end{singlespace}\end{enumerate}\vspace{.175in}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{TITLE}
|
||||||
|
\author{Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent BEGIN ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\setlength\cftaftertoctitleskip{10pt}
|
||||||
|
\addtocontents{toc}{\protect\hypertarget{toc}{}}
|
||||||
|
\renewcommand{\contentsname}{\LARGE\sc Table of Contents}
|
||||||
|
|
||||||
|
\strut\vspace{-50pt}
|
||||||
|
\tableofcontents
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
% \section*{Introduction} % Turn on to included introduction in TOC
|
||||||
|
% \addcontentsline{toc}{chapter}{\protect\numberline{}Introduction}%
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch1/Ch1}
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch2/Ch2}
|
||||||
|
|
||||||
|
% \section*{Conclusion}
|
||||||
|
% \addcontentsline{toc}{chapter}{\protect\numberline{}Conclusion}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{small} %%Makes bib small text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
%\setlength{\bibsep}{0.5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{small} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,43 @@
|
||||||
|
%NOTE: to be used with \usepackage{subfiles} in the main file.
|
||||||
|
%Subfiles go in folders which live with the main file.
|
||||||
|
%Bibliography and preamble go in the main file.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\documentclass[../../Root.tex]{subfiles} %Each instance of `../' elevates one folder to find the main file
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
% \tableofcontents % Can be useful to load a TOC while writing
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
\schapter{TITLE}
|
||||||
|
|
||||||
|
\hypsection{TITLE}
|
||||||
|
|
||||||
|
\hypsubsection{TITLE}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
\nobibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,41 @@
|
||||||
|
%NOTE: to be used with \usepackage{subfiles} in the main file.
|
||||||
|
%Subfiles go in folders which live with the main file.
|
||||||
|
%Bibliography and preamble go in the main file.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\documentclass[../../Root.tex]{subfiles} %Each instance of `../' elevates one folder to find the main file
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
\section{TITLE}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
\nobibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,43 @@
|
||||||
|
%NOTE: to be used with \usepackage{subfiles} in the main file.
|
||||||
|
%Subfiles go in folders which live with the main file.
|
||||||
|
%Bibliography and preamble go in the main file.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\documentclass[../../Root.tex]{subfiles} %Each instance of `../' elevates one folder to find the main file
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
\schapter{TITLE}
|
||||||
|
|
||||||
|
\section{TITLE}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
\nobibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,155 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{report} %%Font size and document presets
|
||||||
|
\usepackage[top=1in, bottom=1in, left=1.25in, right=1.25in]{geometry} %%Margins
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
\expandafter\def\expandafter\quote\expandafter{\quote\onehalfspacing} %%Makes 1.5 quote spacing
|
||||||
|
%\usepackage{mdwlist} %% Compressed lists, use star: \begin{enumerate*} \end{'' *}
|
||||||
|
%\usepackage{indentfirst} %%Indents first line of first paragraph of each section
|
||||||
|
%\raggedbottom %% Lose the constraint on equalising page content
|
||||||
|
%\frenchspacing %%Makes the sentence spacing single spaced
|
||||||
|
%\usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
|
||||||
|
|
||||||
|
%%% MULTIPLE FILES %%%
|
||||||
|
\usepackage{subfiles}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{bibentry}
|
||||||
|
|
||||||
|
|
||||||
|
%%% HYPER SECTIONS %%%
|
||||||
|
\usepackage{bold-extra} %% bold+small caps
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{tocloft} %% change alignment of subsubsection in toc
|
||||||
|
%\cftsetindents{subsubsubsection}{0.228in}{0.346in} %change alignment of subsubsection in toc
|
||||||
|
\newcommand{\hypsection}[1]{\section[\bfseries{\scshape{#1}}]{\hyperlink{toc}{\sc \textbf{#1}}}} %%use to jump back to toc
|
||||||
|
\newcommand{\schapter}[1]{\chapter[\bfseries{\scshape{#1}}]{\hyperlink{toc}{\LARGE#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsection}[1]{\subsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{$\S$\thesection\ #1}} %%Left header command
|
||||||
|
\lhead{\nouppercase{\rightmark}} %%Left header
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd} %%Use \llbracket and \rrbracket for double brackets
|
||||||
|
%\usepackage{cancel} %%\cancel strikes out text diagonally
|
||||||
|
%\usepackage{fitch}
|
||||||
|
%\usepackage{turnstile}
|
||||||
|
%\usepackage{linguex}
|
||||||
|
%\usepackage{schemata}
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
%\usepackage{graphicx}
|
||||||
|
%\DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
%\usepackage{fancybox}
|
||||||
|
%\begin{figure}[ht]
|
||||||
|
%\shadowbox{\includegraphics{figure-file}}}
|
||||||
|
%\end{figure}
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
%\usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
%\usepackage{epigraph} %%Use \epigraph{text}{citation}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
\newcommand\citepl[2][]{\citeauthor{#2}'s (\citeyear[#1]{#2})} %%Use \citepl for possessive citation.
|
||||||
|
\newcommand\citea[2][]{\citeauthor{#2}#1} %%Use \citea is for author name only, with optional page numbers.
|
||||||
|
\newcommand\citeapl[2][]{\citeauthor{#2}'s#1} %%Use \citeapl is for possessive author name only.
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
%\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
%\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
%\newcommand{\ttuple}[1]{$\langle$#1$\rangle$} %%Angle brackets
|
||||||
|
%\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
%\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\newcommand{\sq}[1]{`#1'} %%Proper opened-closed single quotation marks
|
||||||
|
%\newcommand{\dq}[1]{``#1"} %%Proper opened-closed double quotation marks
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\square$} %%Box at end of proofs
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
%\newenvironment{senum}[2][topsep=0in, itemsep=.05in]{\begin{enumerate}[#1,topsep=0in, itemsep=.05in]\begin{singlespace}#2}{\end{singlespace}\end{enumerate}\vspace{.175in}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{TITLE}
|
||||||
|
\author{Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent BEGIN ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
\section*{Introduction}
|
||||||
|
\addcontentsline{toc}{section}{\protect\numberline{}Introduction}%
|
||||||
|
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch1/Ch1}
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch2/Ch2}
|
||||||
|
|
||||||
|
\section*{Conclusion}
|
||||||
|
\addcontentsline{toc}{section}{\protect\numberline{}Conclusion}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{small} %%Makes bib small text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{PhilReview} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
%\setlength{\bibsep}{0.5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{small} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,154 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{report} %%Font size and document presets
|
||||||
|
\usepackage[top=1in, bottom=1in, left=1.25in, right=1.25in]{geometry} %%Margins
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
\expandafter\def\expandafter\quote\expandafter{\quote\onehalfspacing} %%Makes 1.5 quote spacing
|
||||||
|
%\usepackage{mdwlist} %% Compressed lists, use star: \begin{enumerate*} \end{'' *}
|
||||||
|
%\usepackage{indentfirst} %%Indents first line of first paragraph of each section
|
||||||
|
%\raggedbottom %% Lose the constraint on equalising page content
|
||||||
|
%\frenchspacing %%Makes the sentence spacing single spaced
|
||||||
|
%\usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
|
||||||
|
|
||||||
|
%%% MULTIPLE FILES %%%
|
||||||
|
\usepackage{subfiles}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usepackage{bibentry}
|
||||||
|
|
||||||
|
|
||||||
|
%%% HYPER SECTIONS %%%
|
||||||
|
\usepackage{bold-extra} %% bold+small caps
|
||||||
|
\usepackage{titlesec}
|
||||||
|
\usepackage{tocloft} %% change alignment of subsubsection in toc
|
||||||
|
%\cftsetindents{subsubsubsection}{0.228in}{0.346in} %change alignment of subsubsection in toc
|
||||||
|
\newcommand{\hypsection}[1]{\section[\bfseries{\scshape{#1}}]{\hyperlink{toc}{\sc \textbf{#1}}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsection}[1]{\subsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
\newcommand{\hypsubsubsection}[1]{\subsubsection[#1]{\hyperlink{toc}{#1}}} %%use to jump back to toc
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{$\S$\thesection\ #1}} %%Left header command
|
||||||
|
\lhead{\nouppercase{\rightmark}} %%Left header
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd} %%Use \llbracket and \rrbracket for double brackets
|
||||||
|
%\usepackage{cancel} %%\cancel strikes out text diagonally
|
||||||
|
%\usepackage{fitch}
|
||||||
|
%\usepackage{turnstile}
|
||||||
|
%\usepackage{linguex}
|
||||||
|
%\usepackage{schemata}
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
%\usepackage{graphicx}
|
||||||
|
%\DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
%\usepackage{fancybox}
|
||||||
|
%\begin{figure}[ht]
|
||||||
|
%\shadowbox{\includegraphics{figure-file}}}
|
||||||
|
%\end{figure}
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
%\usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
%\usepackage{epigraph} %%Use \epigraph{text}{citation}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
\newcommand\citepl[2][]{\citeauthor{#2}'s (\citeyear[#1]{#2})} %%Use \citepl for possessive citation.
|
||||||
|
\newcommand\citea[2][]{\citeauthor{#2}#1} %%Use \citea is for author name only, with optional page numbers.
|
||||||
|
\newcommand\citeapl[2][]{\citeauthor{#2}'s#1} %%Use \citeapl is for possessive author name only.
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
%\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
%\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
%\newcommand{\ttuple}[1]{$\langle$#1$\rangle$} %%Angle brackets
|
||||||
|
%\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
%\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\newcommand{\sq}[1]{`#1'} %%Proper opened-closed single quotation marks
|
||||||
|
%\newcommand{\dq}[1]{``#1"} %%Proper opened-closed double quotation marks
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\square$} %%Box at end of proofs
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
%\newenvironment{senum}[2][topsep=0in, itemsep=.05in]{\begin{enumerate}[#1,topsep=0in, itemsep=.05in]\begin{singlespace}#2}{\end{singlespace}\end{enumerate}\vspace{.175in}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{TITLE}
|
||||||
|
\author{Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent BEGIN ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
\section*{Introduction}
|
||||||
|
\addcontentsline{toc}{section}{\protect\numberline{}Introduction}%
|
||||||
|
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch1/FirstFile}
|
||||||
|
|
||||||
|
\subfile{Chapters/Ch2/SecondFile}
|
||||||
|
|
||||||
|
\section*{Conclusion}
|
||||||
|
\addcontentsline{toc}{section}{\protect\numberline{}Conclusion}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{small} %%Makes bib small text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{Phil_Review} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
%\setlength{\bibsep}{0.5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{small} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,243 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%%%%%%%%% TikZ Example %%%%%%%%%
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\documentclass[11pt]{article}
|
||||||
|
|
||||||
|
%################################################
|
||||||
|
%######## Packages ########
|
||||||
|
%################################################
|
||||||
|
|
||||||
|
\usepackage{tikz} % Diagrams
|
||||||
|
\usetikzlibrary{positioning,arrows,shadows,shapes,patterns,decorations.pathmorphing} % Some TikZ libraries
|
||||||
|
|
||||||
|
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
%>>>>>> Setup >>>>>>
|
||||||
|
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
|
\tikzset{
|
||||||
|
modal/.style={
|
||||||
|
>=stealth',
|
||||||
|
shorten >=1pt,
|
||||||
|
shorten <=1pt,
|
||||||
|
auto,
|
||||||
|
node distance=2cm,
|
||||||
|
semithick
|
||||||
|
},
|
||||||
|
state/.style={
|
||||||
|
circle,
|
||||||
|
draw,
|
||||||
|
minimum size=0.5cm,
|
||||||
|
fill=gray!15
|
||||||
|
},
|
||||||
|
point/.style={
|
||||||
|
circle,
|
||||||
|
draw,
|
||||||
|
inner sep=0.5mm,
|
||||||
|
fill=black
|
||||||
|
},
|
||||||
|
sees/.style={
|
||||||
|
->
|
||||||
|
},
|
||||||
|
seen/.style={
|
||||||
|
<-
|
||||||
|
},
|
||||||
|
seens/.style={
|
||||||
|
<->
|
||||||
|
},
|
||||||
|
rfl/.style={
|
||||||
|
->,
|
||||||
|
in=120,
|
||||||
|
out=60,
|
||||||
|
loop,
|
||||||
|
looseness=5
|
||||||
|
}}
|
||||||
|
|
||||||
|
\newcommand{\stack}[1]{{\def\arraystretch{0.6}\begin{array}{c} #1 \end{array}}}
|
||||||
|
|
||||||
|
%::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
%:::::: Front Matter ::::::
|
||||||
|
%::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\textbf{Example 1:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[modal, node distance=1cm]
|
||||||
|
\node[point] (p1) [label=above:$p_1$] {};
|
||||||
|
\node[point] (p2) [right of=p1, label=above:$\stack{p_1 \\ p_2}$] {};
|
||||||
|
\node[point] (p3) [right of=p2, label=above:$\stack{p_1 \\ p_2 \\ p_3}$] {};
|
||||||
|
\node[point] (r) [below of=p2, label=below:$t_\mathsf{root}$] {};
|
||||||
|
\node (con) [right of=p3] {$\cdots$};
|
||||||
|
\node[point] (pw) [right of=con, label=above:$\stack{p_1 \\ p_2 \\ p_3 \\ \vdots}$, label=right:``$t_\omega$''] {};
|
||||||
|
\node (T') [below of=r] {$\mathcal{T}$};
|
||||||
|
|
||||||
|
\path (r) edge[sees] (p1);
|
||||||
|
\path (r) edge[sees] (p2);
|
||||||
|
\path (r) edge[sees] (p3);
|
||||||
|
\path (r) edge[sees,dashed, bend right=25] (pw);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\textbf{Example 2:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[modal, node distance=1.5cm]
|
||||||
|
\node[point] (0) [label=above:$p_1$, label=below:$0$] {};
|
||||||
|
\node[point] (1) [right of=0, label=above:$p_2$, label=below:$1$] {};
|
||||||
|
\node[point] (2) [right of=1, label=above:$p_1$, label=below:$2$] {};
|
||||||
|
\node[point] (3) [right of=2, label=above:$p_2$, label=below:$3$] {};
|
||||||
|
\node (r) [right of=3] {$\cdots$};
|
||||||
|
\node[point] (-1) [left of=0, label=above:$p_2$, label=below:$-1$] {};
|
||||||
|
\node[point] (-2) [left of=-1, label=above:$p_1$, label=below:$-2$] {};
|
||||||
|
\node[point] (-3) [left of=-2, label=above:$p_2$, label=below:$-3$] {};
|
||||||
|
\node (l) [left of=-3] {$\cdots$};
|
||||||
|
|
||||||
|
\path (l) edge[sees] (-3);
|
||||||
|
\path (-3) edge[sees] (-2);
|
||||||
|
\path (-2) edge[sees] (-1);
|
||||||
|
\path (-1) edge[sees] (0);
|
||||||
|
\path (0) edge[sees] (1);
|
||||||
|
\path (1) edge[sees] (2);
|
||||||
|
\path (2) edge[sees] (3);
|
||||||
|
\path (3) edge[sees] (r);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\textbf{Example 3:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[modal, node distance=1.5cm]
|
||||||
|
\node[point] (e) [label=above:$p_1$, label=below:$e$] {};
|
||||||
|
\node[point] (m) [right of=e, label=below:$m$] {};
|
||||||
|
\node[point] (o) [right of=m, label=above:$p_2$, label=below:$o$] {};
|
||||||
|
|
||||||
|
\path (e) edge[sees, bend left=25] (m);
|
||||||
|
\path (m) edge[sees, bend left=25] (e);
|
||||||
|
\path (o) edge[sees, bend left=25] (m);
|
||||||
|
\path (m) edge[sees, bend left=25] (o);
|
||||||
|
\path (m) edge[rfl, in=60, out=120, looseness=30] (m);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\textbf{Example 4:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[modal]
|
||||||
|
\node (r) {$t_\mathsf{root}$};
|
||||||
|
\node (1p1) [above left=5mm of r] {$p_1$};
|
||||||
|
\node (1p2) [above left=5mm of 1p1] {$p_2$};
|
||||||
|
\node (1p3) [above left=5mm of 1p2] {$p_3$};
|
||||||
|
\node (1pd) [above left=-2mm of 1p3] {\rotatebox[origin=c]{-10}{$\ddots$}};
|
||||||
|
|
||||||
|
\node (2p1) [above=5mm of r] {$p_1$};
|
||||||
|
\node (2p2) [above=5mm of 2p1] {$p_1$};
|
||||||
|
\node (2p3) [above=5mm of 2p2] {$p_2$};
|
||||||
|
\node (2p4) [above=5mm of 2p3] {$p_3$};
|
||||||
|
\node (2pd) [above=1mm of 2p4] {$\vdots$};
|
||||||
|
|
||||||
|
\node (3p1) [above right=5mm of r] {$p_1$};
|
||||||
|
\node (3p2) [above right=5mm of 3p1] {$p_1$};
|
||||||
|
\node (3p3) [above right=5mm of 3p2] {$p_1$};
|
||||||
|
\node (3p4) [above right=5mm of 3p3] {$p_2$};
|
||||||
|
\node (3p5) [above right=5mm of 3p4] {$p_3$};
|
||||||
|
\node (3pd) [above right=-2mm of 3p5] {\rotatebox[origin=c]{80}{$\ddots$}};
|
||||||
|
|
||||||
|
\node (con) [below right=1mm of 3p3] {$\ddots$};
|
||||||
|
\node (cont) [below right=1mm of con] {$\vdots$};
|
||||||
|
|
||||||
|
\node (wp1) [right=5mm of r] {$p_1$};
|
||||||
|
\node (wp2) [right=5mm of wp1] {$p_1$};
|
||||||
|
\node (wp3) [right=5mm of wp2] {$p_1$};
|
||||||
|
\node (wp4) [right=5mm of wp3] {$p_1$};
|
||||||
|
\node (wpd) [right=0mm of wp4] {$\dots$};
|
||||||
|
|
||||||
|
|
||||||
|
\path (r) edge[sees] (1p1);
|
||||||
|
\path (r) edge[sees] (2p1);
|
||||||
|
\path (r) edge[sees] (3p1);
|
||||||
|
\path (r) edge[sees] (wp1);
|
||||||
|
|
||||||
|
\path (1p1) edge[sees] (1p2);
|
||||||
|
\path (1p2) edge[sees] (1p3);
|
||||||
|
|
||||||
|
\path (2p1) edge[sees] (2p2);
|
||||||
|
\path (2p2) edge[sees] (2p3);
|
||||||
|
\path (2p3) edge[sees] (2p4);
|
||||||
|
|
||||||
|
\path (3p1) edge[sees] (3p2);
|
||||||
|
\path (3p2) edge[sees] (3p3);
|
||||||
|
\path (3p3) edge[sees] (3p4);
|
||||||
|
\path (3p4) edge[sees] (3p5);
|
||||||
|
|
||||||
|
\path (wp1) edge[sees] (wp2);
|
||||||
|
\path (wp2) edge[sees] (wp3);
|
||||||
|
\path (wp3) edge[sees] (wp4);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
|
\textbf{Example 5:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[modal]
|
||||||
|
\node[state] (h1) {H};
|
||||||
|
\node[state] (h2) [right of = h1] {H};
|
||||||
|
\node[state] (h3) [right of = h2] {H};
|
||||||
|
\node[state] (t1) [above right of = h1] {T};
|
||||||
|
\node[state] (t2) [above right of = h2] {T};
|
||||||
|
\node[state] (t3) [above right of = h3] {T};
|
||||||
|
\node (e) [right of = h3] {\dots};
|
||||||
|
|
||||||
|
\path (h1) edge[rfl, in=150, out=210] (h1);
|
||||||
|
\path (t1) edge[rfl] (t1);
|
||||||
|
|
||||||
|
\path (h1) edge[sees] (h2);
|
||||||
|
\path (h2) edge[sees] (h3);
|
||||||
|
\path (h3) edge[sees] (e);
|
||||||
|
|
||||||
|
\path (h1) edge[sees,dashed] (t1);
|
||||||
|
\path (h2) edge[sees,dashed] (t2);
|
||||||
|
\path (h3) edge[sees,dashed] (t3);
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\textbf{Example 6:}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tikzpicture}[node distance=1ex]
|
||||||
|
\node (A->B) {$A \rightarrow B$};
|
||||||
|
\node (A&-B) [below=of A->B] {$A \wedge \neg B$};
|
||||||
|
\node (-A) [below left=7mm of A&-B] {$\neg A$};
|
||||||
|
\node (A) [below=of -A] {$A$};
|
||||||
|
\node (x-A) [below=of A] {$\times$};
|
||||||
|
\node (B) [below right=7mm of A&-B] {$B$};
|
||||||
|
\node (A2) at (x-A -| B) [yshift=-7mm] {$A$};
|
||||||
|
\node (-B) [below=of A2] {$\neg B$};
|
||||||
|
\node (x-B) [below=of -B] {$\times$};
|
||||||
|
|
||||||
|
\path (A&-B) edge[-] (-A);
|
||||||
|
\path (A&-B) edge[-] (B);
|
||||||
|
\path (B) edge[-] (A2);
|
||||||
|
|
||||||
|
\node (1) [left=2cm of A->B] {1.};
|
||||||
|
\node (2) at (1 |- A&-B) {2.};
|
||||||
|
\node (3) at (1 |- -A) {3.};
|
||||||
|
\node (4) at (1 |- A) {4.};
|
||||||
|
\node (5) at (1 |- A2) {5.};
|
||||||
|
\node (6) at (1 |- -B) {6.};
|
||||||
|
|
||||||
|
\path (5) edge[-,dashed] (A2);
|
||||||
|
\path (6) edge[-,dotted] (-B);
|
||||||
|
|
||||||
|
\node (r1) [right=2cm of A->B] {P};
|
||||||
|
\node (r2) at (r1 |- A&-B) {P};
|
||||||
|
\node (r3) at (r1 |- -A) {($\rightarrow$), 1};
|
||||||
|
\node (r4) at (r1 |- A) {($\wedge$), 2};
|
||||||
|
\node (r5) at (r1 |- A2) {($\wedge$), 2};
|
||||||
|
\node (r6) at (r1 |- -B) {($\wedge$), 2};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,300 @@
|
||||||
|
\documentclass{tufte-handout}
|
||||||
|
|
||||||
|
%\geometry{showframe}% for debugging purposes -- displays the margins
|
||||||
|
|
||||||
|
\usepackage{amsmath}
|
||||||
|
|
||||||
|
% Set up the images/graphics package
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\setkeys{Gin}{width=\linewidth,totalheight=\textheight,keepaspectratio}
|
||||||
|
\graphicspath{{graphics/}}
|
||||||
|
|
||||||
|
\title{An Example of the Usage of the Tufte-Handout Style\thanks{Inspired by Edward~R. Tufte!}}
|
||||||
|
\author[The Tufte-LaTeX Developers]{The Tufte-\LaTeX\ Developers}
|
||||||
|
\date{24 January 2009} % if the \date{} command is left out, the current date will be used
|
||||||
|
|
||||||
|
% The following package makes prettier tables. We're all about the bling!
|
||||||
|
\usepackage{booktabs}
|
||||||
|
|
||||||
|
% The units package provides nice, non-stacked fractions and better spacing
|
||||||
|
% for units.
|
||||||
|
\usepackage{units}
|
||||||
|
|
||||||
|
% The fancyvrb package lets us customize the formatting of verbatim
|
||||||
|
% environments. We use a slightly smaller font.
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\fvset{fontsize=\normalsize}
|
||||||
|
|
||||||
|
% Small sections of multiple columns
|
||||||
|
\usepackage{multicol}
|
||||||
|
|
||||||
|
% Provides paragraphs of dummy text
|
||||||
|
\usepackage{lipsum}
|
||||||
|
|
||||||
|
% These commands are used to pretty-print LaTeX commands
|
||||||
|
\newcommand{\doccmd}[1]{\texttt{\textbackslash#1}}% command name -- adds backslash automatically
|
||||||
|
\newcommand{\docopt}[1]{\ensuremath{\langle}\textrm{\textit{#1}}\ensuremath{\rangle}}% optional command argument
|
||||||
|
\newcommand{\docarg}[1]{\textrm{\textit{#1}}}% (required) command argument
|
||||||
|
\newenvironment{docspec}{\begin{quote}\noindent}{\end{quote}}% command specification environment
|
||||||
|
\newcommand{\docenv}[1]{\textsf{#1}}% environment name
|
||||||
|
\newcommand{\docpkg}[1]{\texttt{#1}}% package name
|
||||||
|
\newcommand{\doccls}[1]{\texttt{#1}}% document class name
|
||||||
|
\newcommand{\docclsopt}[1]{\texttt{#1}}% document class option name
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle% this prints the handout title, author, and date
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent This document describes the Tufte handout \LaTeX\ document style.
|
||||||
|
It also provides examples and comments on the style's use. Only a brief
|
||||||
|
overview is presented here; for a complete reference, see the sample book.
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
%\printclassoptions
|
||||||
|
|
||||||
|
The Tufte-\LaTeX\ document classes define a style similar to the
|
||||||
|
style Edward Tufte uses in his books and handouts. Tufte's style is known
|
||||||
|
for its extensive use of sidenotes, tight integration of graphics with
|
||||||
|
text, and well-set typography. This document aims to be at once a
|
||||||
|
demonstration of the features of the Tufte-\LaTeX\ document classes
|
||||||
|
and a style guide to their use.
|
||||||
|
|
||||||
|
\section{Page Layout}\label{sec:page-layout}
|
||||||
|
\subsection{Headings}\label{sec:headings}
|
||||||
|
This style provides \textsc{a}- and \textsc{b}-heads (that is,
|
||||||
|
\Verb|\section| and \Verb|\subsection|), demonstrated above.
|
||||||
|
|
||||||
|
The Tufte-\LaTeX\ classes will emit an error if you try to use
|
||||||
|
\linebreak\Verb|\subsubsection| and smaller headings.
|
||||||
|
|
||||||
|
% let's start a new thought -- a new section
|
||||||
|
\newthought{In his later books},\cite{Tufte2006} Tufte
|
||||||
|
starts each section with a bit of vertical space, a non-indented paragraph,
|
||||||
|
and sets the first few words of the sentence in \textsc{small caps}. To
|
||||||
|
accomplish this using this style, use the \Verb|\newthought| command:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{newthought\{In his later books\}, Tufte starts\ldots}
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
\subsection{Sidenotes}\label{sec:sidenotes}
|
||||||
|
One of the most prominent and distinctive features of this style is the
|
||||||
|
extensive use of sidenotes. There is a wide margin to provide ample room
|
||||||
|
for sidenotes and small figures. Any \Verb|\footnote|s will automatically
|
||||||
|
be converted to sidenotes.\footnote{This is a sidenote that was entered
|
||||||
|
using the \texttt{\textbackslash footnote} command.} If you'd like to place ancillary
|
||||||
|
information in the margin without the sidenote mark (the superscript
|
||||||
|
number), you can use the \Verb|\marginnote| command.\marginnote{This is a
|
||||||
|
margin note. Notice that there isn't a number preceding the note, and
|
||||||
|
there is no number in the main text where this note was written.}
|
||||||
|
|
||||||
|
The specification of the \Verb|\sidenote| command is:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{sidenote[\docopt{number}][\docopt{offset}]\{\docarg{Sidenote text.}\}}
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
Both the \docopt{number} and \docopt{offset} arguments are optional. If you
|
||||||
|
provide a \docopt{number} argument, then that number will be used as the
|
||||||
|
sidenote number. It will change of the number of the current sidenote only and
|
||||||
|
will not affect the numbering sequence of subsequent sidenotes.
|
||||||
|
|
||||||
|
Sometimes a sidenote may run over the top of other text or graphics in the
|
||||||
|
margin space. If this happens, you can adjust the vertical position of the
|
||||||
|
sidenote by providing a dimension in the \docopt{offset} argument. Some
|
||||||
|
examples of valid dimensions are:
|
||||||
|
\begin{docspec}
|
||||||
|
\ttfamily 1.0in \qquad 2.54cm \qquad 254mm \qquad 6\Verb|\baselineskip|
|
||||||
|
\end{docspec}
|
||||||
|
If the dimension is positive it will push the sidenote down the page; if the
|
||||||
|
dimension is negative, it will move the sidenote up the page.
|
||||||
|
|
||||||
|
While both the \docopt{number} and \docopt{offset} arguments are optional, they
|
||||||
|
must be provided in order. To adjust the vertical position of the sidenote
|
||||||
|
while leaving the sidenote number alone, use the following syntax:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{sidenote[][\docopt{offset}]\{\docarg{Sidenote text.}\}}
|
||||||
|
\end{docspec}
|
||||||
|
The empty brackets tell the \Verb|\sidenote| command to use the default
|
||||||
|
sidenote number.
|
||||||
|
|
||||||
|
If you \emph{only} want to change the sidenote number, however, you may
|
||||||
|
completely omit the \docopt{offset} argument:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{sidenote[\docopt{number}]\{\docarg{Sidenote text.}\}}
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
The \Verb|\marginnote| command has a similar \docarg{offset} argument:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{marginnote[\docopt{offset}]\{\docarg{Margin note text.}\}}
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
\subsection{References}
|
||||||
|
References are placed alongside their citations as sidenotes,
|
||||||
|
as well. This can be accomplished using the normal \Verb|\cite|
|
||||||
|
command.\sidenote{The first paragraph of this document includes a citation.}
|
||||||
|
|
||||||
|
The complete list of references may also be printed automatically by using
|
||||||
|
the \Verb|\bibliography| command. (See the end of this document for an
|
||||||
|
example.) If you do not want to print a bibliography at the end of your
|
||||||
|
document, use the \Verb|\nobibliography| command in its place.
|
||||||
|
|
||||||
|
To enter multiple citations at one location,\cite{Tufte2006,Tufte1990} you can
|
||||||
|
provide a list of keys separated by commas and the same optional vertical
|
||||||
|
offset argument: \Verb|\cite{Tufte2006,Tufte1990}|.
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{cite[\docopt{offset}]\{\docarg{bibkey1,bibkey2,\ldots}\}}
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
\section{Figures and Tables}\label{sec:figures-and-tables}
|
||||||
|
Images and graphics play an integral role in Tufte's work.
|
||||||
|
In addition to the standard \docenv{figure} and \docenv{tabular} environments,
|
||||||
|
this style provides special figure and table environments for full-width
|
||||||
|
floats.
|
||||||
|
|
||||||
|
Full page--width figures and tables may be placed in \docenv{figure*} or
|
||||||
|
\docenv{table*} environments. To place figures or tables in the margin,
|
||||||
|
use the \docenv{marginfigure} or \docenv{margintable} environments as follows
|
||||||
|
(see figure~\ref{fig:marginfig}):
|
||||||
|
|
||||||
|
\begin{marginfigure}%
|
||||||
|
%\includegraphics[width=\linewidth]{helix}
|
||||||
|
\caption{This is a margin figure. The helix is defined by
|
||||||
|
$x = \cos(2\pi z)$, $y = \sin(2\pi z)$, and $z = [0, 2.7]$. The figure was
|
||||||
|
drawn using Asymptote (\url{http://asymptote.sf.net/}).}
|
||||||
|
\label{fig:marginfig}
|
||||||
|
\end{marginfigure}
|
||||||
|
\begin{Verbatim}
|
||||||
|
\begin{marginfigure}
|
||||||
|
\includegraphics{helix}
|
||||||
|
\caption{This is a margin figure.}
|
||||||
|
\end{marginfigure}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
||||||
|
The \docenv{marginfigure} and \docenv{margintable} environments accept an optional parameter \docopt{offset} that adjusts the vertical position of the figure or table. See the ``\nameref{sec:sidenotes}'' section above for examples. The specifications are:
|
||||||
|
\begin{docspec}
|
||||||
|
\doccmd{begin\{marginfigure\}[\docopt{offset}]}\\
|
||||||
|
\qquad\ldots\\
|
||||||
|
\doccmd{end\{marginfigure\}}\\
|
||||||
|
\mbox{}\\
|
||||||
|
\doccmd{begin\{margintable\}[\docopt{offset}]}\\
|
||||||
|
\qquad\ldots\\
|
||||||
|
\doccmd{end\{margintable\}}\\
|
||||||
|
\end{docspec}
|
||||||
|
|
||||||
|
Figure~\ref{fig:fullfig} is an example of the \Verb|figure*|
|
||||||
|
environment and figure~\ref{fig:textfig} is an example of the normal
|
||||||
|
\Verb|figure| environment.
|
||||||
|
|
||||||
|
\begin{figure*}[h]
|
||||||
|
% \includegraphics[width=\linewidth]{sine.pdf}%
|
||||||
|
\caption{This graph shows $y = \sin x$ from about $x = [-10, 10]$.
|
||||||
|
\emph{Notice that this figure takes up the full page width.}}%
|
||||||
|
\label{fig:fullfig}%
|
||||||
|
\end{figure*}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
% \includegraphics{hilbertcurves.pdf}
|
||||||
|
% \checkparity This is an \pageparity\ page.%
|
||||||
|
\caption{Hilbert curves of various degrees $n$.
|
||||||
|
\emph{Notice that this figure only takes up the main textblock width.}}
|
||||||
|
\label{fig:textfig}
|
||||||
|
%\zsavepos{pos:textfig}
|
||||||
|
\setfloatalignment{b}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Table~\ref{tab:normaltab} shows table created with the \docpkg{booktabs}
|
||||||
|
package. Notice the lack of vertical rules---they serve only to clutter
|
||||||
|
the table's data.
|
||||||
|
|
||||||
|
\begin{table}[ht]
|
||||||
|
\centering
|
||||||
|
\fontfamily{ppl}\selectfont
|
||||||
|
\begin{tabular}{ll}
|
||||||
|
\toprule
|
||||||
|
Margin & Length \\
|
||||||
|
\midrule
|
||||||
|
Paper width & \unit[8\nicefrac{1}{2}]{inches} \\
|
||||||
|
Paper height & \unit[11]{inches} \\
|
||||||
|
Textblock width & \unit[6\nicefrac{1}{2}]{inches} \\
|
||||||
|
Textblock/sidenote gutter & \unit[\nicefrac{3}{8}]{inches} \\
|
||||||
|
Sidenote width & \unit[2]{inches} \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\caption{Here are the dimensions of the various margins used in the Tufte-handout class.}
|
||||||
|
\label{tab:normaltab}
|
||||||
|
%\zsavepos{pos:normaltab}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\section{Full-width text blocks}
|
||||||
|
|
||||||
|
In addition to the new float types, there is a \docenv{fullwidth}
|
||||||
|
environment that stretches across the main text block and the sidenotes
|
||||||
|
area.
|
||||||
|
|
||||||
|
\begin{Verbatim}
|
||||||
|
\begin{fullwidth}
|
||||||
|
Lorem ipsum dolor sit amet...
|
||||||
|
\end{fullwidth}
|
||||||
|
\end{Verbatim}
|
||||||
|
|
||||||
|
\begin{fullwidth}
|
||||||
|
\small\itshape\lipsum[1]
|
||||||
|
\end{fullwidth}
|
||||||
|
|
||||||
|
\section{Typography}\label{sec:typography}
|
||||||
|
|
||||||
|
\subsection{Typefaces}\label{sec:typefaces}
|
||||||
|
If the Palatino, \textsf{Helvetica}, and \texttt{Bera Mono} typefaces are installed, this style
|
||||||
|
will use them automatically. Otherwise, we'll fall back on the Computer Modern
|
||||||
|
typefaces.
|
||||||
|
|
||||||
|
\subsection{Letterspacing}\label{sec:letterspacing}
|
||||||
|
This document class includes two new commands and some improvements on
|
||||||
|
existing commands for letterspacing.
|
||||||
|
|
||||||
|
When setting strings of \allcaps{ALL CAPS} or \smallcaps{small caps}, the
|
||||||
|
letter\-spacing---that is, the spacing between the letters---should be
|
||||||
|
increased slightly.\cite{Bringhurst2005} The \Verb|\allcaps| command has proper letterspacing for
|
||||||
|
strings of \allcaps{FULL CAPITAL LETTERS}, and the \Verb|\smallcaps| command
|
||||||
|
has letterspacing for \smallcaps{small capital letters}. These commands
|
||||||
|
will also automatically convert the case of the text to upper- or
|
||||||
|
lowercase, respectively.
|
||||||
|
|
||||||
|
The \Verb|\textsc| command has also been redefined to include
|
||||||
|
letterspacing. The case of the \Verb|\textsc| argument is left as is,
|
||||||
|
however. This allows one to use both uppercase and lowercase letters:
|
||||||
|
\textsc{The Initial Letters Of The Words In This Sentence Are Capitalized.}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\section{Installation}\label{sec:installation}
|
||||||
|
To install the Tufte-\LaTeX\ classes, simply drop the
|
||||||
|
following files into the same directory as your \texttt{.tex}
|
||||||
|
file:
|
||||||
|
\begin{quote}
|
||||||
|
\ttfamily
|
||||||
|
tufte-common.def\\
|
||||||
|
tufte-handout.cls\\
|
||||||
|
tufte-book.cls
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
% TODO add instructions for installing it globally
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\section{More Documentation}\label{sec:more-doc}
|
||||||
|
For more documentation on the Tufte-\LaTeX{} document classes (including commands not
|
||||||
|
mentioned in this handout), please see the sample book.
|
||||||
|
|
||||||
|
\section{Support}\label{sec:support}
|
||||||
|
|
||||||
|
The website for the Tufte-\LaTeX\ packages is located at
|
||||||
|
\url{http://code.google.com/p/tufte-latex/}. On our website, you'll find
|
||||||
|
links to our \smallcaps{svn} repository, mailing lists, bug tracker, and documentation.
|
||||||
|
|
||||||
|
\bibliography{sample-handout}
|
||||||
|
\bibliographystyle{plainnat}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
|
@ -0,0 +1,131 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%%% FORMATTING %%%
|
||||||
|
\documentclass[11pt]{article} %%Font size and document presets
|
||||||
|
\usepackage[top=1in, bottom=1in, left=1.25in, right=1.25in]{geometry} %%Margins
|
||||||
|
\usepackage[protrusion=true,expansion=true]{microtype} %% Makes subtle line spacing shifts
|
||||||
|
\usepackage{enumitem} %%Enables control over enumerate and itemize environments
|
||||||
|
\setenumerate{label=(\arabic*), wide=\parindent} %%Changes enumeration style: use \begin{enumerate}
|
||||||
|
\usepackage{setspace} %%Enables \doublespacing command for double linespacing
|
||||||
|
\expandafter\def\expandafter\quote\expandafter{\quote\onehalfspacing} %%Makes 1.5 quote spacing
|
||||||
|
%\usepackage{mdwlist} %% Compressed lists, use star: \begin{enumerate*} \end{'' *}
|
||||||
|
%\usepackage{indentfirst} %%Indents first line of first paragraph of each section
|
||||||
|
%\raggedbottom %% Lose the constraint on equalising page content
|
||||||
|
%\frenchspacing %%Makes the sentence spacing single spaced
|
||||||
|
%\usepackage{multicol} %% Use \begin{multicols}{3} for three columns and \end{multicols} after
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%% HEADER %%%
|
||||||
|
\usepackage{fancyhdr} %%Permits \pagestyle{fancy}
|
||||||
|
\pagestyle{fancy} %%Header style
|
||||||
|
\usepackage{titlesec} %%Header style
|
||||||
|
\titlespacing*{\subsection}{\parindent}{.25in}{\wordsep}% Reduces spacing after headings
|
||||||
|
\rhead{Benjamin Brast-McKie} %%Right header
|
||||||
|
\renewcommand{\sectionmark}[1]{\markright{$\S$\thesection\ #1}} %%Left header command
|
||||||
|
\lhead{\nouppercase{\rightmark}} %%Left header
|
||||||
|
|
||||||
|
%%% FOOTNOTES %%%
|
||||||
|
\usepackage{scrextend} %%Allows for changes to foodnotes
|
||||||
|
\deffootnote[1em]{0in}{1em}{\textsuperscript{\thefootnotemark \ }} %%Footnote style
|
||||||
|
\setlength{\footnotesep}{0.125in} %%Space between footnotes
|
||||||
|
|
||||||
|
%%% SYMBOLS %%%
|
||||||
|
\usepackage{amssymb, amsmath, mathrsfs} %%Math packages
|
||||||
|
\usepackage{stmaryrd} %%Use \llbracket and \rrbracket for double brackets
|
||||||
|
%\usepackage{cancel} %%\cancel strikes out text diagonally
|
||||||
|
%\usepackage{fitch}
|
||||||
|
%\usepackage{turnstile}
|
||||||
|
%\usepackage{linguex}
|
||||||
|
%\usepackage{schemata}
|
||||||
|
|
||||||
|
%%% GRAPHICS %%%
|
||||||
|
\usepackage{graphicx}
|
||||||
|
%\DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}
|
||||||
|
%\usepackage{fancybox}
|
||||||
|
%\begin{figure}[ht]
|
||||||
|
%\shadowbox{\includegraphics{figure-file}}}
|
||||||
|
%\end{figure}
|
||||||
|
|
||||||
|
%%% CITATIONS %%%
|
||||||
|
%\usepackage{bibentry} %%Replace \bibliography{} with \nobibliography{} for no bib
|
||||||
|
%\usepackage{epigraph} %%Use \epigraph{text}{citation}
|
||||||
|
\usepackage[round]{natbib} %%Or change 'round' to 'square' for square backers
|
||||||
|
\setcitestyle{aysep={}}
|
||||||
|
\newcommand\citepl[2][]{\citeauthor{#2}'s (\citeyear[#1]{#2})} %%Use \citepl for possessive citation.
|
||||||
|
\newcommand\citea[2][]{\citeauthor{#2}#1} %%Use \citea is for author name only, with optional page numbers.
|
||||||
|
\newcommand\citeapl[2][]{\citeauthor{#2}'s#1} %%Use \citeapl is for possessive author name only.
|
||||||
|
% \citet{key} ==>> Jones et al. (1990)
|
||||||
|
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
|
||||||
|
% \citep{key} ==>> (Jones et al., 1990)
|
||||||
|
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
|
||||||
|
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
||||||
|
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
|
||||||
|
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
|
||||||
|
% \citeauthor{key} ==>> Jones et al.
|
||||||
|
% \citeauthor*{key} ==>> Jones, Baker, and Smith
|
||||||
|
% \citeyear{key} ==>> 1990
|
||||||
|
|
||||||
|
|
||||||
|
%%% DEFINITIONS FOR LOGICAL SYMBOLS AND QUOTES %%%
|
||||||
|
%\newcommand{\corner}[1]{\ulcorner#1\urcorner} %%Corner quotes
|
||||||
|
%\newcommand{\tuple}[1]{\langle#1\rangle} %%Angle brackets
|
||||||
|
%\newcommand{\ttuple}[1]{$\langle$#1$\rangle$} %%Angle brackets
|
||||||
|
%\newcommand{\set}[1]{\lbrace#1\rbrace} %%Set brackets
|
||||||
|
%\newcommand{\interpret}[1]{\llbracket#1\rrbracket} %%Double brackets
|
||||||
|
%\newcommand{\sq}[1]{`#1'} %%Proper opened-closed single quotation marks
|
||||||
|
%\newcommand{\dq}[1]{``#1"} %%Proper opened-closed double quotation marks
|
||||||
|
%\newcommand{\qed}[0]{$\hfill\square$} %%Box at end of proofs
|
||||||
|
|
||||||
|
|
||||||
|
%%% ENVIRONMENTS %%%
|
||||||
|
%\newenvironment{senum}[2][topsep=0in, itemsep=.05in]{\begin{enumerate}[#1,topsep=0in, itemsep=.05in]\begin{singlespace}#2}{\end{singlespace}\end{enumerate}\vspace{.175in}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%% TITLE %%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{TITLE}
|
||||||
|
\author{Benjamin Brast-McKie}
|
||||||
|
\date{\today}
|
||||||
|
\maketitle
|
||||||
|
\thispagestyle{empty}
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
\noindent BEGIN ABSTRACT
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\doublespacing
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%% DOCUMENT %%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\section{Section Title}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
\begin{small} %%Makes bib small text size
|
||||||
|
\singlespacing %%Makes single spaced
|
||||||
|
\bibliographystyle{C:/texmf/bibtex/bst/Analysis} %%bib style found in bst folder, in bibtex folder, in texmf folder.
|
||||||
|
%\setlength{\bibsep}{0.5pt} %%Changes spacing between bib entries
|
||||||
|
\bibliography{C:/texmf/bibtex/bib/Zotero} %%bib database found in bib folder, in bibtex folder
|
||||||
|
\thispagestyle{empty} %%Removes page numbers
|
||||||
|
\end{small} %%End makes bib small text size
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue