首页 > 编程语言 >Markdown+LaTeX+C++| VS Code 搭建高效学习环境

Markdown+LaTeX+C++| VS Code 搭建高效学习环境

时间:2025-01-22 11:43:56浏览次数:1  
标签:LaTeX pdflatex Markdown name latex C++ workshop https

Markdown+\(\LaTeX\)+C++| VS Code 搭建高效学习环境

开始之前:

  • 创建一个文件夹作为你的工作区,确保它没有中文路径并且文件夹下的文件也不能用中文命名。
  • https://code.visualstudio.com/ 上下载并安装 Visual Studio Code。
  • 确保你的电脑系统为 Windows 且版本在 Windows 7.0 及以上。

VS Code 中文语言的配置

打开 VS Code,我们可以看到如下界面:

点击最左侧栏的第四个图标,就能打开扩展页面,VS Code 有丰富的扩展。
在搜索栏中搜索 Chinese 安装中文简体扩展。此时右下角会有弹窗提醒重启并应用语言。
重新启动,就可以看到 VS Code 的中文界面了。
在右侧的资源管理器中打开你创建的工作文件夹。

Markdown 环境的配置

同样是打开扩展,输入 Markdown 安装拓展即可。
在资源管理器中新建文件,注意要以 .md 后缀。
接下来就可以编写文件了。如果要查看可以点击右上方的预览。

Markdown 导出 pdf

一般的,为了便于查看,我们会将 Markdown 文件转为 pdf。
在扩展页面搜索 Markdown PDF 安装即可,但如果只这么安装却不会支持 LaTex 数学公式。因此还需要进行配置。
C:\Users\admin\.vscode\extensions\yzane.markdown-pdf-1.4.4\template\template.html 这个路径中找到 template.html 文件。在 </body></html> 之间添加文件如下:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$', '$']]}, messageStyle: "none" });</script>

右击编辑器页面,选择 Export (pdf) 即可导出文件。
附测试文件:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
## 数学公式
$1+1=2$,$a^m+a^n=a^{m+n}$。
$$x ={-b \pm \sqrt{b^2-4ac}\over 2a} $$
$$\int \frac{1}{\sqrt{1-x^{2}}}\mathrm{d}x= \arcsin x +C $$
$$\frac{1}{n^{2}-1}= \frac{1}{2}\left( \frac{1}{n-1}-\frac{1}{n+1}\right) $$
$$\left.\begin{matrix} 
  a \subset \beta ,b \subset \beta ,a \cap b=P \\  
  a \parallel \partial ,b \parallel \partial  
\end{matrix}\right\}\Rightarrow \beta \parallel \alpha $$
正文     
__粗体正文__   
~~删除线~~     
*斜体正文*   
## 有序列表
- 1st
    - Ⅰ.
    - Ⅱ.
    - Ⅲ.
- 2nd
- 3rd
## 插入表格
| 阶段 |   年代 |电子元件  | 运算速度(每秒/次) |
| :----------- | :----------- | :----------- | :----------- |
| 第一代 |  $1946-1958$  |真空电子管  | 数千至数万 |
| 第二代 |  $1958-1964$  | 晶体管 | 几十万至几百万 |
| 第三代 |  $1964-1970$  | 中小规模集成电路 | 百万至几百万 |
| 第四代 |  $1970-2024$ |(超)大规模集成电路 | 几百万至千亿 | 

[行内式链接标题](http://www.luogu.org/)   
<http://www.luogu.org/>       

![插入图片](https://cdn.luogu.com.cn/upload/image_hosting/0gtzudx8.png)

## 代码块
`小段代码`     
```cpp
//大段代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m;
ll l,r;
int main(){
	cin>>n>>m;
	cout<<(n+1)/2<<endl;
	for(int i=1;i<=m;i++){
		cin>>l>>r;
	}
	for(int i=1;i<=n/2;++i){
		cout<<i<<" "<<i+n/2<<endl;
	}
	if(n%2!=0){
		cout<<1<<" "<<n<<endl;
	}
	return 0;
}
>引用文字

预览和导出结果为:

C++ 环境的配置

准备工作

另外还有许多方便的插件,这里就先不安装。

配置 C/C++ 环境

这是一种非常简单的配置方法,在 https://vscch.guyutongxue.site/ 下载并安装 vscch 即可。
打开软件,它会自动检测你 vscode 和 mingw 的路径,点击下一步即可。
接下来选择文章开头让你创建的工作文件夹。然后一路下一步。配置完成结果如下:

点击信任此作者,然后会看见 vscch 为你创建的调试文件,按 F6 编译运行即可。

最后出现如上界面,配置完成。
vscch 同时会将 wingw 写入系统环境变量,如果没有,也可以手动配置:

配置系统环境变量的另一种方法

快捷键 win+s 唤出搜索框,搜索编辑系统环境变量。
找到解压的 mingw,找到文件夹 bin。shift+右击复制文件地址。
接下来操作如下:

gcc --version
g++ --version
gdb --version

在终端输入如上文字,如果没有报错,那说明安装配置成功。

\(\LaTeX\) 环境的配置

准备工作:

配置 \(\LaTeX\)

Ctrl+, 打开设置,点击右上角的图标:

在这个地方添加下列代码:

{
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.showContextMenu": true,
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
    ],
    "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"
    ],
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
}

在工作文件夹中新建 .tex 文件,粘贴以下测试代码:

\documentclass[a4paper, 12pt, draft]{ctexart}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\begin{document}
% 封面信息
\title{\LaTeX 测试代码}
\author{作者}
\date{\today}
\maketitle
 
\newpage
\setcounter{tocdepth}{2} %设置目录深度
\tableofcontents
 
\section{题目} 内容
\subsection{title} 内容
\subsection{title} 内容
\subsubsection{小小节} 内容
\subsubsection{小小节} 内容
\section{题目} 内容
\subsection{title} 内容
\subsection{title} 内容
\section{题目} 内容
\subsection{title} 内容
\subsection{title} 内容
\section{测试-节} 内容
\uline{uline}  \uuline{uuline} \uwave{uwave}  \sout{sout}
\xout{xout}  \dashuline{dashuline} \dotuline{dotuline}
\emph{emph}
\begin{flushleft}
    居左\\段落
\end{flushleft}
 
\begin{flushright}
    居右\\段落
\end{flushright}
 
\begin{center}
    居中\\段落
\end{center}
 
\section{数学公式测试}
\emph{行内公式:}
$\sum_{i=1}^n i^2 = \frac{1}{6}n(n+1)(2n+1)$
 
 
\emph{行间公式:}
\[\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6}\]
 
 
\emph{内联公式:}
给定两个矩阵 \( A \) 和 \( B \),若要进行矩阵乘法,其中 \( A \) 是一个 \( m \times n \) 矩阵,\( B \) 是一个 \( n \times p \) 矩阵,那么它们的乘积矩阵 \( C = AB \) 是一个 \( m \times p \) 矩阵,其元素 \( c_{ij} \) 的计算方式如下:
\emph{行间公式:}
 
\[
c_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj}, \quad i = 1, 2, \ldots, m; \quad j = 1, 2, \ldots, p.  
\]
 
\end{document}

点击右上角的三角形,就可以成功编译并预览 .tex 文件了。

其他好用的扩展:

  • Cloudmusic:在 vscode 中听网易云音乐。
  • vscode-luogu:轻松的让你在 VSCode 上使用洛谷。
  • vscode-pdf:搞笑预览 pdf。
  • GitHub Copilot/GitHub Copilot Chat:AI 聊天插件。
  • background:设置主题。
  • Beautify:美化代码。
  • vscode-icons:提供自定义的图标。
  • Image preview:高效预览图片。

标签:LaTeX,pdflatex,Markdown,name,latex,C++,workshop,https
From: https://www.cnblogs.com/M1--1e9/p/18685461

相关文章

  • GRFB UNet——基于多尺度注意网络盲道检测算法实现与模型C++部署
    GRFBUNet——基于多尺度注意网络盲道检测算法实现与模型C++部署1.概述盲道是视障人士安全出行的重要辅助设施。识别盲道的形状和位置,对于增强视障人士的自主移动能力至关重要,而视觉分割技术正是应对这一挑战的有效工具。为了显著提升盲道分割的精确度和稳定性,本文提出了......
  • C语言/C++——递归、递推、动态规划
    什么是动态规划:给定一个问题,我们把他拆成一个个子问题,直到子问题可以直接解决。然后把子问题的答案保存起来,以减少重复计算。再根据子问题的答案反推,得出原问题解的一种方法递归的过程:"递"的过程是分解子问题的过程;(dfs是第归的一种)            “归......
  • C++11新特性之auto
    1.auto的作用C++11使用auto做自动类型推导。自动推导变量的类型,不需要手动指定。简单的类型可以手写,但一些复杂的容易写错或不知道变量是什么类型的则推荐使用auto。简化写代码的烦恼。2.auto的使用语法        autoname=value;根据value值的类型,自动推导name......
  • 为什么要学习C++?
            在编程语言的广阔天地中,C++以其独特的魅力和强大的功能占据着重要的一席之地。尽管它并非新兴的热门语言,学习曲线也相对陡峭,但这丝毫没有阻挡开发者们对它的热情。那么,究竟为什么要学习C++呢?接下来,我们将深入探讨其中的缘由。一、卓越的性能表现    ......
  • C++类型转换总结
    类型转换隐式转换C++自动执行很多类型转换:将一种算术类型的值赋给另一种算术类型的变量时,C++将对值进行转换;表达式中包含不同的类型时,C++将对值进行转换;将参数传递给函数时,C++将对值进行转换。C++类型转换的规则初始化和赋值进行的转换扩展:将一个值赋给值取值范......
  • 【2025】Visual Studio详细安装使用教程(C/C++编译器)零基础入门到精通,收藏这一篇就够了
    Part1VisualStudio2022简介微软在官方开发博客中宣布,于2021年夏季发布VisualStudio2022的首个预览版,2022版本更快、更易于使用、更轻量级,专为学习者和构建工业规模解决方案的人设计。64位版的VisualStudio不再受内存限制困扰,主devenv.exe进程不再局限于4GB,用户......
  • C++ 如何讲隐藏的函数释放出来
    如果有一个基类:classDog{public: virtual~Dog(){} voidshow(inta) { cout<<"我是一只狗!"<<a<<"岁"<<'\n'; } voidmysong() { cout<<"哈哈哈..."<<'\n'; }privat......
  • Ubuntu 22.04上编译安装C++ libconfig库
    一、前言libconfig是一个C/C++配置文件解析库,支持读取和写入配置文件。它使用了一种简单易懂的语法,非常适合用于各种项目的配置管理。本文将详细介绍如何在Ubuntu22.04上编译和安装libconfig库。二、环境准备在开始编译安装libconfig之前,需要确保系统已经安装了必要的开发工具......
  • C++template模板
    目录函数模板(FunctionTemplate)示例:类模板(ClassTemplate)示例:模板参数(TemplateParameters)非类型模板参数示例:模板特化(TemplateSpecialization)示例:C++中的模板(Template)是一种强大的特性,允许程序员编写与类型无关的代码。模板可以用于函数和类,使得代码更加通用和可......
  • 【C++提高篇】—— C++泛型编程之模板基本语法和使用的详解
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、模板的概念二、函数模板2.1函数模板的使用2.2函数模板注意事项2.3普通函数与函数模板的区别2.4普通函数与函数模板的调用规则2.5模板的局限性三、类模板3.1类模板的使用3.2类模板......