-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
327 lines (158 loc) · 174 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>电路与电子技术实验Ⅰ</title>
<link href="/2024/12/25/dc-experiment/"/>
<url>/2024/12/25/dc-experiment/</url>
<content type="html"><![CDATA[<h2 id="电路原理部分">电路原理部分</h2><h3 id="测量误差">测量误差</h3><h4 id="相对误差分类">相对误差分类</h4><p><strong>某值相对误差</strong>:<br>$$<br>\delta=\frac{|测量值-实际值|}{某值}\times 100 %<br>$$</p><p><strong>引用相对误差</strong>:</p><p>$$<br>\gamma=\frac{|测量值-实际值|}{仪表量程(上限-下限)}\times100 %<br>$$</p><p><strong>最大引用误差</strong>:</p><p>$$<br>\gamma_m=\frac{\Delta_m}{x_m}\times100%,\gamma\leq a %<br>$$</p><p>其中a为等级指数</p><h4 id="直读式数字表的误差表示">直读式数字表的误差表示</h4><p>直读式数字表的误差表示=被测量大小的相对量+固定量+显示误差<img src="image-59.png" alt="alt text"><br><img src="image-60.png" alt="alt text"><br>字误差:字数乘以分辨率<br><img src="image-61.png" alt="alt text"></p><h4 id="有效数字">有效数字</h4><p>从左边第一个非0位到最后一位所包含的数字,最后一位为可疑数字</p><h4 id="仪器误差数据">仪器误差数据</h4><h5 id="数字万用表(3字半)">数字万用表(3字半)</h5><p>电阻测量:<img src="image-62.png" alt="alt text"><br>电容测量:<img src="image-63.png" alt="alt text"><br>电压测量:(仪表输入阻抗10MΩ)<img src="image-64.png" alt="alt text"><br>电流测量:(仪表输入阻抗6mA/600uA/60uA是99Ω,60mA/600mA/10A是0.99欧姆,交流电流档内阻0.99Ω)<br><img src="image-65.png" alt="alt text"></p><h5 id="仪器台上直流电压表">仪器台上直流电压表</h5><p><img src="image-66.png" alt="alt text"></p><h5 id="仪器台上直流电流表">仪器台上直流电流表</h5><p><img src="image-67.png" alt="alt text"></p><h2 id="数电实验">数电实验</h2><h3 id="课程使用芯片介绍:">课程使用芯片介绍:</h3><h4 id="74LS161二进制加法计数器">74LS161二进制加法计数器</h4><p><img src="image-2.png" alt="alt text"><br><img src="image.png" alt="alt text"><br>CP:输入的信号;<br>CR:异步清零操作,低电平触发,优先级最高;<br>LD:置数模式(即通过输入数字)优先级第二高,低电平触发,写入3456引脚读取到的数,同步置数(即读取到CP有上升沿);<br>CTp和CTt:有低电平则进入保持</p><h4 id="74LS00与非门芯片">74LS00与非门芯片:</h4><p><img src="image-1.png" alt="alt text"></p><h4 id="74LS55与或非门芯片">74LS55与或非门芯片</h4><p><img src="image-55.png" alt="alt text"></p><h4 id="74LS74型双D触发器">74LS74型双D触发器</h4><p><img src="image-51.png" alt="alt text"></p><p><img src="image-52.png" alt="alt text"></p><h4 id="74LS107双JK触发器">74LS107双JK触发器</h4><p><img src="image-53.png" alt="alt text"></p><p><img src="image-54.png" alt="alt text"><br>!!!<br><em><strong>数码管显示数字原理:</strong></em> 用四个二进制的高低电平表示一个不大于10的数,四个位由高到低分为Q<sub>D</sub>、Q<sub>C</sub>、Q<sub>B</sub>、Q<sub>A</sub>。</p><h4 id="74LS11三输入与门芯片">74LS11三输入与门芯片</h4><p><img src="image-58.png" alt="alt text"></p><h3 id="Quartus文件名后缀">Quartus文件名后缀</h3><table><thead><tr><th>后缀</th><th>全称</th></tr></thead><tbody><tr><td>.bdf</td><td>Block Design File</td></tr><tr><td>.bsf</td><td>Block Symbol File</td></tr><tr><td>.qpf</td><td>Quartus Projct Flie</td></tr><tr><td>.vhd</td><td>VHDL Design File</td></tr><tr><td>.vwf</td><td>Waveform.File</td></tr><tr><td>.sof</td><td>编译后产生的、将下载到FPGA中的文件的</td></tr></tbody></table><h3 id="数字式计时器电路:">数字式计时器电路:</h3><h4 id="60进制:">60进制:</h4><p>分为个位数码管和十位数码管,个位数码管10进制,十位数码管6进制。个位计时器当计数到10(二进制1010)时,CR置0,所以就需要一个与非门对Q<sub>B</sub>和Q<sub>D</sub>取与非。<br><img src="image-3.png" alt="alt text"></p><h4 id="24进制:">24进制:</h4><p>个位数码管部分基本不改动,但十位的CR需要在计时达到24(即二进制0100 0010)时置0。<img src="image-4.png" alt="alt text"></p><h3 id="全加器">全加器</h3><p><img src="image-68.png" alt="alt text"><br><img src="image-69.png" alt="alt text"></p><h3 id="历年题">历年题</h3><p><strong>注意:记得检查自启动!!!</strong></p><ol><li class="lvl-3"><p>首先需要做出110->101->100->011->010->110五个三位二进制循环,输入1HZ信号,将三位输出接入数码管 再做出三位奇偶校验器并接入前面循环的输出,接到发光二极管上,要求在4和2时亮,6, 5, 3时灭 最后将时钟脉冲接入示波器CH1,奇偶校验器结果接入示波器CH2,并将时钟换成1024HZ<br>验收要求是<br>(1) 1HZ时观察6,5,4,3,2循环是否正确,奇偶校验器是否正常工作<br>(2) 1024HZ时,示波器上半部分显示CH1波形,下班部分显示CH2波形,要求显示两个周期左右,保证波形稳定做法:对减法计数器取反可得加法计数器,用161反馈置数法做出1——5循环再取反,奇偶校验器不用直接列异或表达式,可以只考虑出现的情况画卡诺图列真值表</p></li><li class="lvl-3"><p>时序电路设计,要求给定输入X与时钟信号CP,输出为Q0Q1Q2,X=0时输出4→5→6→4……的序列,X=1时输出0→1→2→0……的序列(1)X接逻辑开关,CP接1Hz脉冲,用数码管显示结果。(2)CP接1024Hz脉冲,用示波器显示稳定的图像,要求CH1接Q1,CH2接Q0。做法:用161做出3进制计数器,再将X取反接到数码管。这个思路很妙,不知道是怎么想到的。</p></li><li class="lvl-3"><p>电路实现010-011-100-101-110(搭完此电路,可以先用LED灯给老师验收) 以上述作为输出,进一步搭建奇偶判断电路或者能否被3整除的电路,用示波器观测输入与输出波形做法:常规的反馈计数法的加法计数器</p></li><li class="lvl-3"><p>利用JK触发器和与非门芯片,实现信号发生器,其能重复输出10011101信号,并完成连线做法:先搭000-111的八进制计数器,再画卡诺图列出输出信号的逻辑表达式进行译码。</p></li></ol><h3 id="VHDL语言">VHDL语言</h3><h4 id="基本结构">基本结构</h4><p><img src="image-20.png" alt="alt text"></p><ul class="lvl-0"><li class="lvl-2"><p>LIBRARY:LIBRARY 语句声明库,常用ieee;</p></li><li class="lvl-2"><p>PACKAGE:USE 语句声明程序包,以下为ieee标准库所包含的程序包:<img src="image-21.png" alt="alt text"></p></li><li class="lvl-2"><p>ENTITY: 使用<code>ENTITY decode IS</code>定义,定义结束用<code>END decode</code>实体,用于确定设计的输入/输出;</p></li><li class="lvl-2"><p>ARCHITECTURE:语法如下图:用于规定实体的内部结构或实体行为,相当于main函数;<br><img src="image-22.png" alt="alt text"></p></li></ul><h4 id="语法">语法</h4><h5 id="标识符">标识符</h5><p>由英文字母大小写、数字和“_”组成</p><blockquote><p><em><strong>大小写不区分,关键字不能做标识符;一定以英文字母开头;下划线不能连用也不能放结尾</strong></em></p></blockquote><h5 id="数据对象">数据对象</h5><p>分类:端口(PORT)、信号(SIGNAL)、变量(VARIALBE)、常量(CONSTANT)</p><ul class="lvl-0"><li class="lvl-2"><p>PORT:语法如下:<br><img src="image-23.png" alt="alt text"><br><img src="image-24.png" alt="alt text"></p></li><li class="lvl-2"><p>SIGNAL:<img src="image-26.png" alt="alt text"></p></li><li class="lvl-2"><p>VARIABLE:<img src="image-25.png" alt="alt text"></p></li><li class="lvl-2"><p>CONSTANT:<img src="image-27.png" alt="alt text"></p></li></ul><h5 id="数据类型">数据类型</h5><h6 id="标准定义的数据类型:">标准定义的数据类型:</h6><p><img src="image-28.png" alt="alt text"></p><h6 id="IEEE预定义的数据类型:">IEEE预定义的数据类型:</h6><p><img src="image-29.png" alt="alt text"></p><h5 id="运算符">运算符</h5><h6 id="算术运算符">算术运算符</h6><p><img src="image-30.png" alt="alt text"></p><h6 id="关系运算符">关系运算符</h6><p><img src="image-31.png" alt="alt text"></p><h6 id="逻辑运算符">逻辑运算符</h6><p><img src="image-32.png" alt="alt text"></p><h6 id="连接运算符">连接运算符</h6><p><img src="image-33.png" alt="alt text"></p><h6 id="注释语法">注释语法</h6><p><code>--</code>开头,到本行结束为止</p><h5 id="属性">属性</h5><p>关于实体、结构体、类型及信号的一些特征<br><img src="image-38.png" alt="alt text"><br><img src="image-34.png" alt="alt text"></p><h5 id="顺序语句">顺序语句</h5><p>分类:<code>IF_THEN_ELSE</code>、<code>CASE_WHEN</code>、<code>FOR_LOOP</code>、<code>NULL</code></p><h6 id="IF-THEN-ELSE:">IF_THEN_ELSE:</h6><p><img src="image-36.png" alt="alt text"></p><h6 id="CASE-WHEN:">CASE_WHEN:</h6><p><img src="image-37.png" alt="alt text"><br><img src="image-39.png" alt="alt text"></p><h6 id="FOR-LOOP:">FOR_LOOP:</h6><p><img src="image-40.png" alt="alt text"></p><h6 id="NULL:">NULL:</h6><p><img src="image-41.png" alt="alt text"></p><h5 id="并行语句">并行语句</h5><p><img src="image-42.png" alt="alt text"></p><h5 id="敏感信号">敏感信号</h5><p>Conception:进程中一些被关注的信号,只有当其中的某个信号变化时,该进程才被执行;<img src="image-43.png" alt="alt text"></p><h5 id="并行信号赋值">并行信号赋值</h5><p><img src="image-44.png" alt="alt text"><br><img src="image-45.png" alt="alt text"></p><h4 id="实例">实例</h4><p>设计一个异步清零、同步置数、带计数使能和进位输出的60进制BCD码计数器。<img src="image-46.png" alt="alt text"><br>代码实例:<img src="image-47.png" alt="alt text"><br><img src="image-48.png" alt="alt text"><br><img src="image-49.png" alt="alt text"><br><img src="image-50.png" alt="alt text"></p><p>pdf如下:</p><div class="row"> <embed src="电路电子技术实验.pdf" width="100%" height="550" type="application/pdf"></div>]]></content>
<categories>
<category> 课程总结 </category>
</categories>
<tags>
<tag> 数电 </tag>
<tag> 电路原理 </tag>
</tags>
</entry>
<entry>
<title>机械臂动力学</title>
<link href="/2024/12/08/robot/"/>
<url>/2024/12/08/robot/</url>
<content type="html"><![CDATA[<h2 id="旋转矩阵">旋转矩阵</h2><h3 id="定义">定义</h3><p><img src="image.png" alt="alt text"><br>符号指的是下标frame相对于上标frame<br>用于描述一个frame相对于另一个frame的姿态。即body frame坐标轴在world frame坐标轴下的投影,每一column相当于body frame的是三个基向量在A frame里的坐标。由于点乘的可交换性,有:<br><img src="image-1.png" alt="alt text"></p>]]></content>
<categories>
<category> 课程总结 </category>
</categories>
<tags>
<tag> 课外知识 </tag>
<tag> 机械 </tag>
</tags>
</entry>
<entry>
<title>模电</title>
<link href="/2024/11/28/Circuit/"/>
<url>/2024/11/28/Circuit/</url>
<content type="html"><![CDATA[<h2 id="半导体器件概论">半导体器件概论</h2><h3 id="1-本征半导体:">1. 本征半导体:</h3><p><strong>半导体</strong>:介于导体和绝缘体之间的一类物质(既没有导体能导也没有绝缘体绝缘)以Si为例,因其最外层4电子能互相形成稳定的价电子结构,所以纯Si导电性能不好<br><strong>本征激发</strong>:由于电子的热运动,若我们对其加上一个能量(如加热),可以使部分电子获得能量后挣脱共价键束缚形成自由电子,这个过程称为<em>本征激发</em><br><strong>复合</strong>:相当于本征激发的逆过程,空穴与自由电子湮灭形成价电子</p><blockquote><p><em><strong>在本征半导体中,随着温度的升高,载流子浓度上升,但达到一定温度后浓度基本不变,即复合与本征激发达到动态平衡。</strong></em></p></blockquote><h3 id="2-杂质半导体">2. 杂质半导体</h3><ul class="lvl-0"><li class="lvl-2"><p>N型半导体(掺入P)多出自由电子</p></li><li class="lvl-2"><p>P型半导体(掺入B)多出空穴</p></li></ul><blockquote><p><em><strong>当温度变化时,对杂质半导体内的多子浓度影响不大,但对少子影响大,所以因为少子基数小,所以部分以少子为载流子的半导体会对温度很敏感</strong></em></p></blockquote><h3 id="3-PN结">3. PN结</h3><h4 id="3-1-基本概念:">3.1 基本概念:</h4><p>将P和N型半导体掺一起时,如下图</p><div align="center"><img src="image-5.png" alt="alt text" style="zoom: 80%;"></div><p><strong>扩散运动</strong>:多子向另一边的运动,自由电子去P区,空穴去N区迅速复合,在交界区形成空间电荷区形成一个电场阻碍剩余的扩散运动,这个区域称为<strong>耗尽层</strong>或<strong>PN结(junction)</strong><br><strong>漂移运动</strong>:耗尽层相当于在两区交界处产生了相对于多子的势垒,但多子中少数能量较高的仍然能穿越势垒,但少子却能在空间电荷区加速飘过,这运动称为<strong>漂移运动</strong>,最终与多子的扩散运动平衡<em>当两边载流子浓度不一样时称为不对称结</em></p><h4 id="3-2-单向导电性:">3.2 单向导电性:</h4><p>与内电场反方向的外电场(从P到N)加上之后可以抵消内电场的作用,适当恢复扩散运动,但反向没用,从而实现单向导电但也容易想到反向电压其实是在增强少子的漂移运动的,但囿于少子的浓度,这个反向电流很小,我们称为<strong>反向饱和电流</strong></p><h4 id="3-3-伏安曲线">3.3 伏安曲线</h4><div align="center"><img src="image-6.png" alt="alt text" style="zoom: 50%;"></div><p>曲线为<br>$$<br>I=I_{s}(e^{\frac{U}{U_{T}}}-1)<br>$$</p><p>其中Is为反向饱和电流,V<sub>T</sub>为温度当量,室温下约为26mV,由于U为正时U/U<sub>T</sub>较大,所以-1可以忽略不计;当U->负无穷时,I=-I<sub>S</sub>。一般来说Si管的导通压降为0.6-0.8V,Ge管为0.2-0.3V</p><h3 id="4-二极管">4. 二极管</h3><h3 id="5-双极晶体管(BJT,Bipolar-Junction-Transistor)">5. 双极晶体管(BJT,Bipolar Junction Transistor)</h3><h4 id="5-1-结构">5.1 结构</h4><div align="center"><img src="image-7.png" alt="alt text" style="zoom: 80%;"></div><blockquote><p><em>c-collector,b-basic,e-emit</em></p></blockquote><blockquote><p><strong>发射区的掺杂浓度最高因为它要对外发射载流子;集电区的掺杂浓度小但面积大,就像一个仓库</strong></p></blockquote><blockquote><p><strong>标识符号中箭头表示PN结方向,可通过箭头方向判断是NPN型还是PNP型</strong></p></blockquote><h3 id="6-场效应管(FET,Field-Effect-Transistor)">6. 场效应管(FET,Field Effect Transistor)</h3><h4 id="6-1-分类">6.1 分类</h4><img src="image-8.png" alt="alt text" style="zoom: 67%;"><h4 id="6-2-绝缘栅型场效应管(MOSFET,Metal-Oxide-Semiconductor-Field-Effect-Transistor)">6.2 绝缘栅型场效应管(MOSFET,Metal Oxide Semiconductor Field Effect Transistor)</h4><h5 id="6-2-1-N沟道增强型MOS管(E型,enhancement)">6.2.1 N沟道增强型MOS管(E型,enhancement)</h5><img src="image-9.png" alt="alt text" style="zoom: 67%;"><blockquote><p><em>g-gate,s-source,d-drain</em><br>可以看出g极直接接触绝缘层(SiO<sub>2</sub>),<strong>所以g极侧几乎不会产生电流</strong></p></blockquote><blockquote><p><strong>箭头相当于表示PN结方向,向内指,说明指向的是N沟道</strong></p></blockquote><ul class="lvl-0"><li class="lvl-2"><p>加U<sub>GS</sub>时:开始时将SD之间的空穴移走,但同时也把下面区域的自由电子吸上去,形成了N沟道,沟道的大小与U<sub>GS</sub>相关,而沟道大小宏观反映为电阻,即变为电压控制的可变电阻</p></li></ul><div align="center"><img src="image-10.png" alt="alt text" style="zoom: 80%;"></div><p>当U<sub>GS</sub>>开启电压U<sub>th</sub>后,DS之间有电流流过形成了压降U<sub>DS</sub>,则会出现下图中的情况,即出现靠近d的一侧由于U<sub>DS</sub>对U<sub>GS</sub>的抵消而减小了沟道大小。而当U<sub>GS</sub>-U<sub>DS</sub>=U<sub>th</sub>,<strong>即U<sub>DS</sub>=U<sub>GS</sub>-U<sub>th</sub>时,右侧几乎夹断,称为预夹断状态</strong>(但不会完全夹断,否则电流为0)<img src="image-11.png" alt="alt text"><br>之后若U<sub>DS</sub>继续增大,缝隙变长(电阻变大,抵消了U<sub>DS</sub>的作用,则电流会趋于平稳。所以称为恒流区。同时<strong>相当于此时决定I<sub>D</sub>电流的因素为U<sub>GS</sub>,显然U<sub>GS</sub>越大I<sub>D</sub>越大,所以也称这片区域为放大区</strong><br>转移特性图:</p><div align="center"><img src="image-12.png" alt="alt text" style="zoom: 80%;"></div><p>$$<br>I_{D}=I_{DO}(\frac{U_{GS}}{U_{th}}-1)^2<br>$$<br>其中I<sub>DO</sub>是U<sub>GS</sub>=2U<sub>th</sub>时的漏极电流输出特性图:</p><div align="center"><img src="image-13.png" alt="alt text" style="zoom: 80%;"></div><blockquote><p><em>叫“增强型”的原因:需要U<sub>GS</sub>增强到开启电压U<sub>th</sub>才能导通</em></p></blockquote><h5 id="6-2-2-N沟道耗尽型MOS管(D型,dissipative)">6.2.2 N沟道耗尽型MOS管(D型,dissipative)</h5><div align="center"><img src="image-18.png" alt="alt text" style="zoom: 80%;"></div><p>制作时天生让SiO<sub>2</sub>带正电,电场强到可以打开沟道。</p><div align="center"><img src="image-14.png" alt="alt text" style="zoom: 200%;"></div><div align="center"><img src="image-15.png" alt="alt text" style="zoom: 80%;"></div><p>$$<br>I_{D}=I_{DSS}(1-\frac{U_{GS}}{U_{p}})^2<br>$$<br>其中I<sub>DSS</sub>为饱和漏极电流,是为U<sub>GS</sub>=0时的漏极电流。U<sub>P</sub>为夹断电压</p><h4 id="6-3-结型场效应管(JFET,Junction-FIeld-Effect-Tasnsistor)">6.3 结型场效应管(JFET,Junction FIeld Effect Tasnsistor)</h4><div align="center"><img src="image-16.png" alt="alt text" style="zoom: 80%;"></div><p>U<sub>GS</sub>加反向电压使得沟道变窄,大到一定程度使得沟道夹断(不是预夹断,是真断)</p><div align="center"><img src="image-17.png" alt="alt text" style="zoom: 80%;"></div><div align="center"><img src="image-19.png" alt="alt text" style="zoom: 80%;"></div>]]></content>
<categories>
<category> 课程总结 </category>
</categories>
<tags>
<tag> 电气 </tag>
</tags>
</entry>
<entry>
<title>MATLAB笔记</title>
<link href="/2024/08/27/MATLAB%E7%AC%94%E8%AE%B0/"/>
<url>/2024/08/27/MATLAB%E7%AC%94%E8%AE%B0/</url>
<content type="html"><![CDATA[<h2 id="1-基础">1. 基础</h2><h3 id="1-1-重要cmd">1.1 重要cmd</h3><p><code>clc</code>清空命令行<code>clear</code>清空工作区<br><code>help 函数名</code> 查函数使用教程<br><code>doc 函数名</code> 查官方文档</p><hr><h3 id="1-2-语法">1.2 语法</h3><h4 id="1-2-1-算术运算符">1.2.1 算术运算符</h4><table><thead><tr><th>符号</th><th>作用</th></tr></thead><tbody><tr><td><code>+</code>和<code>-</code></td><td>矩阵中只要兼容就可加,五种兼容模式:大小相同、一方为标量常数、行数相同列向量、列数相同行向量、列向量<code>+-</code>行向量</td></tr><tr><td><code>*</code> 和<code>.*</code></td><td><code>*</code>就是正常的矩阵乘法,<code>.*</code>是对应元素相乘</td></tr><tr><td><code>/</code>和<code>\</code>和<code>.\</code></td><td><code>/</code>左除(求<code>A*x=B</code>的<code>x</code>),<code>\</code>右除,<code>.\</code>对应元素相除</td></tr><tr><td><code>^</code>和<code>.^</code></td><td><code>^</code>矩阵幂运算,<code>.^</code>对应元素幂运算</td></tr></tbody></table><h4 id="1-2-2-关系运算符:">1.2.2 关系运算符:</h4><p>==、~=(不等于)、>、<、>=、<=,对于矩阵符合兼容模式算法,返回logical元素矩阵</p><h4 id="1-2-3-逻辑运算符">1.2.3 逻辑运算符</h4><p>(and())&、(or())|、(not())~、xor()(比较逻辑值,比如xor(3,4)结果为0),对于矩阵符合兼容模式算法,返回logical元素矩阵<br>&&、||与&、|相同但只用于标量且具有短路功能</p><h4 id="1-2-4-数学运算函数">1.2.4 数学运算函数</h4><table><thead><tr><th>函数名</th><th>作用</th></tr></thead><tbody><tr><td>abs</td><td>绝对值</td></tr><tr><td>floor</td><td>往小舍</td></tr><tr><td>fix</td><td>去小数部分</td></tr><tr><td>ceil</td><td>往大入</td></tr><tr><td>round</td><td>四舍五入</td></tr><tr><td>mod</td><td>模</td></tr><tr><td>sqrt</td><td>开方</td></tr><tr><td>exp</td><td>e的几次</td></tr><tr><td>log</td><td>以e为底数</td></tr><tr><td>log2()</td><td>以2为底数</td></tr><tr><td>三角函数名</td><td>对应的三角函数(可以在三角名后加d表示用角度制),反三角则是a+三角函数</td></tr></tbody></table><h4 id="1-2-5-判断浮点数相同">1.2.5 判断浮点数相同</h4><p>e.g.</p><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">C=<span class="number">0.5</span><span class="number">-0.4</span><span class="number">-0.1</span>;</span><br><span class="line">C==<span class="number">0</span> <span class="comment">%结果是0</span></span><br></pre></td></tr></table></figure><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">C=<span class="number">0.5</span><span class="number">-0.4</span><span class="number">-0.1</span>;</span><br><span class="line"><span class="built_in">abs</span>(C<span class="number">-0</span>)<=<span class="number">1e-12</span>> <span class="comment">%结果是1,用一个小的数字去容差判断</span></span><br></pre></td></tr></table></figure><hr><h3 id="1-3-矩阵">1.3 矩阵</h3><h4 id="1-3-1-创建矩阵">1.3.1 创建矩阵</h4><ul class="lvl-0"><li class="lvl-2"><p><code>A=[a,b,c]</code>创建行向量(,可换空格)</p></li><li class="lvl-2"><p><code>A=[a;b;c]</code>创建列向量(;可换换行)</p></li><li class="lvl-2"><p><code>A=[a b c;e f g]</code>创建多维矩阵</p></li><li class="lvl-2"><p><code>A=a:b:c</code>,即从a到c,步长为b的矩阵</p></li><li class="lvl-2"><p>用函数</p></li></ul><h4 id="1-3-2-索引">1.3.2 索引</h4><p>MATLAB索引从1开始。引用格式:</p><ul class="lvl-0"><li class="lvl-2"><p><code>A(row_ind,col_ind)</code></p></li><li class="lvl-2"><p><code>A([a,b,c...])</code></p></li><li class="lvl-2"><p><code>A(a:b:c)</code>(索引多个数据用)</p></li><li class="lvl-2"><p>用end关键字</p></li><li class="lvl-2"><p><code>A(:,a)</code>返回第a列所有元素</p></li><li class="lvl-2"><p><code>A(A>0)</code>返回A中大于0的元素(逻辑值引用)</p></li><li class="lvl-2"><p><code>linspace()</code></p></li></ul><h4 id="1-3-3-修改删除元素">1.3.3 修改删除元素</h4><ul class="lvl-0"><li class="lvl-2"><p><code>A(1)=0</code></p></li><li class="lvl-2"><p><code>A(a:b:c)=[]</code>注意左右元素个数要相等</p></li><li class="lvl-2"><p><code>A(a:b:c)=x</code>将所有选中索引全修改为一个常数</p></li><li class="lvl-2"><p><code>A(...)=[]</code>删除</p></li></ul><h4 id="1-3-4-矩阵相关函数">1.3.4 矩阵相关函数</h4><table><thead><tr><th>函数名</th><th>作用</th></tr></thead><tbody><tr><td>linspace(a,b,n)</td><td>创建a到b共n个元素的矩阵,等差分布,n默认100</td></tr><tr><td>logspace(a,b,n)</td><td>创建10^a 到10^b共n个元素的矩阵,等比分布,n默认50</td></tr><tr><td>zeros(n)</td><td>创建n行n列的全0矩阵</td></tr><tr><td>ones(n)</td><td>创建n行n列的全1矩阵</td></tr><tr><td>eye(n)</td><td>创建单位矩阵</td></tr><tr><td>length</td><td>数组最大维度的长度</td></tr><tr><td>numel</td><td>返回矩阵元素个数</td></tr><tr><td>rand(m,n)</td><td>创建m行n列的均匀分布于0到1的矩阵,m可缺省</td></tr><tr><td>randi([a,b],m,n)</td><td>创建m行n列的均匀分布于0到1的矩阵,m可缺省</td></tr><tr><td>randn(m,n)</td><td>创建m行n列的标准正态分布于矩阵,m可缺省</td></tr><tr><td>diag(v,k)or diag(A,k)</td><td>将向量v的元素对角分布在第k条对角线上,k=0主对角,>0上,<0下方,k缺省0;或返回矩阵A第k对角线上元素</td></tr><tr><td>blkdiag(A,B,C…)</td><td>将输入的矩阵A、B…对角化分布</td></tr><tr><td>size(A,dim)</td><td>返回A矩阵在dim维度上的元素个数,dim缺省1即沿行方向</td></tr><tr><td>logical(A)</td><td>将A矩阵转换为逻辑值矩阵</td></tr><tr><td>isnan(A)</td><td>判断A中元素是否为NaN,并返回逻辑值矩阵(比如将矩阵A中的NaN替代成其他元素平均值,可以用<code>A(isnan(A))=mean(A(~isnan(A)))</code></td></tr><tr><td>all()</td><td>判断数组元素是否全为非零值(可指定维度),返回逻辑值矩阵</td></tr><tr><td>any()</td><td>判断数组元素是否至少有一个非零值(可指定维度),返回逻辑值矩阵</td></tr><tr><td>[row_ind,col_ind,v]=find(A)</td><td>查找非零元素并返回索引,当只有一个回参时,返回线性索引,v为由非0元素组成的向量</td></tr></tbody></table><hr><h3 id="1-4-程序流程控制">1.4 程序流程控制</h3><h4 id="1-4-1-条件语句">1.4.1 条件语句</h4><h5 id="1-4-1-2-if-elseif-else-end语句:">1.4.1.2 if-elseif-else-end语句:</h5><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span> x>=<span class="number">90</span> && x<=<span class="number">100</span> <span class="comment">%不需要分号或冒号</span></span><br><span class="line"> dj=<span class="number">1</span></span><br><span class="line"><span class="keyword">elseif</span> x<<span class="number">90</span> && x>=<span class="number">60</span></span><br><span class="line"> dj=<span class="number">2</span></span><br><span class="line"><span class="keyword">else</span></span><br><span class="line"> dj=<span class="number">3</span></span><br><span class="line"><span class="keyword">end</span> <span class="comment">%有if就一定要有end</span></span><br><span class="line">dj</span><br></pre></td></tr></table></figure><p><strong>在MATLAB中可以用ctrl+i来格式化选中代码</strong></p><h5 id="1-4-1-3-switch-case-otherwise-end语句">1.4.1.3 switch-case-otherwise-end语句</h5><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">season=randi([<span class="number">1</span>,<span class="number">4</span>])</span><br><span class="line"><span class="keyword">switch</span> season</span><br><span class="line"> <span class="keyword">case</span> <span class="number">1</span></span><br><span class="line"> <span class="built_in">disp</span>(<span class="string">"春季"</span>);</span><br><span class="line"> <span class="keyword">case</span> <span class="number">2</span></span><br><span class="line"> <span class="built_in">disp</span>(<span class="string">"夏季"</span>);</span><br><span class="line"> <span class="keyword">case</span> <span class="number">3</span></span><br><span class="line"> <span class="built_in">disp</span>(<span class="string">"秋季"</span>);</span><br><span class="line"> <span class="keyword">otherwise</span></span><br><span class="line"> <span class="built_in">disp</span>(<span class="string">"冬季"</span>);</span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><p>如果case后跟的是元胞数组,只要开关变量和数组中任意一个元素相等即可</p><h4 id="1-4-2-循环语句">1.4.2 循环语句</h4><h5 id="1-4-2-1-for-end语句">1.4.2.1 for-end语句</h5><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">for</span> ii=[<span class="number">3</span>;<span class="number">4</span>;<span class="number">5</span>;<span class="number">6</span>;<span class="number">7</span>]<span class="comment">%向量或矩阵,如果是矩阵,遍历的元素是每一列向量</span></span><br><span class="line"> <span class="comment">%循环体</span></span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><p>还可以:</p><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">for</span> ii=<span class="number">3</span>:<span class="number">7</span></span><br><span class="line"> <span class="comment">%循环体</span></span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><h5 id="1-4-2-2-while-end语句">1.4.2.2 while-end语句</h5><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">m=<span class="number">1</span>;</span><br><span class="line"><span class="keyword">while</span> y<=<span class="number">10</span></span><br><span class="line"> m=m+<span class="number">1</span>;</span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><p><strong>注意:如果死循环后可以按ctrl+c退出</strong></p><h5 id="1-4-2-3-break和continue">1.4.2.3 break和continue</h5><p>和C一样,不赘述</p><h4 id="1-4-3-其他">1.4.3 其他</h4><h5 id="1-4-3-1-try-catch语句">1.4.3.1 try catch语句</h5><p>try的代码块是可能引发故障的语句,若故障,则执行catch块的代码</p><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">try</span></span><br><span class="line"> A+B</span><br><span class="line"><span class="keyword">catch</span></span><br><span class="line"> <span class="built_in">disp</span>(<span class="string">"大小不兼容"</span>)</span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><h5 id="1-4-3-2-tic-toc">1.4.3.2 tic/toc</h5><p>可以输出tic和toc之间程序的运行时长</p><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">tic</span><br><span class="line">sum=<span class="number">0</span>;</span><br><span class="line"><span class="keyword">for</span> <span class="built_in">i</span>=<span class="number">1</span>:<span class="number">7</span></span><br><span class="line"> sum=sum+<span class="built_in">i</span>;</span><br><span class="line"> <span class="built_in">disp</span>(sum);</span><br><span class="line"><span class="keyword">end</span></span><br><span class="line">toc</span><br></pre></td></tr></table></figure><p>命令行窗口会自动输出运行时间</p><h5 id="1-4-3-3-pause">1.4.3.3 pause</h5><ul class="lvl-0"><li class="lvl-2"><p>pause:使程序停止,待用户按下任意键继续</p></li><li class="lvl-2"><p>pause(n):使程序停止n秒</p></li></ul><h5 id="1-4-3-4-input">1.4.3.4 input</h5><ul class="lvl-0"><li class="lvl-2"><p>input(‘提示’),如果要输入字符串需要自己加引号</p></li><li class="lvl-2"><p>input(‘提示’,‘s’),不需要自己加引号,专门接受文本</p></li></ul><h5 id="1-4-3-5-warning-error">1.4.3.5 warning/error</h5><p>warning(“txt”):自定义生成警告文本<br>warning on/off:开启或关闭警告功能<br>error(“txt”):自定义生成报错文本</p><blockquote><p><strong>区别:warning的信息是橘红色,error是红色;warning后的代码还会运行,error直接退出程序</strong></p></blockquote><hr><h3 id="1-5-文本处理">1.5 文本处理</h3><p>MATLAB使用的编码是UTF-16,所以文本对应的编码是unicode码</p><h4 id="1-5-1-一些语法">1.5.1 一些语法</h4><h5 id="1-5-1-1-文本中的加减">1.5.1.1 文本中的加减</h5><p>char+char是拼接<br>char-char是unicode码相减<br>char+数字同C,但会将字符串转换为对应的Unicode码,需要用char(str)z转换回来</p><h5 id="1-5-1-2-储存形式">1.5.1.2 储存形式</h5><p>MATLAB中的字符串是以字符向量储存的,多段文本按字符数组储存</p><h5 id="1-5-1-3-插入换行">1.5.1.3 插入换行</h5><p><code>c_new=[c1,char[10],c2]</code><br><code>c_new=[c1,newline,c2]</code></p><h4 id="1-5-2-文本处理相关函数:">1.5.2 文本处理相关函数:</h4><table><thead><tr><th>函数名</th><th>作用</th></tr></thead><tbody><tr><td>strcmp</td><td>比较字符向量是否相同(区分大小写)</td></tr><tr><td>strcmpi</td><td>比较字符向量是否相同(不区分大小写)</td></tr><tr><td>strncmp</td><td>比较前n个字符是否相同(区分大小写)</td></tr><tr><td>strncmpi</td><td>比较前n个字符是否相同(不区分大小写)</td></tr><tr><td>erase(str,match)</td><td>删除str字符串的子字符串match</td></tr><tr><td>numel(str)/length(str)</td><td>统计字符向量中字符的数量</td></tr></tbody></table><hr><h3 id="1-6-元胞数组">1.6 元胞数组</h3><p>用于存储不同数据类型的数据容器,用{}括起来,形式上与矩阵相似,可以储存矩阵甚至元胞数组</p><h4 id="1-6-1-常见数据类型:">1.6.1 常见数据类型:</h4><ul class="lvl-0"><li class="lvl-2"><p>数值:包括整型和浮点</p></li><li class="lvl-2"><p>文本:包括字符(char)和字符串(string)</p></li><li class="lvl-2"><p>逻辑(logical):布尔变量true/false</p></li><li class="lvl-2"><p>元胞数组(cell)</p></li><li class="lvl-2"><p>结构体数组(struct):</p></li><li class="lvl-2"><p>分类数组(categorical):保存分类型变量</p></li><li class="lvl-2"><p>日期时间(datetime):保存日期、时间的数据</p></li><li class="lvl-2"><p>表格(table):保存表格形式数据</p></li><li class="lvl-2"><p>函数句柄:可引用和间接调用函数</p></li></ul><blockquote><p><em>查看变量类型可以用<code>class(a)</code>查看</em></p></blockquote><h4 id="1-6-2-引用">1.6.2 引用</h4><h5 id="1-6-2-1-引用">1.6.2.1 ()引用</h5><p>形式和索引查找一样,但不是直接返回该元素,而是返回一个对应大小的元胞数组</p><h5 id="1-6-2-2-引用">1.6.2.2 {}引用</h5><p>形式和索引查找一样,直接返回该元素</p><h5 id="1-6-2-3-链式引用">1.6.2.3 链式引用</h5><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">cc={[<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>;<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>],<span class="string">'abc'</span>};</span><br><span class="line">cc{<span class="number">1</span>}[<span class="number">2</span>] <span class="comment">%对应的即是2</span></span><br><span class="line">cc{<span class="number">2</span>}[<span class="number">3</span>] <span class="comment">%对应的就是c</span></span><br></pre></td></tr></table></figure><h5 id="1-6-2-4-嵌套的cell引用">1.6.2.4 嵌套的cell引用</h5><p>形如<code>cc{a}{b}[c]</code></p><hr><h3 id="1-7-函数">1.7 函数</h3><h4 id="1-7-0-例子">1.7.0 例子</h4><p>例子:</p><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">result</span> = <span class="title">factorial_function</span><span class="params">(n)</span></span></span><br><span class="line"> <span class="keyword">if</span> n == <span class="number">0</span> || n == <span class="number">1</span></span><br><span class="line"> result = <span class="number">1</span>;</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> result = n * factorial_function(n - <span class="number">1</span>);</span><br><span class="line"> <span class="keyword">end</span></span><br><span class="line"><span class="keyword">end</span></span><br></pre></td></tr></table></figure><h4 id="1-7-1-定义语句">1.7.1 定义语句</h4><p>第一行为定义语句,<code>function</code>为关键字(必需),<code>result</code>为输出参数(可选),<code>factorial_function()</code>为函数名(必需),<code>n</code>为输入参数(可选,无输入时括号可省略)</p><blockquote><p>记忆方式:y = f(x):y是输出,f是函数名,x是输入</p></blockquote><h4 id="1-7-2-函数内容">1.7.2 函数内容</h4><p>以下缩进部分为函数的内容,注意在这个区域建立的变量储存在的时该函数工作区,独立于基础工作区。</p><p>MATLAB的函数是写在一个单独的文件里的,创建的函数名需要和文件名一致。如果一个文件里有多个函数,则第一个函数为主函数,与文件名相关联。</p><h4 id="1-7-3-end语句">1.7.3 end语句</h4><p>MATLAB的函数定义以<code>end</code>语句结尾</p><hr><h2 id="2-进阶">2 进阶</h2><h3 id="2-1-数据绘图">2.1 数据绘图</h3><p>直接上参考模板:</p><h4 id="2-1-1-单组数据画散点图">2.1.1 单组数据画散点图</h4><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">x = [<span class="number">1</span> <span class="number">2</span> <span class="number">3</span> <span class="number">4</span> <span class="number">5</span>];</span><br><span class="line">y = [<span class="number">5</span> <span class="number">4</span> <span class="number">6</span> <span class="number">2</span> <span class="number">7</span>];</span><br><span class="line"><span class="built_in">scatter</span>(x, y, <span class="number">50</span>, <span class="string">'r'</span>); </span><br><span class="line"><span class="comment">%% 第三个参数代表散点的大小,取[]表示默认大小;第四个参数是颜色,如'r'表red</span></span><br><span class="line">xlabel(<span class="string">'x轴'</span>);</span><br><span class="line">ylabel(<span class="string">'y轴'</span>);</span><br><span class="line">title(<span class="string">'自定义散点图'</span>);</span><br></pre></td></tr></table></figure><h4 id="2-1-2-单组数据画连续图">2.1.2 单组数据画连续图</h4><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br></pre></td><td class="code"><pre><span class="line">clc</span><br><span class="line">clear</span><br><span class="line"></span><br><span class="line"><span class="comment">% Import data</span></span><br><span class="line">data=xlsread(<span class="string">"data.xlsx"</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">% Parameter setting</span></span><br><span class="line">xLabel=<span class="string">"X"</span>;</span><br><span class="line">yLabel=<span class="string">'Y'</span>;</span><br><span class="line">Title=<span class="string">'Y-X曲线'</span>;</span><br><span class="line">X=data(:,<span class="number">1</span>);</span><br><span class="line">Y=data(:,<span class="number">2</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">% Plot </span></span><br><span class="line"><span class="built_in">figure</span>;</span><br><span class="line"><span class="built_in">hold</span> on;</span><br><span class="line">box on;</span><br><span class="line"><span class="built_in">plot</span>(X,Y,<span class="string">'Marker'</span>,<span class="string">'x'</span>,<span class="string">'Color'</span>,[<span class="number">255</span> <span class="number">0</span> <span class="number">0</span>]/<span class="number">255</span>,<span class="string">'LineWidth'</span>,<span class="number">1</span>,<span class="string">'Marker'</span>,<span class="string">'o'</span>,<span class="string">'MarkerSize'</span>,<span class="number">3.5</span>,<span class="string">'MarkerFaceColor'</span>,[<span class="number">255</span> <span class="number">140</span> <span class="number">0</span>]/<span class="number">255</span>);</span><br><span class="line">xlabel(xLabel);</span><br><span class="line">ylabel(yLabel);</span><br><span class="line">title(Title);</span><br><span class="line"></span><br><span class="line"><span class="comment">% set the span of x and y</span></span><br><span class="line">xticks(<span class="number">1</span>:<span class="number">5</span>:<span class="number">100</span>);</span><br><span class="line">yticks(<span class="number">1</span>:<span class="number">5</span>:<span class="number">100</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">% Make sure the center is at the origin</span></span><br><span class="line">ax = gca;</span><br><span class="line">ax.XAxisLocation = <span class="string">'origin'</span>;</span><br><span class="line">ax.YAxisLocation = <span class="string">'origin'</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">% set the font</span></span><br><span class="line">set(gca,<span class="string">'FontName'</span>,<span class="string">'Times New Roman'</span>,<span class="string">'FontSize'</span>,<span class="number">10</span>);</span><br></pre></td></tr></table></figure><h4 id="2-1-3-多组数据画图">2.1.3 多组数据画图</h4><figure class="highlight matlab"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><span class="line">clc</span><br><span class="line">clear</span><br><span class="line"></span><br><span class="line"><span class="comment">%% Import data</span></span><br><span class="line">data=xlsread(<span class="string">"data.xlsx"</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">%% Parameter setting</span></span><br><span class="line">fontSize=<span class="number">28</span>;</span><br><span class="line">lineWidthBox=<span class="number">1.5</span>;</span><br><span class="line">lineWidth=<span class="number">2.5</span>;</span><br><span class="line">symbol=[<span class="string">'o'</span>,<span class="string">'s'</span>,<span class="string">'d'</span>,<span class="string">'^'</span>,<span class="string">'v'</span>,<span class="string">'>'</span>,<span class="string">'<'</span>];</span><br><span class="line">markerSize=<span class="number">7</span>;</span><br><span class="line">pictureSize=[<span class="number">200</span>,<span class="number">200</span>,<span class="number">950</span>,<span class="number">650</span>];</span><br><span class="line">fileName=<span class="string">"figure2.tif"</span>;</span><br><span class="line">pictureResolution=<span class="string">'-r800'</span>;</span><br><span class="line">color=[[<span class="number">0</span> <span class="number">0</span> <span class="number">139</span>]/<span class="number">255</span>;[<span class="number">0</span> <span class="number">139</span> <span class="number">139</span>]/<span class="number">255</span>;[<span class="number">105</span> <span class="number">105</span> <span class="number">105</span>]/<span class="number">255</span>;[<span class="number">192</span> <span class="number">0</span> <span class="number">0</span>]/<span class="number">255</span>;[<span class="number">255</span> <span class="number">140</span> <span class="number">0</span>]/<span class="number">255</span>;[<span class="number">0</span> <span class="number">191</span> <span class="number">255</span>]/<span class="number">255</span>];</span><br><span class="line"><span class="comment">%% RGB颜色坐标,取值0-255列举几个颜色:[0 0 177]/255深蓝色;[0 139 139]/255青色;[105 105 105]/255灰色;[192 0 0]/255红色;[255 140 0]/255橙色;[0 191 255]/255]浅蓝色</span></span><br><span class="line">coordinateRange=[[<span class="number">0</span> <span class="number">50</span>];[<span class="number">0</span> <span class="number">4</span>]];</span><br><span class="line">xLabel=<span class="string">'Time [s]'</span>; </span><br><span class="line">yLabel=<span class="string">'Velocity [m/s]'</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">%% Plot</span></span><br><span class="line"><span class="built_in">figure</span></span><br><span class="line"><span class="built_in">hold</span> on</span><br><span class="line">box on</span><br><span class="line">set(gca,<span class="string">'LineWidth'</span>,lineWidthBox)</span><br><span class="line"><span class="keyword">for</span> <span class="built_in">i</span>=<span class="number">1</span>:<span class="number">6</span></span><br><span class="line"> <span class="built_in">plot</span>(data(:,<span class="number">1</span>),data(:,<span class="built_in">i</span>+<span class="number">1</span>),<span class="string">'.-'</span>,<span class="string">'Color'</span>,color(<span class="built_in">i</span>,:),<span class="string">'LineWidth'</span>,lineWidth,<span class="string">'Marker'</span>,symbol(<span class="number">1</span>,<span class="built_in">i</span>),<span class="string">'MarkerSize'</span>,markerSize,<span class="string">'MarkerFaceColor'</span>,color(<span class="built_in">i</span>,:))</span><br><span class="line"><span class="keyword">end</span></span><br><span class="line"><span class="built_in">legend</span>(<span class="string">'Group A'</span>,<span class="string">'Group B'</span>,<span class="string">'Group C'</span>,<span class="string">'Group D'</span>,<span class="string">'Group E'</span>,<span class="string">'Group F'</span>,<span class="string">'Location'</span>, <span class="string">'eastoutside'</span>)</span><br><span class="line"><span class="built_in">legend</span>(<span class="string">'boxoff'</span>)</span><br><span class="line">set(gca,<span class="string">'XLim'</span>,coordinateRange(<span class="number">1</span>,:),<span class="string">'YLim'</span>,coordinateRange(<span class="number">2</span>,:));<span class="comment">%% set the Upper and lower limits of x and y</span></span><br><span class="line"></span><br><span class="line">xlabel(xLabel)</span><br><span class="line">ylabel(yLabel)</span><br><span class="line">set(gca,<span class="string">'FontName'</span>,<span class="string">'Times New Roman'</span>,<span class="string">'FontSize'</span>,fontSize)</span><br><span class="line"></span><br><span class="line"><span class="comment">%% Output</span></span><br><span class="line">set(gcf,<span class="string">'Position'</span>,pictureSize)</span><br><span class="line">print(<span class="string">'-djpeg'</span>,fileName,pictureResolution);</span><br></pre></td></tr></table></figure>]]></content>
<categories>
<category> 语言教程 </category>
</categories>
<tags>
<tag> 课外知识 </tag>
</tags>
</entry>
<entry>
<title>机械原理基础</title>
<link href="/2024/07/31/%E6%9C%BA%E6%A2%B0%E5%8E%9F%E7%90%86%E5%9F%BA%E7%A1%80/"/>
<url>/2024/07/31/%E6%9C%BA%E6%A2%B0%E5%8E%9F%E7%90%86%E5%9F%BA%E7%A1%80/</url>
<content type="html"><![CDATA[<h2 id="一、机械传动">一、机械传动</h2><h3 id="(一)旋转传动">(一)旋转传动</h3><h4 id="1-正齿轮-:">1. 正齿轮 :</h4><p><img src="%E6%AD%A3%E9%BD%BF%E8%BD%AE.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2">有若干组齿轮组成,分为主动轮和从动轮</li><li class="lvl-2">传动比i=Z2/Z1(其中Z1是主动轮齿数,Z2是从动轮齿数,以下提到的1和2都分别对应主动和从动)</li><li class="lvl-2">传动比作用:<ol><li class="lvl-5">降速,n2=n1/i</li><li class="lvl-5">提高输出扭矩,从动轮输出转矩=电机输出转矩*i</li><li class="lvl-5">降低负载惯量,从动轮折算到主动轮这边的惯量J3=J2/i^2,惯量按传动的平方倍减小</li></ol></li><li class="lvl-2">优点:<ol><li class="lvl-5">成本低</li><li class="lvl-5">结构简单</li><li class="lvl-5">适合功率传递</li></ol></li><li class="lvl-2">缺点:<ol><li class="lvl-5">传动精度差</li></ol></li></ul><h4 id="2-涡轮蜗杆减速器">2. 涡轮蜗杆减速器</h4><p><img src="%E6%B6%A1%E8%BD%AE%E8%9C%97%E6%9D%86.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>由涡轮和蜗杆组成齿轮</p></li><li class="lvl-2"><p>蜗杆是主动件,涡轮是从动件</p></li><li class="lvl-2"><p>用于传动框架交错轴之间的运动和动力,一般输入轴和输出轴之间成90度角</p></li><li class="lvl-2"><p>优点:</p><ol><li class="lvl-5">单机减速比很大</li><li class="lvl-5">可反向自锁(使减速器在电机断电的情况下可以保持机械结构不下落,可以起到和电机抱闸类似的功能)</li><li class="lvl-5">适合功率传递</li></ol></li><li class="lvl-2"><p>缺点:</p><ol><li class="lvl-5">轴向力大</li><li class="lvl-5">易发热</li><li class="lvl-5">机械效率低,具有自锁性的蜗杆传动,其效率在50%以下</li></ol></li></ul><h4 id="3-行星减速器">3. 行星减速器</h4><p><img src="%E8%A1%8C%E6%98%9F%E5%87%8F%E9%80%9F%E5%99%A8.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>组成:内齿圈(固定在减速器壳体上,不动的 )、太阳轮(由电机驱动是主动轮)、行星轮(固定在行星架上,绕着内齿圈旋转,动力从太阳轮输入再通过行星架将动力传递到输出轴上、行星架)</p></li><li class="lvl-2"><p>减速比:i=(内齿圈齿数/太阳轮齿数)+1</p></li><li class="lvl-2"><p>一般情况下,具有单机减速齿轮组的行星减速机减速比通常在3-10之间;速比超过10以上的行星减速机,需要使用两级或以上的行星齿轮组减速</p></li><li class="lvl-2"><p>行星轮总齿数=内齿圈齿数+太阳轮齿数</p></li><li class="lvl-2"><p>优点:</p><ol><li class="lvl-5">体积小、质量小、结构紧凑、承载能力大</li><li class="lvl-5">传动效率高,通常可达97%以上(传动效率是指在机械传动系统中,输出功率与输入功率的比值,通常以百分比表示 )</li><li class="lvl-5">传动比大</li><li class="lvl-5">运动平稳、抗冲击和震动能力强</li><li class="lvl-5">适合精密传动</li></ol></li><li class="lvl-2"><p>缺点:</p><ol><li class="lvl-5">材料优质、结构复杂、制造和安装比较困难</li><li class="lvl-5">成本高</li></ol></li></ul><h4 id="4-RV减速器">4. RV减速器</h4><p><img src="RV%E5%87%8F%E9%80%9F%E5%99%A8.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>用于转矩大的机器人腿部腰部和肘部三个关节,负载大的工业机器人,一二三轴都是RV</p></li><li class="lvl-2"><p>优点:更高的疲劳强度、刚度和寿命</p></li><li class="lvl-2"><p>缺点:重量大,外形尺寸大</p></li></ul><h4 id="5-谐波减速器:">5. 谐波减速器:</h4><p><img src="%E8%B0%90%E6%B3%A2%E5%87%8F%E9%80%9F%E5%99%A8.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>用于负载小的工业机器人或大型机器人末端几个轴,谐波减速器是谐波传动装置的一种,谐波传动装置包括谐波加速器和谐波减速器。谐波减速器主要包括:刚轮、柔轮、波发生器、轴承</p></li><li class="lvl-2"><p>优点:体积小、质量轻、承载能力大、运动精度高、单级传动比大</p></li><li class="lvl-2"><p>缺点:使用时间增加后运动精度显著降低<br>RV和谐波对比 :</p></li><li class="lvl-2"><p>谐波减速器结构简单紧凑,适合小型化、低、中载荷的应用</p></li><li class="lvl-2"><p>RV减速器刚性好、抗冲击能力强、传动平稳、精度高,适合中高载荷的应用。RV减速器的额定扭矩岁输入转速的下降非常明显</p></li></ul><h3 id="(二)直线传动">(二)直线传动</h3><h4 id="1-同步带传动">1. 同步带传动</h4><p><img src="%E5%90%8C%E6%AD%A5%E5%B8%A6.png" alt="加载错误"></p><p><img src="%E5%90%8C%E6%AD%A5%E5%B8%A62.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>组成:同步带、同步带轮(同步带和同步带轮上有相互啮合的齿和槽,防打滑)<br><img src="%E5%90%8C%E6%AD%A5%E5%B8%A63.png" alt="加载错误"></p></li><li class="lvl-2"><p>优点:</p><ol><li class="lvl-5">直线速度高,中等精度</li><li class="lvl-5">推力不大,成本低</li><li class="lvl-5">安装简单,加工、装配精度要求不高</li></ol></li><li class="lvl-2"><p>缺点:</p><ol><li class="lvl-5">柔性系统,高速长距离运行较难控制</li></ol></li></ul><h4 id="2-齿轮齿条传动">2. 齿轮齿条传动</h4><p><img src="%E9%BD%BF%E8%BD%AE%E9%BD%BF%E6%9D%A1.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>组成:齿轮和齿条</p></li><li class="lvl-2"><p>优点</p><ol><li class="lvl-5">直线速度高</li><li class="lvl-5">中等推力,成本低</li><li class="lvl-5">安装简单,加工装配精度要求中等</li><li class="lvl-5">适合长距离运行</li></ol></li><li class="lvl-2"><p>缺点:有磨损问题</p></li></ul><h4 id="3-丝杠传动">3. 丝杠传动</h4><p><img src="%E4%B8%9D%E6%9D%A0.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>组成:直线导轨、滚珠丝杠、螺母、电机座</p></li><li class="lvl-2"><p>滚珠丝杠作为主动体,螺母随丝杠转动按照相对应规格的导程转化为直线运动,物体可以通过螺母座和丝杠螺母连接,从而实现对应的直线运动</p></li><li class="lvl-2"><p>优点:</p><ol><li class="lvl-5">推力大</li><li class="lvl-5">精度高</li></ol></li><li class="lvl-2"><p>缺点:</p><ol><li class="lvl-5">直线速度较低</li><li class="lvl-5">行程有限制</li><li class="lvl-5">成本高</li><li class="lvl-5">安装复杂</li><li class="lvl-5">加工、装配精度要求高</li></ol></li><li class="lvl-2"><p>导程 :丝杠或螺母旋转一周,螺母在丝杠上移动的距离</p></li><li class="lvl-2"><p>螺距 :相邻两条螺纹之间的距离,有螺距=导程/线数<br><img src="%E8%9E%BA%E7%BA%B9.png" alt="加载错误"></p></li></ul><h2 id="二、自由度分析">二、自由度分析</h2><h3 id="(一)基本概念:">(一)基本概念:</h3><h4 id="1-构件:">1. 构件:</h4><p><img src="%E6%9E%84%E4%BB%B61.png" alt="加载错误"></p><p><img src="%E6%9E%84%E4%BB%B62.png" alt="加载错误"></p><h4 id="2-运动副:">2. 运动副:</h4><p><img src="%E8%BF%90%E5%8A%A8%E5%89%AF1.png" alt="加载错误"><br><img src="%E8%BF%90%E5%8A%A8%E5%89%AF2.png" alt="加载错误"></p><h3 id="(二)自由度计算">(二)自由度计算</h3><h4 id="1-基本公式">1. 基本公式</h4><p><img src="%E8%87%AA%E7%94%B1%E5%BA%A6%E5%85%AC%E5%BC%8F.png" alt="加载错误"></p><ul class="lvl-0"><li class="lvl-2"><p>可动:注意不可动的构件不要算进来,如下图中的AE:<br><img src="%E5%8F%AF%E5%8A%A8.png" alt="加载错误"></p></li><li class="lvl-2"><p>低副:面接触,一般有移动副和转动副(即只能沿一个方向平动或转动的运动副<br><img src="%E4%BD%8E%E5%89%AF.png" alt="加载错误"></p></li><li class="lvl-2"><p>高副:点、线接触,如凸轮副、齿轮副<br><img src="%E9%AB%98%E5%89%AF.png" alt="加载错误"><br><strong>e.g.</strong><br><img src="eg.png" alt="加载错误"></p></li></ul><h4 id="2-复合铰链">2. 复合铰链</h4><p><img src="%E5%A4%8D%E5%90%88%E9%93%B0%E9%93%BE1.png" alt="加载错误"><br><img src="%E5%A4%8D%E5%90%88%E9%93%B0%E9%93%BE2.png" alt="加载错误"><br>假设复合铰链由n个构件组成,则复合铰链相当于n-1个低副</p><h4 id="3-局部自由度">3. 局部自由度</h4><p><img src="%E5%B1%80%E9%83%A8%E8%87%AA%E7%94%B1%E5%BA%A6.png" alt="加载错误"></p><h4 id="4-虚约束">4. 虚约束</h4><p><img src="%E8%99%9A%E7%BA%A6%E6%9D%9F.png" alt="加载错误"><br><img src="%E5%8F%8C%E6%BB%91%E5%9D%97%E6%9C%BA%E6%9E%84.png" alt="加载错误"><br>比如平行结构上的重复构件</p><h4 id="5-高副低代">5. 高副低代</h4><p>将一个高副转换为一个连杆加两个转动副的低副<img src="%E9%AB%98%E5%89%AF%E4%BD%8E%E4%BB%A3.png" alt="加载错误"><br>上图中的高副和低副自由度等价(K1是C处曲率圆半径)注意:<br><img src="%E9%AB%98%E5%89%AF%E4%BD%8E%E4%BB%A3%E6%B3%A8%E6%84%8F.png" alt="加载错误"></p><h4 id="6-实例">6. 实例</h4><p><strong>e.g.1</strong><br><img src="eg1.png" alt="加载错误"><br>其中EF为虚约束,E点运动副不需要算,G、I处只用算一个高副,I处里面还有一个移动副不要漏算<br><strong>e.g.2</strong><br><img src="eg2.png" alt="加载错误"><br>D为虚约束<br><strong>e.g.3</strong><br><img src="eg3.png" alt="加载错误"><br>其中EF为虚约束,ABF、DCE、GHJ为三角形具有稳定性所以直接看成一个构件<img src="eg4.png" alt="加载错误"><br>等效于这个:<br><img src="%E7%AD%89%E6%95%88.jpg" alt="加载错误"></p><h2 id="三、机构分析">三、机构分析</h2><h3 id="(一)铰链四杆机构">(一)铰链四杆机构</h3><p><img src="%E9%93%B0%E9%93%BE%E5%9B%9B%E6%9D%86.png" alt="加载错误"><br><img src="%E6%9D%86%E9%95%BF%E6%9D%A1%E4%BB%B6.png" alt="加载错误"></p><h3 id="(二)压力角、传动角、死点">(二)压力角、传动角、死点</h3><p><img src="%E5%8E%8B%E5%8A%9B%E8%A7%92.png" alt="加载错误"><br>注意:</p><ul class="lvl-0"><li class="lvl-2"><p>以上所说的驱动力和运动速度是从动件的受力点的运动情况,比如下图:<img src="%E4%BB%8E%E5%8A%A8.png" alt="加载错误"><br>从动件指的是杆不是滑块</p></li><li class="lvl-2"><p>上图中滑块的力之所以垂直于导线可以参考高中的斜劈上放滑块的模型,两者之间的力为垂直方向的力<br><img src="%E6%AD%BB%E7%82%B9.png" alt="加载错误"></p></li></ul><h3 id="(三)四杆机构图解法">(三)四杆机构图解法</h3><p>极位夹角:曲柄两个极限位置的夹角θ<90°(极限位置:有连杆共线的位置)曲柄推程和回程之比,使用极位夹角通过几何关系推导得:$$K=\frac{180<sup>\circ+\theta}{180</sup>\circ-\theta}>1$$<br><img src="%E6%9B%B2%E6%9F%84%E6%91%87%E6%9D%86.png" alt="加载错误"><br><img src="%E6%9B%B2%E6%9F%84%E6%BB%91%E5%9D%97.png" alt="加载错误"><br><img src="%E6%91%86%E5%8A%A8%E5%AF%BC%E6%9D%86.png" alt="加载错误"></p><h3 id="(四)速度瞬心">(四)速度瞬心</h3><p><strong>瞬心</strong> :两构件上绝对速度相等(相对速度为0)的点,绝对速度为0的为绝对瞬心,否则为相对瞬心<br>n个构件(包括机架)有$$\frac{n(n+1)}{2}$$个瞬心</p><h4 id="0-对速度瞬心的个人理解">0.对速度瞬心的个人理解</h4><p>空间刚体A上某一点P的运动可以用刚体平动速度$$\mathbf{V_{A}}$$ 和刚体自转速度$$\mathbf{\omega_{AP}}$$来表示,且若任取一点Q,我们还可以用$$\mathbf{V_{Q}}+\mathbf{V_{PQ}}$$来计算P的速度,但如果我们选取的Q点满足这两个要求:$$\mathbf{V_{Q}}=\mathbf{0}$$且PQ间只存在圆周相对运动(比如可以使P和Q位于同一刚体来满足),则P的绝对速度就可以直接用PQ之间的相对角速度乘以PQ间距离来表示</p><h4 id="1-直接接触的两构件">1.直接接触的两构件</h4><p><img src="%E7%9B%B4%E6%8E%A5%E6%8E%A5%E8%A7%A6%E4%B8%A4%E6%9E%84%E4%BB%B6.png" alt="加载错误"><br>就是12连接处<img src="12%E9%93%BE%E6%8E%A5%E5%A4%84.png" alt="加载错误"><br>移动副的瞬心在垂直导轨的法线上的无限远处<img src="%E7%A7%BB%E5%8A%A8%E5%89%AF%E7%9E%AC%E5%BF%83.png" alt="加载错误"><br>如果是纯滚动,则就是接触点<img src="%E7%BA%AF%E6%BB%9A%E5%8A%A8.png" alt="加载错误"><br>如果是滑动,则在公法线上某一点</p><h4 id="2-非直接接触的两构件">2.非直接接触的两构件</h4><p><strong>三心定理</strong>:三个构件的3个瞬心位于同一直线<br><img src="%E4%B8%89%E5%BF%83%E5%AE%9A%E7%90%86.png" alt="加载错误"><br><img src="%E4%B8%89%E5%BF%83%E5%AE%9A%E7%90%862.png" alt="加载错误"></p><h3 id="(五)凸轮">(五)凸轮</h3><p><img src="%E5%87%B8%E8%BD%AE.png" alt="加载错误"></p><h4 id="1-理论轮廓:">1. 理论轮廓:</h4><p><img src="%E7%90%86%E8%AE%BA%E8%BD%AE%E5%BB%93.png" alt="加载错误"><br>如图蓝色圆圈</p><h4 id="2-基圆:">2. 基圆:</h4><p><img src="%E5%9F%BA%E5%9C%86.png" alt="加载错误"><br>如图红色圆圈</p><h4 id="3-偏距圆">3. 偏距圆</h4><p><img src="%E5%81%8F%E8%B7%9D%E5%9C%86.png" alt="加载错误"><br>如图绿色圆圈</p><h4 id="4-行程">4. 行程</h4><p><img src="%E8%A1%8C%E7%A8%8B.png" alt="加载错误"><br>如图黄色所标</p><h3 id="(六)齿轮">(六)齿轮</h3><p><strong>齿根圆直径</strong>df=m(z-2.5)<br><strong>齿顶圆直径</strong>da=m(z+2)<br><strong>分度圆直径</strong>d=mz<br><strong>基圆直径</strong>db=d·cosa,其中d为分度圆直径,a为压力角,一般为20度,两个齿轮啮合的条件为压力角和模数相同<br><strong>齿根高</strong>(齿根圆和分度圆之间沿半径方向的距离)=1.25m<br><strong>齿顶高</strong>(齿顶圆和分度圆之间沿半径方向的距离)=m<br><strong>齿厚</strong>s=mz/2</p><h3 id="(七)涡轮蜗杆">(七)涡轮蜗杆</h3><h4 id="1-判断旋向">1. 判断旋向</h4><p>掌心向自己,四指向轴线方向,看右手和螺旋线方向平不平行反之左旋</p><h4 id="2-判断转向">2. 判断转向</h4><ul class="lvl-0"><li class="lvl-2"><p>判断旋向,左旋用左手,右旋用右手<br><img src="%E5%88%A4%E6%96%AD%E8%BD%AC%E5%90%91.png" alt="加载错误"></p></li></ul>]]></content>
<categories>
<category> 课程总结 </category>
</categories>
<tags>
<tag> 课外知识 </tag>
<tag> 机械 </tag>
</tags>
</entry>
<entry>
<title>mkdocs教程</title>
<link href="/2024/07/04/mkdocs/"/>
<url>/2024/07/04/mkdocs/</url>
<content type="html"><![CDATA[<h1>发布网站</h1><h3 id="一、安装:">一、安装:</h3><p>在cmd中执行</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pip install mkdocs</span><br></pre></td></tr></table></figure><p>和</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pip install mkdocs-material</span><br></pre></td></tr></table></figure><h3 id="二、创建">二、创建</h3><p>在D盘中输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdocs new myproject</span><br></pre></td></tr></table></figure><p>这里的<code>myproject</code>是你的文件夹名字(下面都用my-wiki代替)</p><p>mkdocs.yml是你的你的配置文件,在里面修改好之后,cd my-wiki<br>输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdocs serve</span><br></pre></td></tr></table></figure><p>会跳出:</p><p>这个网址点进去之后可以本地预览</p><h3 id="三、更改主题:">三、更改主题:</h3><p>在mkdocs.yml里输入:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">site_name: My site</span><br><span class="line">site_url: https://mydomain.org/mysite</span><br><span class="line">theme:</span><br><span class="line"> name: material</span><br></pre></td></tr></table></figure><p>再重新serve即可</p><h3 id="四、部署">四、部署</h3><p>在github上创建仓库,权限设为public,然后依次</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">git init</span><br><span class="line">git add .</span><br><span class="line">git commit -m"..."</span><br><span class="line">git remote add origin https://github.com/Hamilton2718/GYYZ-ZJU.git</span><br><span class="line">git branch -M main</span><br><span class="line">git push -u origin main </span><br></pre></td></tr></table></figure><p>然后在仓库里的settings->page把分支改为gh-pages,如下:<img src="githubpages.png" alt="加载失败"><br>之后输入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdocs gh-deploy</span><br></pre></td></tr></table></figure><p>点击它给你的网站就行了</p><h3 id="五、problems">五、problems</h3><p><strong>1. 如果遇到<code>fatal: unable to access 'https://github.com/Hamilton2718/GYYZ-ZJU.git/': Recv failure: Connection was reset</code>的报错输入</strong></p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global --unset http.proxy </span><br><span class="line">git config --global --unset https.proxy</span><br></pre></td></tr></table></figure><h1>操作</h1><h3 id="一、多级目录">一、多级目录</h3><p>我们也可以根据需要生成多级目录,多级目录也要在 mkdocs.yml 中配置。多级目录的语法格式如下:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">- [一级目录名称]:</span><br><span class="line"> - [子目录名称]:[文件路径/文件名.md]</span><br><span class="line"> ...</span><br></pre></td></tr></table></figure><p><strong>注意:</strong> 其中 [子目录名称] 可以省略,如果省略,那么当前页面名称即显示为该 markdown 文件的一级标题。<em>实例</em>:</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">nav:</span><br><span class="line">- Home: index.md</span><br><span class="line">- User Guide:</span><br><span class="line"> - Writing your docs: user-guide/writing-your-docs.md</span><br><span class="line"> - Styling your docs: user-guide/styling-your-docs.md</span><br><span class="line">- About:</span><br><span class="line"> - License: about/license.md</span><br><span class="line"> - Release Notes: about/release-notes.md</span><br></pre></td></tr></table></figure><h3 id="二、插入图片">二、插入图片</h3><p>将图片放在和md文件一个目录下的img文件夹,如图:<img src="image.png" alt="加载错误"><br>插入时直接从\img开始写相对路径</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">![<span class="string">加载错误</span>](<span class="link">img/image.png</span>)</span><br></pre></td></tr></table></figure><p><em>注意要用/不要用\,和mkdocs不一样</em></p><h3 id="三、更改设置">三、更改设置</h3><p>建议直接在yml文件中参考地加入这些:</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">site_name:</span> <span class="string">GYYZ-ZJU</span></span><br><span class="line"></span><br><span class="line"><span class="attr">site_url:</span> <span class="string">https://mydomain.org/mysite</span></span><br><span class="line"></span><br><span class="line"><span class="attr">nav:</span></span><br><span class="line"><span class="bullet">-</span> <span class="string">首页:</span> <span class="string">index.md</span></span><br><span class="line"><span class="bullet">-</span> <span class="string">衣食住行:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">杭州旅游攻略:</span> <span class="string">FCHT/杭州旅游攻略.md</span></span><br><span class="line"></span><br><span class="line"><span class="bullet">-</span> <span class="string">奇怪的知识又增加了:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">mkdocs教程:</span> <span class="string">other/mkdocs.md</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">test:</span> <span class="string">other/Markdown实例.md</span></span><br><span class="line"></span><br><span class="line"><span class="attr">theme:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">material</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">favicon:</span> <span class="string">images/fav.jpg</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">icon:</span></span><br><span class="line"> <span class="attr">logo:</span> <span class="string">material/home</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">features:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.instant</span> <span class="comment">#- header.autohide #自动隐藏</span></span><br><span class="line"> <span class="comment">#- announce.dismiss #呈现可标记为由用户读取的临时公告,可以包含一个用于取消当前公告的按钮</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.tracking</span> <span class="comment">#地址栏中的 URL 将自动更新为在目录中突出显示的活动锚点</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.tabs</span> <span class="comment">#顶级部分将呈现在上面视口标题下方的菜单层中,但在移动设备上保持原样</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.tabs.sticky</span> <span class="comment">#启用粘性选项卡后,导航选项卡将锁定在标题下方,并在向下滚动时始终保持可见</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.sections</span> <span class="comment">#启用部分后,顶级部分在边栏中呈现为1220px以上视口的组,但在移动设备上保持原样</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.top</span> <span class="comment"># 返回顶部的按钮 在上滑时出现</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">search.suggest</span> <span class="comment"># 搜索输入一些字母时推荐补全整个单词</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">search.highlight</span> <span class="comment"># 搜索出的文章关键词加入高亮</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.expand</span> <span class="comment"># 打开Tab时左侧目录全部展开</span></span><br><span class="line"> <span class="comment">#- navigation.indexes #启用节索引页后,可以将文档直接附加到节</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">search.share</span> <span class="comment">#搜索分享按钮</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">toc.follow</span> <span class="comment"># 滚动的时候侧边栏自动跟随</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">navigation.footer</span> <span class="comment"># 页脚提示下一章</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">content.code.copy</span> <span class="comment"># 代码段上的赋值按钮</span></span><br><span class="line"> </span><br><span class="line"> <span class="attr">palette:</span></span><br><span class="line"><span class="comment"># 切换到亮色</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">media:</span> <span class="string">"(prefers-color-scheme: light)"</span> <span class="comment"># 根据系统的颜色模式自动切换</span></span><br><span class="line"> <span class="attr">scheme:</span> <span class="string">default</span></span><br><span class="line"> <span class="attr">primary:</span> <span class="string">blue</span></span><br><span class="line"> <span class="attr">accent:</span> <span class="string">blue</span></span><br><span class="line"> <span class="attr">toggle:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">material/weather-night</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">切换到暗色模式</span></span><br><span class="line"></span><br><span class="line"> <span class="comment"># 切换到暗色</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">media:</span> <span class="string">"(prefers-color-scheme: dark)"</span></span><br><span class="line"> <span class="attr">scheme:</span> <span class="string">slate</span></span><br><span class="line"> <span class="attr">primary:</span> <span class="string">blue</span></span><br><span class="line"> <span class="attr">accent:</span> <span class="string">blue</span></span><br><span class="line"> <span class="attr">toggle:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">material/weather-sunny</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">切换到亮色模式</span></span><br><span class="line"></span><br><span class="line"><span class="attr">markdown_extensions:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">admonition</span> <span class="comment"># 警告语法</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">def_list</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">footnotes</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">abbr</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.caret</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.mark</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.tilde</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">md_in_html</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.arithmatex:</span> <span class="comment"># latex支持</span></span><br><span class="line"> <span class="attr">generic:</span> <span class="literal">true</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">toc:</span></span><br><span class="line"> <span class="attr">permalink:</span> <span class="literal">true</span> <span class="comment"># 固定标题位置为当前位置</span></span><br><span class="line"> <span class="attr">toc_depth:</span> <span class="number">3</span> <span class="comment"># 目录深度</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.highlight:</span> <span class="comment"># 代码块高亮</span></span><br><span class="line"> <span class="attr">anchor_linenums:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">linenums:</span> <span class="literal">true</span> <span class="comment"># 显示行号</span></span><br><span class="line"> <span class="attr">use_pygments:</span> <span class="literal">true</span> <span class="comment"># 代码高亮</span></span><br><span class="line"> <span class="attr">pygments_lang_class:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">auto_title:</span> <span class="literal">true</span> <span class="comment"># 显示编程语言名称</span></span><br><span class="line"> <span class="attr">linenums_style:</span> <span class="string">pymdownx-inline</span> <span class="comment"># 行号样式,防止复制的时候复制行号</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.betterem</span> <span class="comment"># 强调美化,比如**text**会被美化</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.caret</span> <span class="comment"># 上标和下标</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.mark</span> <span class="comment"># 上标和下标</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.tilde</span> <span class="comment"># 上标和下标</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.keys</span> <span class="comment"># 显示按键组合</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.critic</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.details</span> <span class="comment"># 可以折叠的代码块 ??? note 可以让警告变成折叠的</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.inlinehilite</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.snippets</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.superfences</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.magiclink</span> <span class="comment"># 自动识别链接</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.smartsymbols</span> <span class="comment"># 智能符号</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">pymdownx.snippets</span> <span class="comment"># 代码段</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.tasklist:</span></span><br><span class="line"> <span class="attr">custom_checkbox:</span> <span class="literal">true</span> <span class="comment"># 自定义复选框</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">attr_list</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.emoji:</span></span><br><span class="line"> <span class="attr">emoji_index:</span> <span class="type">!!python/name:material.extensions.emoji.twemoji</span></span><br><span class="line"> <span class="attr">emoji_generator:</span> <span class="type">!!python/name:material.extensions.emoji.to_svg</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.superfences:</span> <span class="comment"># 代码块中支持Mermaid</span></span><br><span class="line"> <span class="attr">custom_fences:</span> <span class="comment"># 支持 Mermaid</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">mermaid</span></span><br><span class="line"> <span class="attr">class:</span> <span class="string">mermaid</span></span><br><span class="line"> <span class="attr">format:</span> <span class="type">!!python/name:pymdownx.superfences.fence_code_format</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.tabbed:</span></span><br><span class="line"> <span class="attr">alternate_style:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">combine_header_slug:</span> <span class="literal">true</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">pymdownx.tasklist:</span></span><br><span class="line"> <span class="attr">custom_checkbox:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">clickable_checkbox:</span> <span class="literal">true</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">meta</span> <span class="comment"># 支持Markdown文件上方自定义标题标签等</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">tables</span></span><br><span class="line"></span><br><span class="line"><span class="attr">extra_css:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">stylesheets/extra.css</span></span><br></pre></td></tr></table></figure>]]></content>
<categories>
<category> 搭建网站 </category>
</categories>
<tags>
<tag> mkdocs </tag>
</tags>
</entry>
<entry>
<title>Latex教程</title>
<link href="/2024/07/04/Latex%E6%95%99%E7%A8%8B/"/>
<url>/2024/07/04/Latex%E6%95%99%E7%A8%8B/</url>
<content type="html"><![CDATA[<h2 id="0-安装texlive(一般用途用overleaf也够了)">0 安装texlive(一般用途用overleaf也够了)</h2><p>参考这个视频:</p><iframe src="https://player.bilibili.com/player.html?isOutside=true&aid=222598503&bvid=BV1y8411P7qs&cid=960246005&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>和这篇文章:<p><a href="https://blog.csdn.net/qq_41554005/article/details/120712126?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171992463516800225519887%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171992463516800225519887&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-120712126-null-null.142%5Ev100%5Epc_search_result_base1&utm_term=vscode%E5%AE%89%E8%A3%85latex%E7%8E%AF%E5%A2%83&spm=1018.2226.3001.4187">vscode配置latex环境</a><br><strong>切记编译用xelatex</strong></p><h2 id="1-基本知识">1 基本知识</h2><h3 id="1-1-宏包">1.1 宏包</h3><p>相当于Latex中的头文件,可以实现很多功能常用的宏包有:</p><table><thead><tr><th>宏包</th><th>作用</th></tr></thead><tbody><tr><td>ctex</td><td>中文</td></tr><tr><td>url</td><td>超链接</td></tr><tr><td>graphicx</td><td>导入图片</td></tr><tr><td>amsmath</td><td>数学公式</td></tr><tr><td>geometry</td><td>调节页边距</td></tr><tr><td>listings</td><td>代码块</td></tr><tr><td>indentfirst</td><td>调整首行缩进</td></tr><tr><td>xcolor</td><td>设置颜色</td></tr><tr><td>url</td><td>导入超链接(插入链接:\url{…})</td></tr></tbody></table><h3 id="1-2-命令格式">1.2 命令格式</h3><p>在Latex中需要在文章开始加一个\document[编码]{文体}的命令确定文体</p><table><thead><tr><th>文体</th><th>含义</th></tr></thead><tbody><tr><td>article</td><td>文章</td></tr><tr><td>report</td><td>报告</td></tr><tr><td>book</td><td>书</td></tr><tr><td>beamer</td><td>幻灯片</td></tr><tr><td>ctexart</td><td>中文文章,[]里要写UTF-8</td></tr></tbody></table><h3 id="1-3-环境">1.3 环境</h3><p>Latex的内容需要指定环境,即用<code>\begin{环境}</code> <code>\end{环境}</code>包围起来</p><table><thead><tr><th>环境</th><th>含义</th></tr></thead><tbody><tr><td>document</td><td>文档正文</td></tr><tr><td>figure</td><td>图片</td></tr><tr><td>equation</td><td>公式</td></tr><tr><td>table</td><td>表格</td></tr><tr><td>itemize</td><td>无序列表</td></tr><tr><td>enumerate</td><td>有序列表</td></tr><tr><td>quote</td><td>引用</td></tr><tr><td>abstract</td><td>摘要</td></tr></tbody></table><h3 id="1-4-正文之前">1.4 正文之前</h3><p>在正文之前写上进行命令格式、宏包引入命令,同时还有<code>\title{}</code> <code>\author{}</code> <code>\date{}</code>命令,正文第一行要写上<code>\maketitle</code></p><h2 id="2-基础操作">2 基础操作</h2><h3 id="2-1-简单格式操作">2.1 简单格式操作</h3><p><code>\textbf{}</code> 加粗(bf是bold font的缩写)<br><code>\textit{}</code> 斜体<br><code>\underline{}</code> 下划线<br><code>\par</code> 换段<br><code>\section{}</code> 新段<br><code>\chapter{}</code> 子章节<br><code>\chapter{}</code> 章节</p><h3 id="2-2-引用图片:">2.2 引用图片:</h3><ol><li class="lvl-3"><p><strong>下载包<code>\usepackage{graphicx}</code></strong></p></li><li class="lvl-3"><p><strong>环境:<code>\begin{figure}[h/t/b/p]</code></strong></p></li></ol><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td>h</td><td>当前位置</td></tr><tr><td>t</td><td>页面顶部</td></tr><tr><td>b</td><td>页面底部</td></tr><tr><td>p</td><td>允许有浮动对象页面</td></tr></tbody></table><ol start="3"><li class="lvl-3"><p><strong>命令<code>\include graphics[格式参数]{图片相对路径}</code></strong></p></li><li class="lvl-3"><p><strong>格式参数</strong></p></li></ol><ul class="lvl-0"><li class="lvl-2"><p>width/height = x cm/mm/in(inch)/ex(当前字体中小写x的高度)</p></li><li class="lvl-2"><p>scale = x(按x倍比例)</p></li><li class="lvl-2"><p>相对单位:e.g.width = x\columnwidth | \textwidth | \linewidth</p></li></ul><ol start="5"><li class="lvl-3"><p><strong>环境内命令:</strong></p></li></ol><table><thead><tr><th>命令</th><th>作用</th></tr></thead><tbody><tr><td>\centering</td><td>居中</td></tr><tr><td>\caption{}</td><td>图片标题</td></tr><tr><td>\label{}</td><td>图片标签(用来引用)</td></tr><tr><td>\hspace{ x pt}</td><td>2张图片之间水平距离</td></tr></tbody></table><p><em>注:引用需要用到hyperref包,正文中用\ref{label_name}引用,超链接点击即可转到</em></p><h3 id="2-3-数学公式:">2.3 数学公式:</h3><p><strong>数学公式的代码要写在equation环境中并用$$括起来</strong><br><strong>常见用法</strong></p><ul class="lvl-0"><li class="lvl-2"><p>$$\frac{A}{B}$$</p></li><li class="lvl-2"><p>$$2\over3$$</p></li><li class="lvl-2"><p>$$2^{3}$$</p></li><li class="lvl-2"><p>$$\log_{2}{3}$$</p></li><li class="lvl-2"><p>$$\sqrt[2]{3}$$</p></li><li class="lvl-2"><p>$$\sin{x}$$</p></li><li class="lvl-2"><p>$$\lim_{x\to 0}{y}$$</p></li><li class="lvl-2"><p>$$\left(2 \right)$$</p></li><li class="lvl-2"><p>$$\left|2 \right|$$<br>以上公式对应下面的代码:</p></li></ul><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\frac</span>{A}{B}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span>2<span class="keyword">\over</span>3<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span>2<span class="built_in">^</span>{3}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\log</span><span class="built_in">_</span>{2}{3}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\sqrt</span>[2]{3}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\sin</span>{x}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\lim</span><span class="built_in">_</span>{x<span class="keyword">\to</span> 0}{y}<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\left</span>(2 <span class="keyword">\right</span>)<span class="built_in">$</span><span class="built_in">$</span></span><br><span class="line"><span class="built_in">$</span><span class="built_in">$</span><span class="keyword">\left</span>|2 <span class="keyword">\right</span>|<span class="built_in">$</span><span class="built_in">$</span></span><br></pre></td></tr></table></figure><p>其他公式可以到在线编辑器上找</p><h3 id="2-4-表格">2.4 表格</h3><p><strong>表格的代码要写在table环境中,可以在表格编辑器上找</strong></p>]]></content>
<categories>
<category> 语言教程 </category>
</categories>
<tags>
<tag> Latex </tag>
</tags>
</entry>
<entry>
<title>Markdown语法实例</title>
<link href="/2024/06/30/Markdown/"/>
<url>/2024/06/30/Markdown/</url>
<content type="html"><![CDATA[<h1>基本操作篇</h1><h6 id="最小可以到六级标题">最小可以到六级标题</h6><p>有序列表:</p><ol><li class="lvl-3"><p>有序列表1</p></li><li class="lvl-3"><p>有序列表2</p></li></ol><p>无序列表:</p><ul class="lvl-0"><li class="lvl-2"><p>无序列表1</p></li></ul><ul class="lvl-0"><li class="lvl-2"><p>无序列表2</p></li></ul><p>清单:</p><ul class="lvl-0"><li class="lvl-2"><p><input type="checkbox" id="checkbox0"><label for="checkbox0">吃饭</label></p></li><li class="lvl-2"><p><input type="checkbox" id="checkbox1" checked="true"><label for="checkbox1">睡觉</label></p></li></ul><p>字体:<em>斜体</em><br><strong>粗体</strong><br><em><strong>粗斜体</strong></em><br><code>printf</code><br><u>下划线<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></u><br>H<sub>2</sub>O<br>x<sup>2</sup><br><mark>高亮文字</mark></p><p><s>删除线</s></p><p style="color: red;">颜色</p><p>😀</p><p>表情代码大全在下面</p><h1>进阶操作篇</h1><h2 id="一、插入超链接:">一、插入超链接:</h2><pre><code>1. [Markdown语法](https://www.runoob.com/markdown/md-tutorial.html)2. 或者直接输入URL:https://blog.csdn.net/qq_39087432/article/details/115407374 (表情包代码链接)3. 跳转到[Markdown语法实例](#markdown语法实例)4. 挂嵌入视频的方法:b站分享->嵌入代码->粘贴但记得加https<iframe src="https://player.bilibili.com/player.html?aid=327623069&bvid=BV1JA411h7Gw&cid=171385214&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe></code></pre><h2 id="二、插入图片">二、插入图片</h2><p><img src="https://ts1.cn.mm.bing.net/th/id/R-C.3e69986279120aa870f90428c6599abf?rik=YcHOEXNoV475Gw&riu=http%3a%2f%2fpuui.qpic.cn%2fvpic_cover%2fr3368tr9gly%2fr3368tr9gly_hz.jpg%2f1280&ehk=ySTntmNP%2fD97ATygyPHbOquFBs6PegxYjpuOsfTNWhk%3d&risl=&pid=ImgRaw&r=0" alt="邓紫棋" title="邓紫棋姐姐"><br>[]里的是当图片无法加载时显示的文字,用于描述图片的内容;()可以是图片的网络 URL 地址,也可以是本地图片的相对或绝对路径。</p><h2 id="三、插入区块">三、插入区块</h2><blockquote><p>这是一级区块</p><blockquote><p>这是二级区块</p></blockquote></blockquote><h2 id="四、插入代码块">四、插入代码块</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">print</span> (<span class="string">"这是一个代码块"</span>)</span><br></pre></td></tr></table></figure><h2 id="五、插入下划线">五、插入下划线</h2><hr><h2 id="六、插入脚注">六、插入脚注</h2><p>在vscode上写代码<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup></p><h2 id="七、插入表格">七、插入表格</h2><table><thead><tr><th>a</th><th>b</th><th>c</th><th>d</th></tr></thead><tbody><tr><td>f</td><td>g</td><td>h</td><td>i</td></tr><tr><td>e</td><td>j</td><td>k</td><td>l</td></tr></tbody></table><h2 id="八、插入公式(语法同Latex)">八、插入公式(语法同Latex)</h2><p>$$<br>\lim_{x\to0}\frac{\sin x}{x}=1<br>$$<br>直接在这个网站上编辑公式把代码copy过来就行:<a href="https://latex.91maths.com/">https://latex.91maths.com/</a></p><p>以上页面源码如下:</p><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br></pre></td><td class="code"><pre><span class="line"><span class="section"># 基本操作篇</span></span><br><span class="line"></span><br><span class="line"><span class="section">###### 最小可以到六级标题</span></span><br><span class="line"></span><br><span class="line">有序列表:</span><br><span class="line"><span class="bullet">1.</span> 有序列表1</span><br><span class="line"><span class="bullet">2.</span> 有序列表2</span><br><span class="line"></span><br><span class="line">无序列表:</span><br><span class="line"><span class="bullet">*</span> 无序列表1</span><br><span class="line"><span class="bullet">-</span> 无序列表2 </span><br><span class="line"> </span><br><span class="line"></span><br><span class="line">清单:</span><br><span class="line"><span class="bullet">-</span> [ ] 吃饭</span><br><span class="line"><span class="bullet">-</span> [x] 睡觉</span><br><span class="line"></span><br><span class="line">字体:</span><br><span class="line"><span class="emphasis">*斜体*</span>,<span class="strong">**粗体**</span>,<span class="strong">**<span class="emphasis">*粗斜体*</span>**</span>,<span class="code">`printf`</span>,<span class="language-xml"><span class="tag"><<span class="name">u</span>></span></span>下划线[^下划线]<span class="language-xml"><span class="tag"></<span class="name">u</span>></span></span>,H~2~O,x^2^,==高亮文字==,~~删除线~~,<span class="language-xml"><span class="tag"><<span class="name">p</span> <span class="attr">style</span>=<span class="string">"color: red;"</span>></span></span>颜色<span class="language-xml"><span class="tag"></<span class="name">p</span>></span></span></span><br><span class="line">:grinning:</span><br><span class="line">表情代码大全在下面</span><br><span class="line">[<span class="symbol">^下划线</span>]:<span class="link">冷知识:Markdown可以兼容HTML语言</span></span><br><span class="line"></span><br><span class="line"><span class="section"># 进阶操作篇</span></span><br><span class="line"></span><br><span class="line"><span class="section">## 一、插入超链接:</span></span><br><span class="line"><span class="bullet"> 1.</span> [<span class="string">Markdown语法</span>](<span class="link">https://www.runoob.com/markdown/md-tutorial.html</span>)</span><br><span class="line"><span class="bullet"> 2.</span> 或者直接输入URL:https://blog.csdn.net/qq<span class="emphasis">_39087432/article/details/115407374 (表情包代码链接)</span></span><br><span class="line"><span class="emphasis"> 3. 跳转到[<span class="string">Markdown语法实例</span>](<span class="link">#markdown语法实例</span>)</span></span><br><span class="line"><span class="emphasis"> 4. 挂嵌入视频的方法:b站分享->嵌入代码->粘贴但记得加https</span></span><br><span class="line"><span class="emphasis"> <span class="language-xml"><span class="tag"><<span class="name">iframe</span> <span class="attr">src</span>=<span class="string">"https://player.bilibili.com/player.html?aid=327623069&bvid=BV1JA411h7Gw&cid=171385214&p=1"</span> <span class="attr">scrolling</span>=<span class="string">"no"</span> <span class="attr">border</span>=<span class="string">"0"</span> <span class="attr">frameborder</span>=<span class="string">"no"</span> <span class="attr">framespacing</span>=<span class="string">"0"</span> <span class="attr">allowfullscreen</span>=<span class="string">"true"</span>></span></span> <span class="language-xml"><span class="tag"></<span class="name">iframe</span>></span></span></span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 二、插入图片</span></span><br><span class="line"><span class="emphasis">![<span class="string">邓紫棋</span>](<span class="link">https://ts1.cn.mm.bing.net/th/id/R-C.3e69986279120aa870f90428c6599abf?rik=YcHOEXNoV475Gw&riu=http%3a%2f%2fpuui.qpic.cn%2fvpic_cover%2fr3368tr9gly%2fr3368tr9gly_hz.jpg%2f1280&ehk=ySTntmNP%2fD97ATygyPHbOquFBs6PegxYjpuOsfTNWhk%3d&risl=&pid=ImgRaw&r=0 "邓紫棋姐姐"</span>)</span></span><br><span class="line"><span class="emphasis">[]里的是当图片无法加载时显示的文字,用于描述图片的内容;()可以是图片的网络 URL 地址,也可以是本地图片的相对或绝对路径。 </span></span><br><span class="line"><span class="emphasis">## 三、插入区块</span></span><br><span class="line"><span class="emphasis">>这是一级区块</span></span><br><span class="line"><span class="emphasis">>>这是二级区块</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 四、插入代码块</span></span><br><span class="line"><span class="emphasis">···python</span></span><br><span class="line"><span class="emphasis"> print ("这是一个代码块")</span></span><br><span class="line"><span class="emphasis">···</span></span><br><span class="line"><span class="emphasis">注:这里总是会有bug我就用中文键盘上对应符号代替了</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 五、插入下划线</span></span><br><span class="line"><span class="emphasis">---</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 六、插入脚注</span></span><br><span class="line"><span class="emphasis">在vscode上写代码[^vscode]</span></span><br><span class="line"><span class="emphasis">[^vscode]:指的是Visual Studio Code</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 七、插入表格</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">|a|b|c|d|</span></span><br><span class="line"><span class="emphasis">|---|---|---|---|</span></span><br><span class="line"><span class="emphasis">|f|g|h|i|</span></span><br><span class="line"><span class="emphasis">|e|j|k|l|</span></span><br><span class="line"><span class="emphasis"></span></span><br><span class="line"><span class="emphasis">## 八、插入公式(语法同Latex)</span></span><br><span class="line"><span class="emphasis">$$</span></span><br><span class="line"><span class="emphasis">\lim_</span>{x\to0}\frac{\sin x}{x}=1</span><br><span class="line">$$</span><br><span class="line">直接在这个网站上编辑公式把代码copy过来就行:https://latex.91maths.com/</span><br><span class="line"></span><br></pre></td></tr></table></figure><hr class="footnotes-sep"><section class="footnotes"><ol class="footnotes-list"><li id="fn1" class="footnote-item"><p>冷知识:Markdown可以兼容HTML语言 <a href="#fnref1" class="footnote-backref">↩︎</a></p></li><li id="fn2" class="footnote-item"><p>指的是Visual Studio Code <a href="#fnref2" class="footnote-backref">↩︎</a></p></li></ol></section>]]></content>
<categories>
<category> 语言教程 </category>
</categories>
<tags>
<tag> Markdown </tag>
</tags>
</entry>
<entry>
<title>读色环电阻</title>
<link href="/2024/06/30/resistance/"/>
<url>/2024/06/30/resistance/</url>
<content type="html"><![CDATA[<h1>读色环电阻:</h1><h2 id="十进制颜色对应:">十进制颜色对应:</h2><table><thead><tr><th>number</th><th>color</th></tr></thead><tbody><tr><td>0</td><td>黑</td></tr><tr><td>1</td><td>棕</td></tr><tr><td>2</td><td>红</td></tr><tr><td>3</td><td>橙</td></tr><tr><td>4</td><td>黄</td></tr><tr><td>5</td><td>绿</td></tr><tr><td>6</td><td>蓝</td></tr><tr><td>7</td><td>紫</td></tr><tr><td>8</td><td>灰</td></tr><tr><td>9</td><td>白</td></tr></tbody></table><h4 id="首先看有几个色环,(画在大圈上的色环为第一位)">首先看有几个色环,(画在大圈上的色环为第一位)</h4><ol><li class="lvl-3">四色环:</li></ol><ul class="lvl-0"><li class="lvl-2">前两位:电阻值的两位有效数字</li><li class="lvl-2">第三位:前两位*10多少次方,如果是金色则乘0.1,银色乘0.01</li><li class="lvl-2">第四位:公差范围,棕色±1%,红色±2%,绿色0.5%,蓝色±0.25%,紫色±0.1%,金色±%5,银色±10%</li></ul><ol start="2"><li class="lvl-3">五色环:第三位仍是有效数字,第四位以后顺延。</li><li class="lvl-3">六色环:前五位同五色环,第六位表示温度系数</li></ol>]]></content>
<categories>
<category> 杂的知识 </category>
</categories>
<tags>
<tag> 课外知识 </tag>
<tag> 电气 </tag>
</tags>
</entry>
<entry>
<title>Hexo教程</title>
<link href="/2024/06/28/Hexo/"/>
<url>/2024/06/28/Hexo/</url>
<content type="html"><![CDATA[<h2 id="创建网站">创建网站</h2><h3 id="一、准备">一、准备</h3><ul class="lvl-0"><li class="lvl-2">下载nodejs:<a href="https://npmmirror.com/mirrors/node/">https://npmmirror.com/mirrors/node/</a></li><li class="lvl-2">下载git:<a href="https://git-scm.com/download">https://git-scm.com/download</a></li><li class="lvl-2">在命令行中输入</li></ul><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install <span class="literal">-g</span> hexo<span class="literal">-cli</span></span><br></pre></td></tr></table></figure><h3 id="二、创建github仓库">二、创建github仓库</h3><ul class="lvl-0"><li class="lvl-2">仓库名以.github.io结尾</li><li class="lvl-2">仓库权限要设置为public</li><li class="lvl-2">仓库名要和你的github用户名一样(受不了了为什么网上一些教程里这些东西提都没提 😭😭😭)</li></ul><h3 id="三、生成SSL-Keys">三、生成SSL Keys</h3><ol><li class="lvl-3"><p>在桌面git bash here,输入以下代码后enter四次</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh<span class="literal">-keygen</span> <span class="literal">-t</span> rsa <span class="literal">-C</span> <span class="string">"邮件地址"</span></span><br></pre></td></tr></table></figure><ol start="2"><li class="lvl-3"><p>进入C:\Users\用户名,在里面进入.ssh文件,随便用一个编辑器打开,全选复制其中内容</p></li><li class="lvl-3"><p>打开github,进入用户设置,找到SSH keys,新建SSH keys,名称随意,在下面粘贴刚才复制的代码,然后创建</p></li><li class="lvl-3"><p>git bash here后输入以下代码看是否成功:</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh <span class="literal">-T</span> git@github.com</span><br></pre></td></tr></table></figure><p>回车后如果还有要输入的就输yes</p><h3 id="四、创建文件">四、创建文件</h3><ol><li class="lvl-3"><p>随便找一个地方创建一个文件夹放blog文件的,在这个文件夹里git bash here</p></li><li class="lvl-3"><p>输入</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo init</span><br></pre></td></tr></table></figure><p><strong>如果没成功就在前面加上npx,e.g.npx hexo init,下面同理</strong></p><ol start="3"><li class="lvl-3"><p>依次输入这三行命令</p></li></ol><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo install</span><br></pre></td></tr></table></figure><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo g</span><br></pre></td></tr></table></figure><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo s</span><br></pre></td></tr></table></figure><p>理论上可以出现<img src="picture1.png" alt="运行结果"><br>然后选择这个网址右键后open即可,不要ctrl+C去复制否则就退出了</p><h3 id="五、上线博客">五、上线博客</h3><ol><li class="lvl-3"><p>进入之前的Blog文件夹,用记事本打开_config.yml,拉到最下面将deploy后面的全删掉,复制粘贴这段</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">type</span>: git</span><br><span class="line">repository: </span><br><span class="line">branch: main</span><br></pre></td></tr></table></figure><p><strong>注意缩进格式:每行前面都有两个空格不要删,每个冒号后面都有个空格也不要删!</strong><br>2. 去github之前生成的仓库页面,点code,复制https链接,将其粘贴到我们记事本中的repository:后面,然后保存退出<br>3. 回到博客文件夹,git bash here,安装自动部署发布工具(否则会报错"Deployer not found: git"):</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure><p>再依次</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hexo g(生成)</span><br><span class="line">hexo d(上传)</span><br></pre></td></tr></table></figure><p>然后网站就部署成功了,网址就是:<a href="http://xn--eqr924avxo.github.io">用户名.github.io</a></p><h2 id="基础操作">基础操作</h2><h3 id="一、更改网站资料">一、更改网站资料</h3><p>用记事本打开我们blog文件夹中的_config.yml文件,将#Site下面按自己的需求填上</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">## Site</span><br><span class="line">title: 标题</span><br><span class="line">subtitle: 副标题</span><br><span class="line">description: 描述</span><br><span class="line">keywords: 关键词</span><br><span class="line">author: 站主</span><br><span class="line">language: 语言(可以填写zh-CN)</span><br><span class="line">timezone: 时区(可以填写Asia/Shanghai)</span><br></pre></td></tr></table></figure><h3 id="二、上传文章">二、上传文章</h3><p>在Blog文件夹中打开git bash,输入下方代码就可以生成新的文章md文件</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo new 文章标题</span><br></pre></td></tr></table></figure><p>文章是.md格式,在我们的Blog文件夹中的source/_posts中写好以后,我们还是一样打开git bash生成、上传</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hexo g</span><br><span class="line">hexo d</span><br></pre></td></tr></table></figure><p><strong>注意:以后再更新网站文件要连续输入:</strong></p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo cl</span><br></pre></td></tr></table></figure><p><img src="hexo%20cl.png" alt="运行结果"></p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo g</span><br></pre></td></tr></table></figure><p><img src="hexo%20g.png" alt="运行结果"></p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hexo d</span><br></pre></td></tr></table></figure><p><img src="hexo%20d.png" alt="运行结果"><br>也可以先</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hexo cl</span><br><span class="line">hexo s</span><br></pre></td></tr></table></figure><p>在本地查看</p><h3 id="三、文章中添加图片">三、文章中添加图片</h3><ol><li class="lvl-3"><p>下载插件:</p></li></ol><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-asset-image --save</span><br></pre></td></tr></table></figure><ol start="2"><li class="lvl-3"><p>修改站点配置文件_config.yml<br>把站点配置文件_config.yml中的post_asset_folder选项设为true,这样以后每次执行<code>hexo new aaaa</code>新增文章命令时,都会在<code>_posts</code>目录下生成<code>aaaa.md</code>文章和<code>aaaa</code>文件夹,md文章中引用图片使用相对路径格式,如下:</p></li></ol><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">![<span class="string">logo</span>](<span class="link">aaaa/logo.png</span>)</span><br></pre></td></tr></table></figure><p>这样在vscode编辑模式下既可以正常预览本地图片,同时,在执行完<code>hexo g;hexo s</code>命令运行服务后,网页端也能正常显示本地图片。</p><p>注意,今后如果修改了<code>aaaa.md</code>文件名,记得要同步修改同名文件夹。</p><ol start="3"><li class="lvl-3"><p>修改hexo-asset-image插件的bug<br>如果本地图片还不能正常先试试,说明<code>hexo-asset-image</code>插件的bug仍未修复,需要修改站点目录下<code>node_modules\hexo-asset-image\index.js</code>文件,找到if(/.*/index.html$/.test(link)) { 字段,大概在17行左右,添加对应的else if字段,如下:</p></li></ol><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">if</span>(<span class="regexp">/.*\/index\.html$/</span>.<span class="title function_">test</span>(link)) {</span><br><span class="line"> ...</span><br><span class="line">}</span><br><span class="line"><span class="keyword">else</span> <span class="keyword">if</span> (link.<span class="title function_">charAt</span>(link.<span class="property">length</span> - <span class="number">1</span>) === <span class="string">'/'</span>) {</span><br><span class="line"> <span class="comment">// link 是文件夹路径情形时</span></span><br><span class="line"> <span class="keyword">var</span> endPos = link.<span class="property">length</span> - <span class="number">1</span>;</span><br><span class="line">}</span><br><span class="line"><span class="keyword">else</span> {</span><br><span class="line"> ...</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>找到找到$(‘img’).each(function()){代码段,将其中的</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$(<span class="variable language_">this</span>).<span class="title function_">attr</span>(<span class="string">'src'</span>, config.<span class="property">root</span> + link + src);</span><br><span class="line"><span class="variable language_">console</span>.<span class="property">info</span>&&<span class="variable language_">console</span>.<span class="title function_">info</span>(<span class="string">"update link as:-->"</span>+config.<span class="property">root</span> + link + src);</span><br></pre></td></tr></table></figure><p>改为相对路径引用:(此步可以不改,即generate后的站点采用的是绝对路径引用图片)</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$(<span class="variable language_">this</span>).<span class="title function_">attr</span>(<span class="string">'src'</span>, src);</span><br><span class="line"><span class="variable language_">console</span>.<span class="property">info</span>&&<span class="variable language_">console</span>.<span class="title function_">info</span>(<span class="string">"update link as:-->"</span> + src);</span><br></pre></td></tr></table></figure><p>原文链接:<a href="https://blog.csdn.net/kantaiyang/article/details/129159055">hexo无法显示本地图片的问题</a></p><h3 id="四、切换主题">四、切换主题</h3><p>以butterfly为例</p><ol><li class="lvl-3"><p>在git bash 中输入:</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm i hexo<span class="literal">-theme-butterfly</span></span><br></pre></td></tr></table></figure><p>安装成功后可在node_modules文件夹下找到hexo-theme-butterfly文件夹<br>2. 下载安装pug以及stylus的渲染器,这两个渲染器是Butterfly生成基础页面所需的依赖包</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo<span class="literal">-renderer-pug</span> hexo<span class="literal">-renderer-stylus</span> <span class="literal">--save</span></span><br></pre></td></tr></table></figure><p>在config.yml文件中找到theme项,改为butterfly,然后上传即可其他主题也可以在hexo官方文档中的主题文档中找各自文件的教程</p><p><em>同时为了减少升级主题后带来的不便,请使用以下方法(建议,可以不做,高度魔改的一般都不会升级主题了,不然魔改的会被覆盖掉)把主题文件夹中的 <code>_config.yml</code> 复制到 <code>Hexo</code> 根目录里(我这里路径为【C:/Hexo-Blog/blog-demo】),同时重新命名为 <code>_config.butterfly.yml</code>。以后只需要在 <code>_config.butterfly.yml</code>进行配置即可生效。Hexo会自动合併主题中的<code>_config.yml</code>和 <code>_config.butterfly.yml</code>里的配置,如果存在同名配置,会使用<code>_config.butterfly.yml</code>的配置,其优先度较高。</em></p><h3 id="五、查看插件">五、查看插件</h3><p>在package.json里查看</p><h2 id="进阶操作">进阶操作</h2><h3 id="一、Front-matter">一、Front-matter</h3><p>Front-matter 是 markdown 文件最上方以—分隔的区域,用于指定个别档案的变数。</p><ul class="lvl-0"><li class="lvl-2"><p>Page Front-matter 用于页面配置</p></li><li class="lvl-2"><p>Post Front-matter 用于文章页配置<br><strong>如果标注可选的参数,可根据自己需要添加,不用全部都写</strong></p></li></ul><p><mark><em>Page Front-matter</em>:</mark></p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">--- </span></span><br><span class="line"><span class="attr">title:</span></span><br><span class="line"><span class="attr">date:</span></span><br><span class="line"><span class="attr">updated:</span></span><br><span class="line"><span class="attr">type:</span></span><br><span class="line"><span class="attr">comments:</span></span><br><span class="line"><span class="attr">description:</span></span><br><span class="line"><span class="attr">keywords:</span></span><br><span class="line"><span class="attr">top_img:</span></span><br><span class="line"><span class="attr">mathjax:</span></span><br><span class="line"><span class="attr">katex:</span></span><br><span class="line"><span class="attr">aside:</span></span><br><span class="line"><span class="attr">aplayer:</span></span><br><span class="line"><span class="attr">highlight_shrink:</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><table><thead><tr><th>写法</th><th>解释</th></tr></thead><tbody><tr><td>title</td><td>【必需】页面标题</td></tr><tr><td>date</td><td>【必需】页面创建日期</td></tr><tr><td>type</td><td>【必需】标籤、分类和友情链接三个页面需要配置</td></tr><tr><td>updated</td><td>【可选】页面更新日期</td></tr><tr><td>description</td><td>【可选】页面描述</td></tr><tr><td>keywords</td><td>【可选】页面关键字</td></tr><tr><td>comments</td><td>【可选】显示页面评论模块(默认 true)</td></tr><tr><td>top_img</td><td>【可选】页面顶部图片</td></tr><tr><td>mathjax</td><td>【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false)</td></tr><tr><td>kates</td><td>【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false)</td></tr><tr><td>aside</td><td>【可选】显示侧边栏 (默认 true)</td></tr><tr><td>aplayer</td><td>【可选】在需要的页面加载aplayer的js和css,请参考文章下面的音乐 配置</td></tr><tr><td>highlight_shrink</td><td>【可选】配置代码框是否展开(true/false)(默认为设置中highlight_shrink的配置)</td></tr></tbody></table><p><mark><em>Post Front-matter:</em></mark></p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span></span><br><span class="line"><span class="attr">date:</span></span><br><span class="line"><span class="attr">updated:</span></span><br><span class="line"><span class="attr">tags:</span></span><br><span class="line"><span class="attr">categories:</span></span><br><span class="line"><span class="attr">keywords:</span></span><br><span class="line"><span class="attr">description:</span></span><br><span class="line"><span class="attr">top_img:</span></span><br><span class="line"><span class="attr">comments:</span></span><br><span class="line"><span class="attr">cover:</span></span><br><span class="line"><span class="attr">toc:</span></span><br><span class="line"><span class="attr">toc_number:</span></span><br><span class="line"><span class="attr">toc_style_simple:</span></span><br><span class="line"><span class="attr">copyright:</span></span><br><span class="line"><span class="attr">copyright_author:</span></span><br><span class="line"><span class="attr">copyright_author_href:</span></span><br><span class="line"><span class="attr">copyright_url:</span></span><br><span class="line"><span class="attr">copyright_info:</span></span><br><span class="line"><span class="attr">mathjax:</span></span><br><span class="line"><span class="attr">katex:</span></span><br><span class="line"><span class="attr">aplayer:</span></span><br><span class="line"><span class="attr">highlight_shrink:</span></span><br><span class="line"><span class="attr">aside:</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><table><thead><tr><th>写法</th><th>解释</th></tr></thead><tbody><tr><td>title</td><td>【必需】文章标题</td></tr><tr><td>date</td><td>【必需】文章创建日期</td></tr><tr><td>updated</td><td>【可选】文章更新日期</td></tr><tr><td>tags</td><td>【可选】文章标籤</td></tr><tr><td>categories</td><td>【可选】文章分类</td></tr><tr><td>keywords</td><td>【可选】文章关键字</td></tr><tr><td>description</td><td>【可选】文章描述</td></tr><tr><td>top_img</td><td>【可选】文章顶部图片</td></tr><tr><td>cover</td><td>【可选】文章缩略图(如果没有设置top_img,文章页顶部将显示缩略图,可设为false/图片地址/留空)</td></tr><tr><td>comments</td><td>【可选】显示文章评论模块(默认 true)</td></tr><tr><td>toc</td><td>【可选】显示文章TOC(默认为设置中toc的enable配置)</td></tr><tr><td>toc_number</td><td>【可选】显示toc_number(默认为设置中toc的number配置)</td></tr><tr><td>toc_style_simple</td><td>【可选】显示 toc 简洁模式</td></tr><tr><td>copyright</td><td>【可选】显示文章版权模块(默认为设置中post_copyright的enable配置)</td></tr><tr><td>copyright_author</td><td>【可选】文章版权模块的文章作者</td></tr><tr><td>copyright_author_href</td><td>【可选】文章版权模块的文章作者链接</td></tr><tr><td>copyright_url</td><td>【可选】文章版权模块的文章连结链接</td></tr><tr><td>copyright_info</td><td>【可选】文章版权模块的版权声明文字</td></tr><tr><td>mathjax</td><td>【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false)</td></tr><tr><td>katex</td><td>【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false)</td></tr><tr><td>aplayer</td><td>【可选】在需要的页面加载aplayer的js和css,请参考文章下面的音乐 配置</td></tr><tr><td>highlight_shrink</td><td>【可选】配置代码框是否展开(true/false)(默认为设置中highlight_shrink的配置)</td></tr><tr><td>aside</td><td>【可选】显示侧边栏 (默认 true)</td></tr></tbody></table><h3 id="二、标签页">二、标签页</h3><ol><li class="lvl-3"><p>前往你的 Hexo 博客的根目录</p></li><li class="lvl-3"><p>输入 <code>hexo new page tags</code></p></li><li class="lvl-3"><p>你会找到 source/tags/index.md 这个文件</p></li><li class="lvl-3"><p>添加 type: “tags”</p></li></ol><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">标签</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2018-01-05 00:00:00</span></span><br><span class="line"><span class="attr">type:</span> <span class="string">"tags"</span></span><br><span class="line"><span class="attr">orderby:</span> <span class="string">random</span></span><br><span class="line"><span class="attr">order:</span> <span class="number">1</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><p>orderby:name/random/length,注明排序顺序的<br>order: 1, asc for ascending; -1, desc for descending<br>5. 在你想加标签的博客那里添加标签(记得要换行):</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">tags:</span> </span><br><span class="line"><span class="bullet">-</span> <span class="string">xxx</span></span><br></pre></td></tr></table></figure><h3 id="三、分类页">三、分类页</h3><ol><li class="lvl-3"><p>前往你的 Hexo 博客的根目录</p></li><li class="lvl-3"><p>输入 <code>hexo new page categories</code></p></li><li class="lvl-3"><p>你会找到 source/categories/index.md这个文件</p></li><li class="lvl-3"><p>添加 type: “categories”</p></li></ol><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">分类</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2018-01-05 00:00:00</span></span><br><span class="line"><span class="attr">type:</span> <span class="string">"categories"</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><ol start="5"><li class="lvl-3"><p>在你想加标签的博客那里添加分类(记得要换行):</p></li></ol><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">categories:</span> </span><br><span class="line"><span class="bullet">-</span> <span class="string">xxx</span></span><br></pre></td></tr></table></figure><blockquote><p><strong>tags一篇文章可以选多个,categories一篇文章只能有一个</strong></p></blockquote><h3 id="四、友链">四、友链</h3><ol><li class="lvl-3"><p>前往你的 Hexo 博客的根目录</p></li><li class="lvl-3"><p>输入 <code>hexo new page link</code></p></li><li class="lvl-3"><p>你会找到 source/link/index.md 这个文件</p></li><li class="lvl-3"><p>修改这个文件:</p></li></ol><p>记得添加 type: “link”</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">友情链接</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2018-06-07 22:17:49</span></span><br><span class="line"><span class="attr">type:</span> <span class="string">"link"</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure><p>在Hexo博客目录中的 source/_data(如果没有 _data 文件夹,请自行创建),创建一个文件 link.yml</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="bullet">-</span> <span class="attr">class_name:</span> <span class="string">友情链接</span></span><br><span class="line"> <span class="attr">class_desc:</span> <span class="string">那些人,那些事</span></span><br><span class="line"> <span class="attr">link_list:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Hexo</span></span><br><span class="line"> <span class="attr">link:</span> <span class="string">https://hexo.io/zh-tw/</span></span><br><span class="line"> <span class="attr">avatar:</span> <span class="string">https://d33wubrfki0l68.cloudfront.net/6657ba50e702d84afb32fe846bed54fba1a77add/827ae/logo.svg</span></span><br><span class="line"> <span class="attr">descr:</span> <span class="string">快速、简单且强大的网志框架</span></span><br><span class="line"></span><br><span class="line"><span class="bullet">-</span> <span class="attr">class_name:</span> <span class="string">网站</span></span><br><span class="line"> <span class="attr">class_desc:</span> <span class="string">值得推荐的网站</span></span><br><span class="line"> <span class="attr">link_list:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Youtube</span></span><br><span class="line"> <span class="attr">link:</span> <span class="string">https://www.youtube.com/</span></span><br><span class="line"> <span class="attr">avatar:</span> <span class="string">https://i.loli.net/2020/05/14/9ZkGg8v3azHJfM1.png</span></span><br><span class="line"> <span class="attr">descr:</span> <span class="string">视频网站</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Weibo</span></span><br><span class="line"> <span class="attr">link:</span> <span class="string">https://www.weibo.com/</span></span><br><span class="line"> <span class="attr">avatar:</span> <span class="string">https://i.loli.net/2020/05/14/TLJBum386vcnI1P.png</span></span><br><span class="line"> <span class="attr">descr:</span> <span class="string">中国最大社交分享平台</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Twitter</span></span><br><span class="line"> <span class="attr">link:</span> <span class="string">https://twitter.com/</span></span><br><span class="line"> <span class="attr">avatar:</span> <span class="string">https://i.loli.net/2020/05/14/5VyHPQqR6LWF39a.png</span></span><br><span class="line"> <span class="attr">descr:</span> <span class="string">社交分享平台</span></span><br></pre></td></tr></table></figure><h3 id="五、图库-子页面">五、图库/子页面</h3><p>图库/子页面只是普通的页面,你只需要 <code>hexo n page xxxxx</code> 创建你的页面就行然后使用标签外挂 galleryGroup,具体用法请查看对应的内容</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="string"><div</span> <span class="string">class="gallery-group-main"></span></span><br><span class="line">{<span class="string">%</span> <span class="string">galleryGroup</span> <span class="string">'壁纸'</span> <span class="string">'收藏的一些壁纸'</span> <span class="string">'/Gallery/wallpaper'</span> <span class="string">https://i.loli.net/2019/11/10/T7Mu8Aod3egmC4Q.png</span> <span class="string">%</span>}</span><br><span class="line">{<span class="string">%</span> <span class="string">galleryGroup</span> <span class="string">'漫威'</span> <span class="string">'关于漫威的图片'</span> <span class="string">'/Gallery/marvel'</span> <span class="string">https://i.loli.net/2019/12/25/8t97aVlp4hgyBGu.jpg</span> <span class="string">%</span>}</span><br><span class="line">{<span class="string">%</span> <span class="string">galleryGroup</span> <span class="string">'OH MY GIRL'</span> <span class="string">'关于OH MY GIRL的图片'</span> <span class="string">'/Gallery/ohmygirl'</span> <span class="string">https://i.loli.net/2019/12/25/hOqbQ3BIwa6KWpo.jpg</span> <span class="string">%</span>}</span><br><span class="line"><span class="string"></div></span></span><br></pre></td></tr></table></figure><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">{<span class="string">%</span> <span class="string">gallery</span> <span class="string">%</span>}</span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/Fze9jchtnyJXMHN.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/ryLVePaqkYm4TEK.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/gEy5Zc1Ai6VuO4N.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/d6QHbytlSYO4FBG.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/6nepIJ1xTgufatZ.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/E7Jvr4eIPwUNmzq.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/mh19anwBSWIkGlH.jpg)</span></span><br><span class="line"><span class="type">![](https://i.loli.net/2019/12/25/2tu9JC8ewpBFagv.jpg)</span></span><br><span class="line">{<span class="string">%</span> <span class="string">endgallery</span> <span class="string">%</span>}</span><br></pre></td></tr></table></figure><h3 id="六、markdown拓展">六、markdown拓展</h3><p>hexo不支持Markdown的部分语法,比如表情包,所以需要安装其他插件</p><ol><li class="lvl-3"><p>安装:</p></li></ol><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">npm un hexo<span class="literal">-renderer-marked</span> <span class="literal">--save</span></span><br><span class="line">npm i hexo<span class="literal">-renderer-markdown-it</span> <span class="literal">--save</span></span><br><span class="line">npm install markdown<span class="literal">-it-emoji</span> <span class="literal">--save</span></span><br><span class="line">npm i markdown<span class="literal">-it-checkbox</span></span><br><span class="line">npm i markdown<span class="literal">-it-imsize</span></span><br><span class="line">npm i markdown<span class="literal">-it-expandable</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><ol start="2"><li class="lvl-3"><p>配置<code>_config.yml</code>文件:</p></li></ol><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">## markdown 渲染引擎配置,默认是hexo-renderer-marked,这个插件渲染速度更快,且有新特性</span></span><br><span class="line"><span class="attr">markdown:</span></span><br><span class="line"> <span class="attr">render:</span></span><br><span class="line"> <span class="attr">html:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">xhtmlOut:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">breaks:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">linkify:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">typographer:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">quotes:</span> <span class="string">'“”‘’'</span></span><br><span class="line"> <span class="attr">plugins:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-footnote</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-sup</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-sub</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-abbr</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-emoji</span></span><br><span class="line"> <span class="attr">anchors:</span></span><br><span class="line"> <span class="attr">level:</span> <span class="number">2</span></span><br><span class="line"> <span class="attr">collisionSuffix:</span> <span class="string">'v'</span></span><br><span class="line"> <span class="attr">permalink:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">permalinkClass:</span> <span class="string">header-anchor</span></span><br><span class="line"> <span class="attr">permalinkSymbol:</span> <span class="string">¶</span></span><br></pre></td></tr></table></figure><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">markdown:</span></span><br><span class="line"> <span class="attr">preset:</span> <span class="string">"default"</span></span><br><span class="line"> <span class="attr">render:</span></span><br><span class="line"> <span class="attr">html:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">xhtmlOut:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">langPrefix:</span> <span class="string">"language-"</span></span><br><span class="line"> <span class="attr">breaks:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">linkify:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">typographer:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">quotes:</span> <span class="string">"“”‘’"</span></span><br><span class="line"> <span class="attr">enable_rules:</span></span><br><span class="line"> <span class="attr">disable_rules:</span></span><br><span class="line"> <span class="attr">plugins:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-abbr</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-cjk-breaks</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-deflist</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-emoji</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-footnote</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-ins</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-mark</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-sub</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-sup</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-checkbox</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-imsize</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">markdown-it-expandable</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">markdown-it-container</span></span><br><span class="line"> <span class="attr">options:</span> <span class="string">success</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">markdown-it-container</span></span><br><span class="line"> <span class="attr">options:</span> <span class="string">tips</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">markdown-it-container</span></span><br><span class="line"> <span class="attr">options:</span> <span class="string">warning</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">markdown-it-container</span></span><br><span class="line"> <span class="attr">options:</span> <span class="string">danger</span></span><br><span class="line"> <span class="attr">anchors:</span></span><br><span class="line"> <span class="attr">level:</span> <span class="number">2</span></span><br><span class="line"> <span class="attr">collisionSuffix:</span> <span class="string">""</span></span><br><span class="line"> <span class="attr">permalink:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">permalinkClass:</span> <span class="string">"header-anchor"</span></span><br><span class="line"> <span class="attr">permalinkSide:</span> <span class="string">"left"</span></span><br><span class="line"> <span class="attr">permalinkSymbol:</span> <span class="string">"¶"</span></span><br><span class="line"> <span class="attr">case:</span> <span class="number">0</span></span><br><span class="line"> <span class="attr">separator:</span> <span class="string">"-"</span></span><br></pre></td></tr></table></figure><p><em>参考<a href="https://blog.csdn.net/qq_42951560/article/details/123596899?fromshare=blogdetail&sharetype=blogdetail&sharerId=123596899&sharerefer=PC&sharesource=2301_79960298&sharefrom=from_link">【Hexo】选择更高级的Markdown渲染器</a></em></p><h3 id="七、butterfly主题外挂标签">七、butterfly主题外挂标签</h3><p>可以参考这位大佬的文章:<br><a href="https://www.fomal.cc/posts/2013454d.html">Markdown语法与外挂标签写法汇总</a></p><p>先列出几个我感觉比较惊艳的:</p><ol><li class="lvl-3"><p>Note</p></li></ol><div class="note flat"><p>默认 提示块标签</p></div><div class="note default flat"><p>default 提示块标签</p></div><div class="note primary flat"><p>primary 提示块标签</p></div><div class="note success flat"><p>success 提示块标签</p></div><div class="note info flat"><p>info 提示块标签</p></div><div class="note warning flat"><p>warning 提示块标签</p></div><div class="note danger flat"><p>danger 提示块标签</p></div><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">{% note flat %}默认 提示块标签{% endnote %}</span><br><span class="line">{% note default flat %}default 提示块标签{% endnote %}</span><br><span class="line">{% note primary flat %}primary 提示块标签{% endnote %}</span><br><span class="line">{% note success flat %}success 提示块标签{% endnote %}</span><br><span class="line">{% note info flat %}info 提示块标签{% endnote %}</span><br><span class="line">{% note warning flat %}warning 提示块标签{% endnote %}</span><br><span class="line">{% note danger flat %}danger 提示块标签{% endnote %}</span><br></pre></td></tr></table></figure><h3 id="八、Latex公式">八、Latex公式</h3><p>在_config.butterfly.yml文件中更改以下配置:</p><figure class="highlight yml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># MathJax</span></span><br><span class="line"><span class="attr">mathjax:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">per_page:</span> <span class="literal">true</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># KaTeX</span></span><br><span class="line"><span class="attr">katex:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">per_page:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">hide_scrollbar:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure><p>mathjax和Katex只能设一个为true,注意嵌入数学公式时一定要<code>$$+enter</code>后再输入,<code>$$</code>和你的Latex代码在同一行会无法渲染,而vscode上的markdown插件由于包容性太好所以看不出这个问题,建议喜欢在vscode上写Markdown的同志可以下个typora检查,typora的渲染引擎更接近Hexo的渲染引擎。参考:<br><a href="https://blog.csdn.net/qq_27489877/article/details/140649135?fromshare=blogdetail&sharetype=blogdetail&sharerId=140649135&sharerefer=PC&sharesource=Langrange_Pluto&sharefrom=from_link">butterfly主题插入数学公式LaTeX</a></p><h3 id="九、嵌入PDF">九、嵌入PDF</h3><p>下载<code>Hexo-PDF</code>插件,输入命令如下:</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install <span class="literal">--save</span> hexo<span class="literal">-pdf</span></span><br></pre></td></tr></table></figure><p>将待嵌入pdf文件放在与md文档同名文件夹下,通过以下命令嵌入</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">{% pdf document_name.pdf %}</span><br></pre></td></tr></table></figure><p>参考文章:<a href="https://blog.justlovesmile.top/posts/7376.html">Hexo竟然可以展示PDF</a></p><h2 id="主题配置">主题配置</h2><p>直接看大佬写的教程吧<s>因为我懒</s>,注意一下有些功能要下插件就行了<br><a href="https://www.fomal.cc/posts/3451f874.html">https://www.fomal.cc/posts/3451f874.html</a> 和 <a href="https://butterfly.js.org/posts/4aa8abbe/">https://butterfly.js.org/posts/4aa8abbe/</a></p><h2 id="问题">问题</h2><ol><li class="lvl-3"><p>如果碰到:<code>fatal: unable to access 'https://github.com/Hamilton2718/Hamilton.github.io.git/': Failed to connect to github.com port 443 after 21075 ms: Couldn't connect to server</code>问题,可以参考这篇-><br><a href="https://blog.csdn.net/m0_63230155/article/details/132070860">完美解决 git报错fatal: unable to access ‘https://github.com/…/.git‘:Recv failure Connection was reset</a></p></li><li class="lvl-3"><p>如果碰到:<code>the remote end hung up unexpectedly</code>问题可以参考,这篇-><br><a href="https://blog.csdn.net/m0_52096593/article/details/129385459?fromshare=blogdetail&sharetype=blogdetail&sharerId=129385459&sharerefer=PC&sharesource=2301_79960298&sharefrom=from_link">杂记——19.git上传时出现the remote end hung up unexpectedly错误</a></p></li><li class="lvl-3"><p>如果好久没用hexo有一天打开之后发现出现<code>bash: hexo: command not found</code>参考这篇-><br><a href="https://itrhx.blog.csdn.net/article/details/100411949?fromshare=blogdetail&sharetype=blogdetail&sharerId=100411949&sharerefer=PC&sharesource=2301_79960298&sharefrom=from_link">完美解决 bash: hexo: command not found</a></p></li></ol>]]></content>
<categories>
<category> 搭建网站 </category>
</categories>
<tags>
<tag> Hexo </tag>
</tags>
</entry>
<entry>
<title>多文件编译</title>
<link href="/2024/06/28/%E5%A4%9A%E6%96%87%E4%BB%B6%E7%BC%96%E8%AF%91/"/>
<url>/2024/06/28/%E5%A4%9A%E6%96%87%E4%BB%B6%E7%BC%96%E8%AF%91/</url>
<content type="html"><![CDATA[<h1>一.文件组成:</h1><ul class="lvl-0"><li class="lvl-2">.h头文件,存放用到的库文件、各种函数声明、宏定义</li><li class="lvl-2">.c源文件,存放代码,大致分为main.c和其他function.c,main.c放main函数,同时要引用头文件</li><li class="lvl-2">Makefile文件</li></ul><h1>二. Makefile的基本语法(少用)</h1><ul class="lvl-0"><li class="lvl-2"><p><strong>变量定义</strong>:在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点像C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。</p></li><li class="lvl-2"><p><strong>显式规则</strong>:显式规则说明了如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 刚才写的全部都是显示规则。</p></li><li class="lvl-2"><p><strong>隐晦规则</strong>:由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。</p></li><li class="lvl-2"><p><strong>文件指示</strong>:其包括了三个部分: 一个是在一个Makefile中引用另一个Makefile, 就像C语言中的include一样; 另一个是指根据某些情况指定Makefile中的有效部分, 就像C语言中的预编译#if一样; 还有就是定义一个多行的命令.</p></li><li class="lvl-2"><p><strong>注释</strong>:与python相同,#后面的均是注释内容</p></li><li class="lvl-2"><p><strong>一些预定义变量的介绍</strong>:</p><ul class="lvl-2"><li class="lvl-4">$* 不包含扩展名的目标文件名称。</li><li class="lvl-4">$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。</li><li class="lvl-4">$< 第一个依赖文件的名称。</li><li class="lvl-4">$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。</li><li class="lvl-4">$@ 目标的完整名称。</li><li class="lvl-4">$^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。</li><li class="lvl-4">$% 如果目标是归档成员,则该变量表示目标的归档成员名称</li></ul></li><li class="lvl-2"><p><strong>参考代码</strong>:</p></li></ul><figure class="highlight makefile"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">CXX = gcc <span class="comment">#确定编译器是gcc,先把它写在一个变量里,后面如果想要改编译器的话直接改CXX这个变量的value就可以</span></span><br><span class="line">TARGET = main <span class="comment">#确定最后生成可执行文件的名称,也是方便后续更改所以放在一个变量里</span></span><br><span class="line">SRC = <span class="variable">$(<span class="built_in">wildcard</span> *.c)</span> <span class="comment">#开始抽象了,这里wildcard是通配符,表示“*”这个符号具有通配符的功能,*.c可以表示当前目录下的所有.c文件,$()表示括号内的内容是SRC所表示的部分</span></span><br><span class="line">OBJ = <span class="variable">$(<span class="built_in">patsubst</span> %.c, %.o, <span class="variable">$(SRC)</span>)</span> <span class="comment">#更抽象了,这里patsubst是一个把SRC中所有的.c文件替换成.o文件的函数</span></span><br><span class="line"></span><br><span class="line">CXXFLAGS = -c -Wall <span class="comment">#这句话的意思是用CXXFLAGS这个变量去替换-c -Wall这两个命令,-c是编译compile,-Wall是显示所有的warning(例如变量未使用之类的)</span></span><br><span class="line"></span><br><span class="line"><span class="variable">$(TARGET)</span>: <span class="variable">$(OBJ)</span> <span class="comment">#这两行的意思是,TARGET是依赖于OBJ的,也就是最后的.exe文件依赖于所有的.o文件,下面的$@表示目标文件,$^表示所有的依赖文件,%<表示第一个依赖文件,这两行翻译过来就是:gcc main.c print.c print1.c -c,也就是把所有的.c文件全都编译</span></span><br><span class="line"> <span class="variable">$(CXX)</span> -o <span class="variable">$@</span> <span class="variable">$^</span></span><br><span class="line"><span class="comment">#这两行翻译过来就是:gcc -c -Wall main.o print.o print1.o -o main</span></span><br><span class="line"><span class="section">%.o: %.c </span></span><br><span class="line"> <span class="variable">$(CXX)</span> <span class="variable">$(CXXFLAGS)</span> <span class="variable">$<</span> -o <span class="variable">$@</span></span><br><span class="line"><span class="comment">#.PHONY表示后面那个目标(这里就是clean)是个伪文件目标,也就是说它没有依赖文件,是一个只执行的命令,不会出现对应的clean文件</span></span><br><span class="line"><span class="meta"><span class="keyword">.PHONY</span>: clean </span></span><br><span class="line"><span class="comment">#说明clean这个命令具体要干什么事情,下面那一行表示把TARGET下所有的.o文件都删除,方便下一次更改文件后重新编译</span></span><br><span class="line"><span class="section">clean:</span></span><br><span class="line"> rm -f *.o <span class="variable">$(TARGET)</span></span><br></pre></td></tr></table></figure><h1>三.Cmake(用的多)</h1><p><strong>1. 创建项目,项目结构一般包含:</strong></p><ul class="lvl-0"><li class="lvl-4"><p>.vscode</p></li><li class="lvl-4"><p>bin文件夹 存放二进制文件</p></li><li class="lvl-4"><p>build文件夹 存放编译过程中产生的中间文件</p></li><li class="lvl-4"><p>doc文件夹 存放相关文档</p></li><li class="lvl-4"><p>inc文件夹 存放头文件(.h文件)</p></li><li class="lvl-4"><p>lib文件夹 存放库文件</p></li><li class="lvl-4"><p>src文件夹 存放源代码文件(.c文件)</p></li><li class="lvl-4"><p>CMakeLists.txt Cmake配置文件</p></li></ul><p><strong>2.创建CMakelists.txt,内容可以参考如下:</strong></p><figure class="highlight cmake"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">cmake_minimum_required</span>(VERSION <span class="number">3.10</span>)<span class="comment">#最小版本要求</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">project</span> (main)</span><br><span class="line"></span><br><span class="line"><span class="keyword">set</span> (EXECUTABLE_OUTPUT_PATH <span class="variable">${PROJECT_SOURCE_DIR}</span>/bin)</span><br><span class="line"></span><br><span class="line"><span class="keyword">aux_source_directory</span> (src SRC_LIST)</span><br><span class="line"></span><br><span class="line"><span class="keyword">include_directories</span> (inc)</span><br><span class="line"></span><br><span class="line"><span class="keyword">add_executable</span> (main <span class="variable">${SRC_LIST}</span>)</span><br></pre></td></tr></table></figure><p><strong>3. 在cmake插件的状态栏里点击“生成”,然后”在终端中运行</strong><br><strong>4.上传github仓库:</strong></p><h2 id="法一:git上传">法一:git上传</h2><p>先在指定文件夹中git bash here:</p><ol><li class="lvl-3"><p>将远程仓库的文件拷贝到本地使用命令:<br>git clone 链接</p></li><li class="lvl-3"><p>上传文件到仓库:<br>git add .<br>git commit -m ‘注释’<br>git push -u origin main</p></li></ol><h2 id="法二:gitlens插件">法二:gitlens插件</h2><ol><li class="lvl-3"><p>打开状态栏的gitlens插件,加号将更改暂存</p></li><li class="lvl-3"><p>点提交后同步即可<br>gitlens使上传速率大大提高,并图形化了过程</p></li></ol><h2 id="法三:githubdesktop">法三:githubdesktop</h2><p>直接在githubdesktop里打开对应的仓库的文件夹。文件有变动之后add、commit、push即可</p>]]></content>
<categories>
<category> 技术 </category>
</categories>
<tags>
<tag> 课外知识 </tag>
<tag> CS </tag>
</tags>
</entry>
<entry>
<title>分类</title>
<link href="/categories/index.html"/>
<url>/categories/index.html</url>
<content type="html"><![CDATA[]]></content>
</entry>
<entry>
<title>标签</title>
<link href="/tags/index.html"/>
<url>/tags/index.html</url>
<content type="html"><![CDATA[]]></content>
</entry>
<entry>
<title>大佬友链聚集地</title>
<link href="/link/index.html"/>
<url>/link/index.html</url>
<content type="html"><![CDATA[]]></content>
</entry>
</search>