commit 1473e4d063e7606f75a0480d098af9c2f56158c2 Author: Kenryu Shibata Date: Tue Oct 7 12:47:23 2025 +0900 started new template diff --git a/README.md b/README.md new file mode 100644 index 0000000..e39debe --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Report Template diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..4143206 --- /dev/null +++ b/flake.lock @@ -0,0 +1,78 @@ +{ + "nodes": { + "eskk-vim": { + "flake": false, + "locked": { + "lastModified": 1717933058, + "narHash": "sha256-7nPzxCbKHBwplrTCsO4SxdFe/VK0VMHWDspWvVJvwLU=", + "owner": "vim-skk", + "repo": "eskk.vim", + "rev": "e530575790cca5d6603b8ab984298459ecf3c0c0", + "type": "github" + }, + "original": { + "owner": "vim-skk", + "repo": "eskk.vim", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "eskk-vim": "eskk-vim", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..6163962 --- /dev/null +++ b/flake.nix @@ -0,0 +1,171 @@ +{ + description = "LaTeX Assignment Template"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + eskk-vim = { + url = "github:vim-skk/eskk.vim"; + flake = false; + }; + }; + + outputs = { self, nixpkgs, flake-utils, eskk-vim }: + flake-utils.lib.eachDefaultSystem (system: + let + name = "report"; + pkgs = import nixpkgs { + inherit system; + config = {}; + overlays = [ + (final: prev: { + vimPlugins = prev.vimPlugins // { + vim-eskk = prev.vimUtils.buildVimPlugin { + name = "vim-eskk"; + src = eskk-vim; + }; + }; + }) + ]; + }; + + vimWithTex = pkgs.vim-full.customize { + name = "vim-with-tex"; + vimrcConfig = { + packages.vimWithTexPackage = with pkgs.vimPlugins; { + start = [ + vim-eskk + vimtex + ]; + opt = []; + }; + customRC = '' + filetype plugin indent on + set encoding=utf-8 + set autoindent + set smartindent + set expandtab + set shiftwidth=4 + set tabstop=4 + set wrap + set number relativenumber + set nospell + set ruler + set cursorline + set mousehide + syntax enable + + let g:vimtex_view_method = 'general' + let g:vimtex_view_general_viewer = 'okular' + let g:vimtex_view_general_options = '--unique file:@pdf\#src:@line@tex' + let g:vimtex_compiler_method = 'latexmk' + let maplocalleader = "," + + let g:eskk#directory = "~/.config/eskk" + let g:eskk#dictionary = { 'path': "~/.config/eskk/jisyo", 'sorted': 1, 'encoding': 'utf-8', } + let g:eskk#large_dictionary = { 'path': "~/.config/eskk/SKK-JISYO.L", 'sorted': 1, 'encoding': 'euc-jp', } + let g:eskk#kakutei_when_unique_candidate = 0 + let g:eskk#enable_completion = 0 + let g:eskk#no_default_mappings = 1 + let g:eskk#keep_state = 0 + let g:eskk#egg_like_newline = 1 + let g:toggle_latex_eskk = 1 + + function! s:latex_eskk() abort + if &filetype == 'tex' && g:toggle_latex_eskk ==# 1 + call eskk#enable() + endif + endfunction + + function! s:latex_eskk_toggle() abort + let g:toggle_latex_eskk = g:toggle_latex_eskk == 1 ? 0 : 1 + if g:toggle_latex_eskk ==# 1 + echomsg 'LaTeX Japanese Input Enabled' + else + echomsg 'LaTeX Japanese Input Disabled' + endif + endfunction + + augroup vimrc_eskk + autocmd! + autocmd Filetype tex nnoremap :call latex_eskk_toggle() + autocmd User eskk-enable-post lmap l (eskk:disable) + augroup END + + imap jk (eskk:toggle) + cmap jk (eskk:toggle) + ''; + }; + }; + + texEnv = pkgs.texliveSmall.withPackages (ps: with ps; [ + # Bibliography + biber + bibtex + biblatex + + # Japanese Support + babel + babel-japanese + luatexja + ascmac + bxjscls + zxjatype + collection-langjapanese + + # Fonts + noto + zxjafont + haranoaji + libertine + latex-fonts + mathfont + newtx + luainputenc + fontspec + + # Math + amsmath + amsfonts + unicode-math + mathtools + + # Graphics + graphics + wrapfig + caption + here + pgf + circuitikz + + # Tools + latexmk + subfiles + enumitem + hyperref + float + framed + tabularray + footmisc + listings + xcolor + xstring + xpatch + ] ++ [ ps.import ]); + in + { + devShells.default = pkgs.stdenv.mkDerivation { + inherit name; + shellHook = '' + export PS1="${name} \w \$ " + ''; + buildInputs = [ + texEnv + vimWithTex + pkgs.qpdf + pkgs.kdePackages.okular + ]; + }; + } + ); +}