VS Code + LaTeX Workshop + SumatraPDF<实用的LaTeX编辑方式>

1. Visual Studio Code
2. LaTeX Workshop Github地址 https://link.zhihu.com/?target=https%3A//github.com/James-Yu/LaTeX-Workshop
安装过程:

  1. 使用VSCode编写LaTeX - Marvey的文章 - 知乎

  2. VS Code和LaTeX Workshop一直在迭代更新,所以部分配置可能会有差别。比如配置Sumatra的部分已经有了新的变化,参见官方文档 (James-Yu/LaTeX-Workshop) :
    所以正反向搜索代码应该修改如下(截至到2021.5.2):

"latex-workshop.view.pdf.viewer": "external",//如果前面已经有了,这行代码就删掉
"latex-workshop.view.pdf.external.synctex.command": "D:/Software/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
    "-forward-search",
    "%TEX%",
    "%LINE%",
    "-reuse-instance",
    "-inverse-search",
    "Code.exe \"D:\\Software\\Vscode\\Microsoft VS Code\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"",
    "%PDF%",
],

还可以补上以下代码以清除中间文件,

"latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    //    "*.gz"
    ],

最终完整代码如下:

{
    "latex-workshop.latex.tools": [
    {
// 编译工具和命令
"name": "xelatex",
"command": "xelatex",
"args": 
["-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
        ]
    },
    {
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
        ]
    },
    {
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
        ]
    }
],
"latex-workshop.latex.recipes": [
  {
"name": "xelatex",
"tools": [
"xelatex"
      ],
  },
  {
"name": "pdflatex",
"tools": [
"pdflatex"
      ]
  },
  {
"name": "xe->bib->xe->xe",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
      ]
  },
  {
"name": "pdf->bib->pdf->pdf",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
      ]
  }
],
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.viewer.command": "D:/Software/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.viewer.args": [
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
"-inverse-search",
"\"D:/Software/Vscode/Microsoft VS Code/Code.exe\" \"D:/Software/Vscode/Microsoft VS Code/resources/app/out/cli.js\" -gr \"%f\":\"%l\"",
    "%PDF%"
],

"latex-workshop.view.pdf.external.synctex.command": "D:/Software/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
    "-forward-search",
    "%TEX%",
    "%LINE%",
    "-reuse-instance",
    "-inverse-search",
    "Code.exe \"D:\\Software\\Vscode\\Microsoft VS Code\\resources\\app\\out\\cli.js\" -r -g \"%f:%l\"",
    "%PDF%",
],
"latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    //    "*.gz"
    ],
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
明白了你的需求,以下是根据你的要求进行修改的代码: ```html <!DOCTYPE html> <html> <head> <title>MathJax Example</title> <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> <style> .mathjax-formula { font-size: 2.8em; background-color: green; position: absolute; left: 0; top: 0; cursor: move; padding: 5px; border-radius: 5px; color: white; } </style> </head> <body> <div id="mathjax-formulas-container"></div> <script> var formulas = []; var selectedFormula = null; var offsetX = 0; var offsetY = 0; document.addEventListener("mousedown", function(event) { var target = event.target; if (target.classList.contains("mathjax-formula")) { selectedFormula = target; offsetX = event.clientX - selectedFormula.offsetLeft; offsetY = event.clientY - selectedFormula.offsetTop; } }); document.addEventListener("mousemove", function(event) { if (selectedFormula) { var xDiff = event.clientX - selectedFormula.offsetLeft - offsetX; var yDiff = event.clientY - selectedFormula.offsetTop - offsetY; if (xDiff >= 0 && xDiff <= selectedFormula.offsetWidth && yDiff >= 0 && yDiff <= selectedFormula.offsetHeight) { selectedFormula.style.left = event.clientX - offsetX + "px"; selectedFormula.style.top = event.clientY - offsetY + "px"; } } }); document.addEventListener("mouseup", function(event) { selectedFormula = null; }); document.addEventListener("keydown", function(event) { if (event.key === "Enter") { var input = document.getElementById("latex-input"); var latexCode = input.value.trim(); if (latexCode) { var newFormula = document.createElement("div"); newFormula.className = "mathjax-formula"; newFormula.style.left = event.clientX + "px"; newFormula.style.top = event.clientY + "px"; newFormula.innerText = latexCode; var mathjaxFormulasContainer = document.getElementById("mathjax-formulas-container"); mathjaxFormulasContainer.appendChild(newFormula); formulas.push({ latexCode: latexCode, position: { x: event.clientX, y: event.clientY } }); MathJax.Hub.Queue(["Typeset", MathJax.Hub, newFormula]); input.value = ""; } } }); </script> <div> <input type="text" id="latex-input" placeholder="输入 LaTeX 公式" /> </div> </body> </html> ``` 现在,你可以在页面上输入 LaTeX 公式,按下 Enter 键后会将公式加载到 `<div>` 中。你可以通过拖动已存在的 `<div>` 进行移动。感谢你的耐心和理解!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值