research-copilot 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/app/build/icon.icns +0 -0
- package/app/build/icon.ico +0 -0
- package/app/build/icon.png +0 -0
- package/app/out/main/index.mjs +6719 -0
- package/app/out/preload/index.js +141 -0
- package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
- package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
- package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
- package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
- package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
- package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
- package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
- package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
- package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
- package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
- package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
- package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
- package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
- package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
- package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
- package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
- package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
- package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
- package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
- package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
- package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
- package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
- package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
- package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
- package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
- package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
- package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
- package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
- package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
- package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
- package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
- package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
- package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
- package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
- package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
- package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
- package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
- package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
- package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
- package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
- package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
- package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
- package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
- package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
- package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
- package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
- package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
- package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
- package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
- package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
- package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
- package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
- package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
- package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
- package/app/out/renderer/assets/http-BqypyemW.js +79 -0
- package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
- package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
- package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
- package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
- package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
- package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
- package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
- package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
- package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
- package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
- package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
- package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
- package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
- package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
- package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
- package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
- package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
- package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
- package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
- package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
- package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
- package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
- package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
- package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
- package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
- package/app/out/renderer/assets/index-fx307_f1.js +643 -0
- package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
- package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
- package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
- package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
- package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
- package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
- package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
- package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
- package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
- package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
- package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
- package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
- package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
- package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
- package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
- package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
- package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
- package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
- package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
- package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
- package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
- package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
- package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
- package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
- package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
- package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
- package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
- package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
- package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
- package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
- package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
- package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
- package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
- package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
- package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
- package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
- package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
- package/app/out/renderer/assets/r-V7nswm59.js +170 -0
- package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
- package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
- package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
- package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
- package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
- package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
- package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
- package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
- package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
- package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
- package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
- package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
- package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
- package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
- package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
- package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
- package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
- package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
- package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
- package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
- package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
- package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
- package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
- package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
- package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
- package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
- package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
- package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
- package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
- package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
- package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
- package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
- package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
- package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
- package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
- package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
- package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
- package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
- package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
- package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
- package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
- package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
- package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
- package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
- package/app/out/renderer/index.html +13 -0
- package/app/out/skills/community-builtin/README.md +29 -0
- package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
- package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
- package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
- package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
- package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
- package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
- package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
- package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
- package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
- package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
- package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
- package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
- package/app/package.json +77 -0
- package/bin/cli.mjs +56 -0
- package/lib/README.md +145 -0
- package/lib/skills/_generated.ts +13 -0
- package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
- package/lib/skills/builtin/coding/SKILL.md +114 -0
- package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
- package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
- package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
- package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
- package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
- package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
- package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
- package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
- package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
- package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
- package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
- package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
- package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
- package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
- package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
- package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
- package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
- package/lib/skills/builtin/research-grants/SKILL.md +958 -0
- package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
- package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/lib/skills/builtin/research-grants/references/README.md +285 -0
- package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
- package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
- package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
- package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
- package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
- package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
- package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
- package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
- package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
- package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
- package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
- package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
- package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
- package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
- package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
- package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
- package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
- package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
- package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
- package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
- package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
- package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
- package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
- package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
- package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
- package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
- package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
- package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
- package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
- package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
- package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
- package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
- package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
- package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
- package/lib/skills/builtin/seaborn/SKILL.md +674 -0
- package/lib/skills/builtin/seaborn/references/examples.md +822 -0
- package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
- package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
- package/lib/skills/data-analysis/SKILL.md +285 -0
- package/lib/skills/generate-skill-content.mjs +58 -0
- package/lib/skills/index.ts +34 -0
- package/lib/skills/loader.ts +452 -0
- package/package.json +62 -0
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
%%%%%%%% NSDI 2027 PAPER TEMPLATE %%%%%%%%%%%%%%%%%
|
|
2
|
+
%
|
|
3
|
+
% The 24th USENIX Symposium on Networked Systems Design and Implementation
|
|
4
|
+
% May 11--13, 2027, Providence, RI, USA
|
|
5
|
+
%
|
|
6
|
+
% Format: <= 12 pages (excluding references), USENIX format
|
|
7
|
+
% Two-column, 10pt on 12pt leading, Times Roman
|
|
8
|
+
%
|
|
9
|
+
% Official CFP: https://www.usenix.org/conference/nsdi27/call-for-papers
|
|
10
|
+
% Template source: https://www.usenix.org/conferences/author-resources/paper-templates
|
|
11
|
+
%
|
|
12
|
+
% IMPORTANT NOTES:
|
|
13
|
+
% - Three tracks: Traditional Research, Frontiers, Operational Systems
|
|
14
|
+
% - Indicate track on title page and submission form
|
|
15
|
+
% - PRESCREENING PHASE: Reviewers read ONLY the Introduction!
|
|
16
|
+
% --> Introduction must articulate ALL track-specific criteria
|
|
17
|
+
% - Two deadlines: Spring (April 2026) and Fall (September 2026)
|
|
18
|
+
% - One-shot revision available for rejected papers
|
|
19
|
+
%
|
|
20
|
+
% TRACK REQUIREMENTS (must be clear from Introduction alone):
|
|
21
|
+
% Research Track: Novel idea + evaluation evidence
|
|
22
|
+
% Frontiers Track: Novel NON-INCREMENTAL idea (less evaluation needed)
|
|
23
|
+
% Operational Track: Deployment setting, scale, lessons learned
|
|
24
|
+
%
|
|
25
|
+
% PRESCREENING CRITERIA (all must be evident in Introduction):
|
|
26
|
+
% 1. Subject falls within NSDI scope (networked/distributed systems)
|
|
27
|
+
% 2. Exposition understandable by NSDI PC member
|
|
28
|
+
% 3. Track-specific criteria met (see above)
|
|
29
|
+
|
|
30
|
+
\documentclass[letterpaper,twocolumn,10pt]{article}
|
|
31
|
+
\usepackage{usenix-2020-09}
|
|
32
|
+
|
|
33
|
+
% Recommended packages for networking/systems papers
|
|
34
|
+
\usepackage[utf8]{inputenc}
|
|
35
|
+
\usepackage{amsmath,amssymb}
|
|
36
|
+
\usepackage{graphicx}
|
|
37
|
+
\usepackage{booktabs} % Professional tables
|
|
38
|
+
\usepackage{hyperref}
|
|
39
|
+
\usepackage{url}
|
|
40
|
+
\usepackage{xspace}
|
|
41
|
+
\usepackage{subcaption} % Side-by-side figures
|
|
42
|
+
\usepackage{algorithm} % Algorithm environment
|
|
43
|
+
\usepackage{algorithmic} % Pseudocode formatting
|
|
44
|
+
\usepackage{listings} % Code listings
|
|
45
|
+
\usepackage[capitalize,noabbrev]{cleveref} % Smart cross-references
|
|
46
|
+
|
|
47
|
+
% Code listing style
|
|
48
|
+
\lstset{
|
|
49
|
+
basicstyle=\footnotesize\ttfamily,
|
|
50
|
+
numbers=left,
|
|
51
|
+
numberstyle=\tiny,
|
|
52
|
+
xleftmargin=2em,
|
|
53
|
+
breaklines=true,
|
|
54
|
+
tabsize=2,
|
|
55
|
+
showstringspaces=false,
|
|
56
|
+
frame=single,
|
|
57
|
+
captionpos=b
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
% Custom commands -- replace \system with your anonymized name
|
|
61
|
+
\newcommand{\system}{SystemName\xspace}
|
|
62
|
+
\newcommand{\eg}{e.g.,\xspace}
|
|
63
|
+
\newcommand{\ie}{i.e.,\xspace}
|
|
64
|
+
\newcommand{\etal}{\textit{et al.}\xspace}
|
|
65
|
+
\newcommand{\para}[1]{\smallskip\noindent\textbf{#1.}}
|
|
66
|
+
\newcommand{\parait}[1]{\smallskip\noindent\textit{#1.}}
|
|
67
|
+
|
|
68
|
+
% Networking-specific unit macros
|
|
69
|
+
\newcommand{\us}{\,$\mu$s\xspace}
|
|
70
|
+
\newcommand{\ms}{\,ms\xspace}
|
|
71
|
+
\newcommand{\GB}{\,GB\xspace}
|
|
72
|
+
\newcommand{\MB}{\,MB\xspace}
|
|
73
|
+
\newcommand{\Gbps}{\,Gbps\xspace}
|
|
74
|
+
\newcommand{\Tbps}{\,Tbps\xspace}
|
|
75
|
+
\newcommand{\pps}{\,pps\xspace}
|
|
76
|
+
|
|
77
|
+
\begin{document}
|
|
78
|
+
|
|
79
|
+
% Indicate your track in the title page
|
|
80
|
+
% Options: [Research Track] / [Frontiers Track] / [Operational Systems Track]
|
|
81
|
+
\title{Your Paper Title Here}
|
|
82
|
+
|
|
83
|
+
\author{Paper \#XXX} % Anonymized for submission (double-blind)
|
|
84
|
+
% Operational Systems track: may keep real company/system names for context
|
|
85
|
+
% Camera-ready:
|
|
86
|
+
% \author{
|
|
87
|
+
% {\rm Author One}\\
|
|
88
|
+
% Affiliation One\\
|
|
89
|
+
% \texttt{email@example.com}
|
|
90
|
+
% \and
|
|
91
|
+
% {\rm Author Two}\\
|
|
92
|
+
% Affiliation Two\\
|
|
93
|
+
% \texttt{email@example.com}
|
|
94
|
+
% }
|
|
95
|
+
|
|
96
|
+
\maketitle
|
|
97
|
+
|
|
98
|
+
%----------------------------------------------------------------------
|
|
99
|
+
\begin{abstract}
|
|
100
|
+
% Guidelines for a strong NSDI abstract:
|
|
101
|
+
% - State the networking/systems problem you solve
|
|
102
|
+
% - Explain why existing approaches fail
|
|
103
|
+
% - Describe your key insight and approach
|
|
104
|
+
% - Summarize evaluation results with concrete numbers
|
|
105
|
+
%
|
|
106
|
+
% Keep to 150--200 words. Avoid citations in the abstract.
|
|
107
|
+
|
|
108
|
+
We present \system, a [describe system] for [networked systems problem].
|
|
109
|
+
[Problem statement: why existing approaches fall short.]
|
|
110
|
+
\system exploits the insight that [key observation] to achieve [capability].
|
|
111
|
+
We evaluate \system on [testbed/workloads] and demonstrate [X]$\times$
|
|
112
|
+
improvement in [throughput/latency/etc.] compared to [baseline],
|
|
113
|
+
while maintaining [other desirable property].
|
|
114
|
+
\end{abstract}
|
|
115
|
+
|
|
116
|
+
%----------------------------------------------------------------------
|
|
117
|
+
\section{Introduction}
|
|
118
|
+
\label{sec:intro}
|
|
119
|
+
|
|
120
|
+
% ╔══════════════════════════════════════════════════════════════════╗
|
|
121
|
+
% ║ CRITICAL: This section is used for PRESCREENING! ║
|
|
122
|
+
% ║ Reviewers will read ONLY this section to determine: ║
|
|
123
|
+
% ║ 1. Subject falls within NSDI scope (networked/distributed) ║
|
|
124
|
+
% ║ 2. Exposition understandable by NSDI PC member ║
|
|
125
|
+
% ║ 3. Track-specific criteria met (see header comments) ║
|
|
126
|
+
% ║ ║
|
|
127
|
+
% ║ If your Introduction doesn't clearly articulate these, ║
|
|
128
|
+
% ║ your paper WILL be rejected in prescreening. ║
|
|
129
|
+
% ╚══════════════════════════════════════════════════════════════════╝
|
|
130
|
+
%
|
|
131
|
+
% Recommended structure:
|
|
132
|
+
% 1. Problem context in networked/distributed systems (1--2 paragraphs)
|
|
133
|
+
% 2. Why existing solutions are insufficient (1 paragraph)
|
|
134
|
+
% 3. Key insight and approach overview (1 paragraph)
|
|
135
|
+
% 4. Contributions list (bulleted)
|
|
136
|
+
% 5. Results highlights with concrete numbers (1 paragraph)
|
|
137
|
+
|
|
138
|
+
The rapid growth of [networked systems context]~\cite{jain2013b4} has
|
|
139
|
+
created new challenges for [problem area]. Existing solutions such as
|
|
140
|
+
[prior work]~\cite{alizadeh2010dctcp} are designed for [assumption],
|
|
141
|
+
but modern networks require [new capability].
|
|
142
|
+
|
|
143
|
+
\para{Key Insight}
|
|
144
|
+
We observe that [insight about network behavior/workload pattern].
|
|
145
|
+
This observation enables \system to [capability].
|
|
146
|
+
|
|
147
|
+
We make the following contributions:
|
|
148
|
+
\begin{itemize}
|
|
149
|
+
\item We characterize [problem] through measurements of [N]
|
|
150
|
+
production [network/cluster] traces (\cref{sec:background}).
|
|
151
|
+
\item We design \system, a [type of system] that leverages
|
|
152
|
+
[technique] to achieve [goal] (\cref{sec:design}).
|
|
153
|
+
\item We implement \system as a [module/protocol/service] with
|
|
154
|
+
[X] lines of [language] (\cref{sec:implementation}).
|
|
155
|
+
\item We evaluate \system on [testbed] with [workloads] and
|
|
156
|
+
show [X]\% improvement in [metric] over state-of-the-art
|
|
157
|
+
(\cref{sec:evaluation}).
|
|
158
|
+
\end{itemize}
|
|
159
|
+
|
|
160
|
+
%----------------------------------------------------------------------
|
|
161
|
+
\section{Background and Motivation}
|
|
162
|
+
\label{sec:background}
|
|
163
|
+
|
|
164
|
+
\subsection{Network Architecture Context}
|
|
165
|
+
|
|
166
|
+
Describe the relevant network architecture or protocol context.
|
|
167
|
+
Modern datacenter networks~\cite{singh2015jupiter, greenberg2009vl2}
|
|
168
|
+
employ [topology/protocol], which creates [challenge].
|
|
169
|
+
|
|
170
|
+
\subsection{Measurement Study}
|
|
171
|
+
|
|
172
|
+
% Concrete measurements from real traces strengthen motivation.
|
|
173
|
+
\Cref{fig:motivation} shows [measurement] from [N] production traces.
|
|
174
|
+
We identify [N] key findings:
|
|
175
|
+
|
|
176
|
+
\begin{figure}[t]
|
|
177
|
+
\centering
|
|
178
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
179
|
+
\textit{CDF or time-series plot from production trace analysis}
|
|
180
|
+
\vspace{3em}}}
|
|
181
|
+
\caption{[Description.] Analysis of [N] hours of production traffic
|
|
182
|
+
reveals that [finding]: [X]\% of flows account for [Y]\% of bytes.}
|
|
183
|
+
\label{fig:motivation}
|
|
184
|
+
\end{figure}
|
|
185
|
+
|
|
186
|
+
\para{Finding 1}
|
|
187
|
+
[First observation from trace analysis.]
|
|
188
|
+
|
|
189
|
+
\para{Finding 2}
|
|
190
|
+
[Second observation.] These findings motivate the design of \system.
|
|
191
|
+
|
|
192
|
+
%----------------------------------------------------------------------
|
|
193
|
+
\section{Design}
|
|
194
|
+
\label{sec:design}
|
|
195
|
+
|
|
196
|
+
\Cref{fig:architecture} presents the architecture of \system.
|
|
197
|
+
|
|
198
|
+
\begin{figure*}[t]
|
|
199
|
+
\centering
|
|
200
|
+
\fbox{\parbox{0.9\textwidth}{\centering\vspace{4em}
|
|
201
|
+
\textit{System architecture: control plane, data plane, and their interaction}
|
|
202
|
+
\vspace{4em}}}
|
|
203
|
+
\caption{Architecture of \system. The control plane [function] while
|
|
204
|
+
the data plane [function]. [Describe key interactions.]}
|
|
205
|
+
\label{fig:architecture}
|
|
206
|
+
\end{figure*}
|
|
207
|
+
|
|
208
|
+
\subsection{Control Plane}
|
|
209
|
+
|
|
210
|
+
Describe the control plane design, including how decisions are made
|
|
211
|
+
and communicated~\cite{patel2013ananta}.
|
|
212
|
+
|
|
213
|
+
\subsection{Data Plane}
|
|
214
|
+
|
|
215
|
+
Describe the data plane design. The forwarding logic is specified
|
|
216
|
+
in \cref{alg:forwarding}.
|
|
217
|
+
|
|
218
|
+
\begin{algorithm}[t]
|
|
219
|
+
\caption{Packet processing in \system}
|
|
220
|
+
\label{alg:forwarding}
|
|
221
|
+
\begin{algorithmic}[1]
|
|
222
|
+
\STATE \textbf{Input:} packet $p$, flow table $F$, policy $\pi$
|
|
223
|
+
\STATE \textbf{Output:} forwarding action $a$
|
|
224
|
+
\STATE $f \leftarrow \text{FlowLookup}(p.\text{header}, F)$
|
|
225
|
+
\IF{$f \neq \text{null}$}
|
|
226
|
+
\STATE $a \leftarrow f.\text{action}$ \COMMENT{cache hit}
|
|
227
|
+
\ELSE
|
|
228
|
+
\STATE $a \leftarrow \pi.\text{Decide}(p)$ \COMMENT{policy lookup}
|
|
229
|
+
\STATE $F.\text{Insert}(p.\text{header}, a)$
|
|
230
|
+
\ENDIF
|
|
231
|
+
\IF{$a.\text{type} = \text{ECMP}$}
|
|
232
|
+
\STATE Select path based on flowlet gap: $\Delta t > \delta$
|
|
233
|
+
\ENDIF
|
|
234
|
+
\STATE \textbf{return} $a$
|
|
235
|
+
\end{algorithmic}
|
|
236
|
+
\end{algorithm}
|
|
237
|
+
|
|
238
|
+
\subsection{Protocol Design}
|
|
239
|
+
|
|
240
|
+
The bandwidth allocation can be modeled using the max-min fairness
|
|
241
|
+
formulation:
|
|
242
|
+
\begin{equation}
|
|
243
|
+
\label{eq:fairness}
|
|
244
|
+
\max \min_{i \in \mathcal{F}} \frac{x_i}{w_i}
|
|
245
|
+
\quad \text{s.t.} \quad
|
|
246
|
+
\sum_{i: e \in p_i} x_i \leq c_e, \;\; \forall e \in \mathcal{E}
|
|
247
|
+
\end{equation}
|
|
248
|
+
where $x_i$ is the rate of flow $i$, $w_i$ is its weight, $p_i$ is
|
|
249
|
+
its path, $c_e$ is the capacity of link $e$, and $\mathcal{E}$ is
|
|
250
|
+
the set of all links.
|
|
251
|
+
|
|
252
|
+
\subsection{Handling Failures}
|
|
253
|
+
|
|
254
|
+
Describe fault tolerance mechanisms. \system handles [failure types]
|
|
255
|
+
through [mechanism], achieving [recovery time].
|
|
256
|
+
|
|
257
|
+
%----------------------------------------------------------------------
|
|
258
|
+
\section{Implementation}
|
|
259
|
+
\label{sec:implementation}
|
|
260
|
+
|
|
261
|
+
We implement \system in [X]K lines of [language].
|
|
262
|
+
|
|
263
|
+
\para{Switch Integration}
|
|
264
|
+
[Describe integration with switch hardware/software.]
|
|
265
|
+
|
|
266
|
+
\para{Host Agent}
|
|
267
|
+
[Describe the host-side component.]
|
|
268
|
+
|
|
269
|
+
\para{Controller}
|
|
270
|
+
[Describe the centralized/distributed controller.]
|
|
271
|
+
|
|
272
|
+
%----------------------------------------------------------------------
|
|
273
|
+
\section{Evaluation}
|
|
274
|
+
\label{sec:evaluation}
|
|
275
|
+
|
|
276
|
+
We evaluate \system to answer the following questions:
|
|
277
|
+
\begin{enumerate}
|
|
278
|
+
\item Does \system improve [throughput/FCT/latency] over baselines?
|
|
279
|
+
\item How does \system perform under different traffic patterns?
|
|
280
|
+
\item What is the overhead of \system?
|
|
281
|
+
\item How does \system handle failures?
|
|
282
|
+
\end{enumerate}
|
|
283
|
+
|
|
284
|
+
\subsection{Experimental Setup}
|
|
285
|
+
\label{sec:eval:setup}
|
|
286
|
+
|
|
287
|
+
\para{Testbed}
|
|
288
|
+
We deploy \system on a [topology] testbed with [N] servers and [M]
|
|
289
|
+
switches, connected via [link speed] links.
|
|
290
|
+
|
|
291
|
+
\para{Traffic Workloads}
|
|
292
|
+
We use traffic patterns from [source]~\cite{alizadeh2010dctcp}:
|
|
293
|
+
(1)~web search, (2)~data mining, and (3)~cache follower.
|
|
294
|
+
\Cref{tab:workloads} summarizes their characteristics.
|
|
295
|
+
|
|
296
|
+
\para{Baselines}
|
|
297
|
+
We compare against:
|
|
298
|
+
(1)~ECMP~\cite{hopps2000rfc},
|
|
299
|
+
(2)~[Protocol B]~\cite{jain2013b4}, and
|
|
300
|
+
(3)~[Protocol C].
|
|
301
|
+
|
|
302
|
+
\begin{table}[t]
|
|
303
|
+
\caption{Traffic workload characteristics. Flow sizes follow
|
|
304
|
+
the distributions from production datacenter traces.}
|
|
305
|
+
\label{tab:workloads}
|
|
306
|
+
\centering
|
|
307
|
+
\begin{small}
|
|
308
|
+
\begin{tabular}{@{}lrrl@{}}
|
|
309
|
+
\toprule
|
|
310
|
+
\textbf{Workload} & \textbf{Avg Size} & \textbf{Load} &
|
|
311
|
+
\textbf{Distribution} \\
|
|
312
|
+
\midrule
|
|
313
|
+
Web Search & 1.6\,KB & 50\% & Heavy-tailed \\
|
|
314
|
+
Data Mining & 7.4\,KB & 70\% & Bimodal \\
|
|
315
|
+
Cache Follow & 0.4\,KB & 30\% & Mostly small \\
|
|
316
|
+
ML Training & 128\,MB & 80\% & All-to-all \\
|
|
317
|
+
\bottomrule
|
|
318
|
+
\end{tabular}
|
|
319
|
+
\end{small}
|
|
320
|
+
\end{table}
|
|
321
|
+
|
|
322
|
+
\subsection{Flow Completion Time}
|
|
323
|
+
\label{sec:eval:fct}
|
|
324
|
+
|
|
325
|
+
\Cref{tab:fct} shows flow completion times (FCTs) across workloads.
|
|
326
|
+
\system reduces the average FCT by [X]\% and the 99th-percentile
|
|
327
|
+
tail FCT by [Y]\% compared to [best baseline].
|
|
328
|
+
|
|
329
|
+
\begin{table}[t]
|
|
330
|
+
\caption{Flow completion time comparison (normalized to ECMP).
|
|
331
|
+
Lower is better. Bold indicates best result.}
|
|
332
|
+
\label{tab:fct}
|
|
333
|
+
\centering
|
|
334
|
+
\begin{small}
|
|
335
|
+
\begin{tabular}{@{}lcccc@{}}
|
|
336
|
+
\toprule
|
|
337
|
+
& \multicolumn{2}{c}{\textbf{Web Search}} &
|
|
338
|
+
\multicolumn{2}{c}{\textbf{Data Mining}} \\
|
|
339
|
+
\cmidrule(lr){2-3} \cmidrule(lr){4-5}
|
|
340
|
+
\textbf{System} & \textbf{Avg} & \textbf{p99} &
|
|
341
|
+
\textbf{Avg} & \textbf{p99} \\
|
|
342
|
+
\midrule
|
|
343
|
+
ECMP & 1.00 & 1.00 & 1.00 & 1.00 \\
|
|
344
|
+
Baseline B & 0.85 & 0.78 & 0.88 & 0.82 \\
|
|
345
|
+
Baseline C & 0.82 & 0.71 & 0.84 & 0.75 \\
|
|
346
|
+
\textbf{\system} & \textbf{0.68} & \textbf{0.52} & \textbf{0.72} & \textbf{0.58} \\
|
|
347
|
+
\bottomrule
|
|
348
|
+
\end{tabular}
|
|
349
|
+
\end{small}
|
|
350
|
+
\end{table}
|
|
351
|
+
|
|
352
|
+
\subsection{Throughput Under Load}
|
|
353
|
+
\label{sec:eval:throughput}
|
|
354
|
+
|
|
355
|
+
\Cref{fig:throughput} shows aggregate throughput as network load
|
|
356
|
+
increases from 10\% to 90\%.
|
|
357
|
+
|
|
358
|
+
\begin{figure}[t]
|
|
359
|
+
\centering
|
|
360
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
361
|
+
\textit{Line chart: throughput vs.\ network load (10\%--90\%)}
|
|
362
|
+
\vspace{3em}}}
|
|
363
|
+
\caption{Aggregate throughput vs.\ network load. \system maintains
|
|
364
|
+
[X]\% of bisection bandwidth at 80\% load, compared to
|
|
365
|
+
[Y]\% for [baseline].}
|
|
366
|
+
\label{fig:throughput}
|
|
367
|
+
\end{figure}
|
|
368
|
+
|
|
369
|
+
\subsection{Failure Recovery}
|
|
370
|
+
\label{sec:eval:failure}
|
|
371
|
+
|
|
372
|
+
We evaluate recovery time by failing [N] links during peak load.
|
|
373
|
+
\system recovers within [X]\ms, compared to [Y]\ms for [baseline].
|
|
374
|
+
|
|
375
|
+
\begin{figure}[t]
|
|
376
|
+
\centering
|
|
377
|
+
\fbox{\parbox{0.9\columnwidth}{\centering\vspace{3em}
|
|
378
|
+
\textit{Time-series: throughput drop and recovery after link failure}
|
|
379
|
+
\vspace{3em}}}
|
|
380
|
+
\caption{Failure recovery. \system detects the failure within [X]\us
|
|
381
|
+
and reroutes affected flows within [Y]\ms.}
|
|
382
|
+
\label{fig:failure}
|
|
383
|
+
\end{figure}
|
|
384
|
+
|
|
385
|
+
%----------------------------------------------------------------------
|
|
386
|
+
\section{Discussion}
|
|
387
|
+
\label{sec:discussion}
|
|
388
|
+
|
|
389
|
+
\para{Deployment Considerations}
|
|
390
|
+
[Discuss practical deployment aspects.]
|
|
391
|
+
|
|
392
|
+
\para{Limitations}
|
|
393
|
+
[Honestly discuss limitations.]
|
|
394
|
+
|
|
395
|
+
%----------------------------------------------------------------------
|
|
396
|
+
\section{Related Work}
|
|
397
|
+
\label{sec:related}
|
|
398
|
+
|
|
399
|
+
% Organize by theme, clearly distinguish your work.
|
|
400
|
+
|
|
401
|
+
\para{Datacenter Transport Protocols}
|
|
402
|
+
DCTCP~\cite{alizadeh2010dctcp} and its successors address [aspect].
|
|
403
|
+
\system differs by [distinction].
|
|
404
|
+
|
|
405
|
+
\para{Traffic Engineering}
|
|
406
|
+
B4~\cite{jain2013b4} and Jupiter~\cite{singh2015jupiter} optimize
|
|
407
|
+
[aspect]. \system complements these by [distinction].
|
|
408
|
+
|
|
409
|
+
\para{Load Balancing}
|
|
410
|
+
[Other approaches]~\cite{hopps2000rfc, patel2013ananta} provide
|
|
411
|
+
[capability]. \system extends this with [technique].
|
|
412
|
+
|
|
413
|
+
%----------------------------------------------------------------------
|
|
414
|
+
\section{Conclusion}
|
|
415
|
+
\label{sec:conclusion}
|
|
416
|
+
|
|
417
|
+
We presented \system, a [type of system] that [key capability].
|
|
418
|
+
By exploiting [insight], \system achieves [X]$\times$ improvement
|
|
419
|
+
in [metric] over state-of-the-art. Our evaluation on [testbed]
|
|
420
|
+
with [workloads] demonstrates [key results].
|
|
421
|
+
|
|
422
|
+
%----------------------------------------------------------------------
|
|
423
|
+
{\footnotesize \bibliographystyle{acm}
|
|
424
|
+
\bibliography{references}}
|
|
425
|
+
|
|
426
|
+
\end{document}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
% NSDI 2027 Example Bibliography
|
|
2
|
+
%
|
|
3
|
+
% This file contains example references demonstrating different BibTeX entry
|
|
4
|
+
% types commonly used in networking and distributed systems papers.
|
|
5
|
+
% Replace with your actual references.
|
|
6
|
+
%
|
|
7
|
+
% Entry types demonstrated:
|
|
8
|
+
% inproceedings -- Conference paper (most common)
|
|
9
|
+
% article -- Journal article
|
|
10
|
+
% techreport -- RFC / Technical report
|
|
11
|
+
% phdthesis -- Doctoral dissertation
|
|
12
|
+
% misc -- ArXiv preprint, website, or software
|
|
13
|
+
|
|
14
|
+
%----------------------------------------------------------------------
|
|
15
|
+
% Conference papers (inproceedings)
|
|
16
|
+
%----------------------------------------------------------------------
|
|
17
|
+
|
|
18
|
+
@inproceedings{alizadeh2010dctcp,
|
|
19
|
+
author = {Alizadeh, Mohammad and Greenberg, Albert and Maltz, David A.
|
|
20
|
+
and Padhye, Jitendra and Patel, Parveen and Prabhakar, Balaji
|
|
21
|
+
and Sengupta, Sudipta and Sridharan, Murari},
|
|
22
|
+
title = {Data Center {TCP} ({DCTCP})},
|
|
23
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2010 Conference},
|
|
24
|
+
year = {2010},
|
|
25
|
+
pages = {63--74},
|
|
26
|
+
address = {New Delhi, India},
|
|
27
|
+
publisher = {ACM},
|
|
28
|
+
doi = {10.1145/1851182.1851192},
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@inproceedings{greenberg2009vl2,
|
|
32
|
+
author = {Greenberg, Albert and Hamilton, James R. and Jain, Navendu and
|
|
33
|
+
Kandula, Srikanth and Kim, Changhoon and Lahiri, Parantap and
|
|
34
|
+
Maltz, David A. and Patel, Parveen and Sengupta, Sudipta},
|
|
35
|
+
title = {{VL2}: A Scalable and Flexible Data Center Network},
|
|
36
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2009 Conference},
|
|
37
|
+
year = {2009},
|
|
38
|
+
pages = {51--62},
|
|
39
|
+
address = {Barcelona, Spain},
|
|
40
|
+
publisher = {ACM},
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@inproceedings{jain2013b4,
|
|
44
|
+
author = {Jain, Sushant and Kumar, Alok and Mandal, Subhasree and
|
|
45
|
+
Ong, Joon and Poutievski, Leon and Singh, Arjun and
|
|
46
|
+
Venkata, Subbaiah and Wanderer, Jim and Zhou, Junlan and
|
|
47
|
+
Zhu, Min and Zolla, Jon and H\"{o}lzle, Urs and Stuart, Stephen
|
|
48
|
+
and Vahdat, Amin},
|
|
49
|
+
title = {{B4}: Experience with a Globally-Deployed Software Defined {WAN}},
|
|
50
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2013 Conference},
|
|
51
|
+
year = {2013},
|
|
52
|
+
pages = {3--14},
|
|
53
|
+
address = {Hong Kong, China},
|
|
54
|
+
publisher = {ACM},
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@inproceedings{patel2013ananta,
|
|
58
|
+
author = {Patel, Parveen and Bansal, Deepak and Yuan, Lihua and
|
|
59
|
+
Murthy, Ashwin and Greenberg, Albert and Maltz, David A.
|
|
60
|
+
and Kern, Randy and Kumar, Hemant and Zikos, Marios and
|
|
61
|
+
Wu, Hongyu and Kim, Changhoon and Karri, Naveen},
|
|
62
|
+
title = {Ananta: Cloud Scale Load Balancing},
|
|
63
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2013 Conference},
|
|
64
|
+
year = {2013},
|
|
65
|
+
pages = {207--218},
|
|
66
|
+
address = {Hong Kong, China},
|
|
67
|
+
publisher = {ACM},
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@inproceedings{singh2015jupiter,
|
|
71
|
+
author = {Singh, Arjun and Ong, Joon and Agarwal, Amit and Anderson, Glen
|
|
72
|
+
and Armistead, Ashby and Bannon, Roy and Boving, Seb and
|
|
73
|
+
Desai, Gaurav and Felderman, Bob and Germano, Paulie and others},
|
|
74
|
+
title = {Jupiter Rising: A Decade of {Clos} Topologies and Centralized
|
|
75
|
+
Control in {Google}'s Datacenter Network},
|
|
76
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2015 Conference},
|
|
77
|
+
year = {2015},
|
|
78
|
+
pages = {183--197},
|
|
79
|
+
address = {London, UK},
|
|
80
|
+
publisher = {ACM},
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@inproceedings{handley2017quic,
|
|
84
|
+
author = {Langley, Adam and Riddoch, Alistair and Wilk, Alyssa and
|
|
85
|
+
Vicente, Antonio and Krasic, Charles and Zhang, Dan and
|
|
86
|
+
Yang, Fan and Kouranov, Fedor and Swett, Ian and Iyengar, Janardhan
|
|
87
|
+
and others},
|
|
88
|
+
title = {The {QUIC} Transport Protocol: Design and Internet-Scale Deployment},
|
|
89
|
+
booktitle = {Proceedings of the ACM SIGCOMM 2017 Conference},
|
|
90
|
+
year = {2017},
|
|
91
|
+
pages = {183--196},
|
|
92
|
+
address = {Los Angeles, CA},
|
|
93
|
+
publisher = {ACM},
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
%----------------------------------------------------------------------
|
|
97
|
+
% Journal article (article)
|
|
98
|
+
%----------------------------------------------------------------------
|
|
99
|
+
|
|
100
|
+
@article{floyd1993random,
|
|
101
|
+
author = {Floyd, Sally and Jacobson, Van},
|
|
102
|
+
title = {Random Early Detection Gateways for Congestion Avoidance},
|
|
103
|
+
journal = {IEEE/ACM Transactions on Networking},
|
|
104
|
+
volume = {1},
|
|
105
|
+
number = {4},
|
|
106
|
+
pages = {397--413},
|
|
107
|
+
year = {1993},
|
|
108
|
+
doi = {10.1109/90.251892},
|
|
109
|
+
publisher = {IEEE},
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
%----------------------------------------------------------------------
|
|
113
|
+
% RFC / Technical report (techreport)
|
|
114
|
+
%----------------------------------------------------------------------
|
|
115
|
+
|
|
116
|
+
@techreport{hopps2000rfc,
|
|
117
|
+
author = {Hopps, Christian E.},
|
|
118
|
+
title = {Analysis of an Equal-Cost Multi-Path Algorithm},
|
|
119
|
+
institution = {Internet Engineering Task Force},
|
|
120
|
+
year = {2000},
|
|
121
|
+
type = {RFC},
|
|
122
|
+
number = {2992},
|
|
123
|
+
note = {\url{https://www.rfc-editor.org/rfc/rfc2992}},
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
%----------------------------------------------------------------------
|
|
127
|
+
% ArXiv preprint (misc)
|
|
128
|
+
%----------------------------------------------------------------------
|
|
129
|
+
|
|
130
|
+
@misc{netllm2024,
|
|
131
|
+
author = {Wu, Duo and Wang, Xianda and Qiao, Yaqi and
|
|
132
|
+
Wang, Zhi and Jiang, Junchen and Cui, Shuguang and
|
|
133
|
+
Wang, Fangxin},
|
|
134
|
+
title = {{NetLLM}: Adapting Large Language Models for Networking},
|
|
135
|
+
year = {2024},
|
|
136
|
+
eprint = {2402.02338},
|
|
137
|
+
archivePrefix = {arXiv},
|
|
138
|
+
primaryClass = {cs.NI},
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
%----------------------------------------------------------------------
|
|
142
|
+
% PhD thesis (phdthesis)
|
|
143
|
+
%----------------------------------------------------------------------
|
|
144
|
+
|
|
145
|
+
@phdthesis{alizadeh2013thesis,
|
|
146
|
+
author = {Alizadeh, Mohammad},
|
|
147
|
+
title = {Large Scale Transport for Data Centers},
|
|
148
|
+
school = {Stanford University},
|
|
149
|
+
year = {2013},
|
|
150
|
+
address = {Stanford, CA},
|
|
151
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
% USENIX style file for papers
|
|
2
|
+
% usenix-2020-09.sty
|
|
3
|
+
%
|
|
4
|
+
% This is the official USENIX style for conferences including OSDI, NSDI, ATC, etc.
|
|
5
|
+
% Source: https://www.usenix.org/conferences/author-resources/paper-templates
|
|
6
|
+
%
|
|
7
|
+
% NOTE: This is a simplified version for template purposes.
|
|
8
|
+
% For the latest official version, download from:
|
|
9
|
+
% https://www.usenix.org/conferences/author-resources/paper-templates
|
|
10
|
+
|
|
11
|
+
\NeedsTeXFormat{LaTeX2e}
|
|
12
|
+
\ProvidesPackage{usenix-2020-09}[2020/09/01 USENIX Style]
|
|
13
|
+
|
|
14
|
+
% Required packages
|
|
15
|
+
\RequirePackage{mathptmx} % Times Roman font
|
|
16
|
+
\RequirePackage[scaled=0.92]{helvet} % Helvetica for sans-serif
|
|
17
|
+
\RequirePackage{courier} % Courier for monospace
|
|
18
|
+
\RequirePackage{graphicx}
|
|
19
|
+
\RequirePackage{url}
|
|
20
|
+
|
|
21
|
+
% Page layout: 7" x 9" text block on 8.5" x 11" paper
|
|
22
|
+
\setlength{\textheight}{9.0in}
|
|
23
|
+
\setlength{\textwidth}{7.0in}
|
|
24
|
+
\setlength{\columnsep}{0.33in}
|
|
25
|
+
\setlength{\topmargin}{0.0in}
|
|
26
|
+
\setlength{\headheight}{0.0in}
|
|
27
|
+
\setlength{\headsep}{0.0in}
|
|
28
|
+
\setlength{\oddsidemargin}{-0.25in}
|
|
29
|
+
\setlength{\evensidemargin}{-0.25in}
|
|
30
|
+
\setlength{\parindent}{1em}
|
|
31
|
+
\setlength{\parskip}{0pt}
|
|
32
|
+
|
|
33
|
+
% Title formatting
|
|
34
|
+
\renewcommand{\@maketitle}{%
|
|
35
|
+
\newpage
|
|
36
|
+
\null
|
|
37
|
+
\vskip 2em%
|
|
38
|
+
\begin{center}%
|
|
39
|
+
\let \footnote \thanks
|
|
40
|
+
{\LARGE \@title \par}%
|
|
41
|
+
\vskip 1.5em%
|
|
42
|
+
{\large
|
|
43
|
+
\lineskip .5em%
|
|
44
|
+
\begin{tabular}[t]{c}%
|
|
45
|
+
\@author
|
|
46
|
+
\end{tabular}\par}%
|
|
47
|
+
\vskip 1em%
|
|
48
|
+
{\large \@date}%
|
|
49
|
+
\end{center}%
|
|
50
|
+
\par
|
|
51
|
+
\vskip 1.5em}
|
|
52
|
+
|
|
53
|
+
% Section formatting
|
|
54
|
+
\renewcommand{\section}{\@startsection{section}{1}{\z@}%
|
|
55
|
+
{-3.5ex \@plus -1ex \@minus -.2ex}%
|
|
56
|
+
{2.3ex \@plus.2ex}%
|
|
57
|
+
{\normalfont\large\bfseries}}
|
|
58
|
+
|
|
59
|
+
\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
|
|
60
|
+
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
61
|
+
{1.5ex \@plus .2ex}%
|
|
62
|
+
{\normalfont\normalsize\bfseries}}
|
|
63
|
+
|
|
64
|
+
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
|
|
65
|
+
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
|
66
|
+
{1.5ex \@plus .2ex}%
|
|
67
|
+
{\normalfont\normalsize\bfseries}}
|
|
68
|
+
|
|
69
|
+
% Footnote formatting
|
|
70
|
+
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
|
|
71
|
+
|
|
72
|
+
% Abstract formatting
|
|
73
|
+
\renewenvironment{abstract}%
|
|
74
|
+
{\begin{quote}\small\textbf{Abstract: }}%
|
|
75
|
+
{\end{quote}}
|
|
76
|
+
|
|
77
|
+
% Float parameters
|
|
78
|
+
\renewcommand{\topfraction}{0.9}
|
|
79
|
+
\renewcommand{\bottomfraction}{0.8}
|
|
80
|
+
\renewcommand{\textfraction}{0.1}
|
|
81
|
+
\renewcommand{\floatpagefraction}{0.8}
|
|
82
|
+
|
|
83
|
+
\endinput
|