├── .gitignore ├── README.md ├── doc └── README.md ├── img ├── Demo_Insert_Codes.gif ├── Demo_Insert_Equations.gif ├── Demo_Set_LineNum_Step.gif ├── README.md ├── img_form.pptx └── 效果图.jpg ├── src ├── Equation_and_Code.sln └── Equation_and_Code │ ├── Equation_and_Code.csproj │ ├── Equation_and_Code.csproj.user │ ├── Equation_and_Code_TemporaryKey.pfx │ ├── Forms │ ├── Form_About.Designer.cs │ ├── Form_About.cs │ └── Form_About.resx │ ├── Highlight │ ├── callee.html │ ├── highlight.js │ ├── highlight.min.js │ └── styles │ │ └── vs.css │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── Resources │ ├── icon.jpg │ ├── icons8_bilibili_480px.png │ ├── icons8_github_512px.png │ ├── icons8_google_code_480px.png │ └── icons8_zhihu_512px_1.png │ ├── Ribbons │ ├── Main_Ribbon.Designer.cs │ ├── Main_Ribbon.cs │ ├── Main_Ribbon.resx │ └── icons │ │ ├── ASCII.jpg │ │ ├── About.wmf │ │ ├── FarEast.jpg │ │ ├── InsertCode.wmf │ │ ├── InsertEquation.wmf │ │ ├── InsertFieldCode.wmf │ │ ├── delta.jpg │ │ └── size.jpg │ ├── ThisAddIn.Designer.cs │ ├── ThisAddIn.Designer.xml │ ├── ThisAddIn.cs │ └── app.config └── utils ├── 32.reg └── 64.reg /.gitignore: -------------------------------------------------------------------------------- 1 | # 编译的产物及中间产物 2 | bin/ 3 | obj/ 4 | 5 | # IDE 中间文件 6 | .vs/ 7 | .vocode/ 8 | 9 | .DS_Store 10 | build 11 | docs/_build 12 | __pycache__ 13 | *.swp 14 | node_modules 15 | .project 16 | yarn.lock 17 | extra/ 18 | 19 | # editors 20 | .idea/ 21 | .vscode/ 22 | .Rproj.user 23 | 24 | # misc 25 | /work 26 | 27 | # Ignore NuGet Packages 28 | *.nupkg 29 | 30 | # The packages folder can be ignored because of Package Restore 31 | **/[Pp]ackages/* 32 | 33 | # except build/, which is used as an MSBuild target. 34 | !**/[Pp]ackages/build/ 35 | 36 | # Uncomment if necessary however generally it will be regenerated when needed 37 | #!**/[Pp]ackages/repositories.config 38 | 39 | # NuGet v3's project.json files produces more ignorable files 40 | *.nuget.props 41 | *.nuget.targets 42 | 43 | # Ignore other intermediate files that NuGet might create. project.lock.json is used in conjunction 44 | # with project.json (NuGet v3); project.assets.json is used in conjunction with the PackageReference 45 | # format (NuGet v4 and .NET Core). 46 | project.lock.json 47 | project.assets.json 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 关于本插件 2 | 3 | ![软件效果](img/效果图.jpg) 4 | 5 | GitHub 链接:https://github.com/LittleNewton/Equation_and_Codebox 6 | 7 | 这是一个 Word VSTO 插件,用来进行以下操作: 8 | 9 | - 插入带编号的公式 10 | - 插入代码表格 11 | 12 | 需要有以下支持: 13 | 14 | - 安装 Iosevka 字体 (必须,该字体是默认字体),[点此下载](https://github.com/be5invis/Iosevka/releases/download/v24.1.1/super-ttc-iosevka-24.1.1.zip)。 15 | - 安装 Latin Modern Mono 10 字体 16 | - 安装 Latin Modern Math 字体 (必须),[点此下载](http://mirrors.ctan.org/fonts/lm-math/opentype/latinmodern-math.otf)。 17 | - Office 2013 及之后的更新的版本 18 | 19 | ## 1. 编译方法(开发者必看) 20 | 21 | 本插件基于 Visual Studio 2022 开发。 22 | 23 | 用 Visual Studio 2022 打开 `src/Equation and Code.sln` 即可对本项目进行更改、编译。 24 | 25 | 使用 VSTO Word 开发 SDK,需要用 Visual Studio Installer 获取相应 SDK。 26 | 27 | ## 2. 安装方法 28 | 29 | ### 2.1 安装 reg 注册表文件 30 | 31 | 首先双击 `utils` 文件夹内的两个 reg 文件,选择安装。 32 | 33 | ``` txt 34 | 32.reg 35 | 64.reg 36 | ``` 37 | 38 | 这么做是为了规避 Windows 的安全审查机制。因为软件作者目前没有微软开发者证书,所以编译的软件不能直接安装。导入上述两个 reg 注册表项之后,将可自由安装。 39 | 40 | ### 2.2 安装 vsto 文件 41 | 42 | 下载最新版 release,然后解压 v0.2.zip 这个压缩包。双击其中的`公式与代码.vsto`文件即可安装。 43 | 44 | > **注意:此步骤必须保证 Word 软件处于关闭状态。** 45 | 46 | ## 3. 使用方法 47 | 48 | 详细使用方法,请参考哔哩哔哩的[视频](https://www.bilibili.com/video/BV1f5411p7pN/)。 49 | 50 | 上述视频可能不是有关本插件的最新教程,但是可以帮助用户快速上手。 51 | 52 | ### 3.1 插入公式 53 | 54 | 在节标题的后面插入【域代码】,是公式编号的**必要条件**。 55 | 56 | ![插入公式](img/Demo_Insert_Equations.gif) 57 | 58 | ### 3.2 插入代码 59 | 60 | 插入代码,需要首先将要插入的代码的【纯文本】复制到剪贴板。 61 | 62 | > 最后必须有个**空行**。 63 | 64 | #### 3.2.1 插入普通代码 65 | 66 | 行号的步长默认为 1 67 | 68 | ![插入代码](img/Demo_Insert_Codes.gif) 69 | 70 | > 比较推荐使用这个方式。该方式不会限制行的字符数,面对超长的行时,软件会自动换行。 71 | 72 | #### 3.2.2 自主设置行号的步长 73 | 74 | 用户可以自主设置行号步长。如下图所示。**该功能现已支持中英文字符混合的代码,且不再对单行文本长度做限制。** 75 | 76 | ![自主设置步长](img/Demo_Set_LineNum_Step.gif) 77 | 78 | ## 4. 开源许可 79 | 80 | 本软件遵循 MIT 开源许可。 81 | -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- 1 | # 项目文档 2 | 3 | ## 如何使用 4 | 5 | ## 如何编译 6 | 7 | ## 如何成为开发者 8 | 9 | ## 如何提交 bug/feedback 10 | 11 | 请直接在 GitHub 的 Repository 界面里,找到 Issue 栏目,开 Issue 讨论。 12 | 13 | 中英文皆可。 14 | -------------------------------------------------------------------------------- /img/Demo_Insert_Codes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/img/Demo_Insert_Codes.gif -------------------------------------------------------------------------------- /img/Demo_Insert_Equations.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/img/Demo_Insert_Equations.gif -------------------------------------------------------------------------------- /img/Demo_Set_LineNum_Step.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/img/Demo_Set_LineNum_Step.gif -------------------------------------------------------------------------------- /img/README.md: -------------------------------------------------------------------------------- 1 | # 图片 2 | 3 | 此文件夹存放与本项目相关但与源代码项目中的 Resources 无关的图片。 4 | 5 | 更改本项目中的图片,将不会对编译结果产生任何影响。 6 | -------------------------------------------------------------------------------- /img/img_form.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/img/img_form.pptx -------------------------------------------------------------------------------- /img/效果图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/img/效果图.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.0.32014.148 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equation_and_Code", "Equation_and_Code\Equation_and_Code.csproj", "{0948E332-E500-4E60-8A4A-F8D6469C435A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {0948E332-E500-4E60-8A4A-F8D6469C435A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {0948E332-E500-4E60-8A4A-F8D6469C435A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {0948E332-E500-4E60-8A4A-F8D6469C435A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {0948E332-E500-4E60-8A4A-F8D6469C435A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {297DC81A-F8A5-46FC-840D-80CBCC36FF09} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Equation_and_Code.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 20 | 21 | {BAA0C2D2-18E2-41B9-852F-F413020CAA33};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 22 | Debug 23 | AnyCPU 24 | {0948E332-E500-4E60-8A4A-F8D6469C435A} 25 | Library 26 | false 27 | Equation_and_Code 28 | Equation_and_Code 29 | v4.8.1 30 | VSTO40 31 | 32 | 33 | 34 | False 35 | true 36 | publish\ 37 | 38 | en 39 | 1.0.0.0 40 | true 41 | true 42 | 7 43 | days 44 | Equation_and_Code 45 | 46 | 47 | Equation_and_Code 48 | 49 | 3 50 | 51 | 52 | 53 | False 54 | Microsoft .NET Framework 4.6 %28x86 and x64%29 55 | true 56 | 57 | 58 | False 59 | Microsoft .NET Framework 4.8 %28x86 and x64%29 60 | true 61 | 62 | 63 | False 64 | .NET Framework 3.5 SP1 65 | false 66 | 67 | 68 | False 69 | Microsoft Visual Studio 2010 Tools for Office Runtime %28x86 and x64%29 70 | true 71 | 72 | 73 | 74 | 78 | Word 79 | 80 | 96 | 97 | true 98 | full 99 | false 100 | bin\Debug\ 101 | false 102 | $(DefineConstants);DEBUG;TRACE 103 | 4 104 | 105 | 121 | 122 | pdbonly 123 | true 124 | bin\Release\ 125 | false 126 | $(DefineConstants);TRACE 127 | 4 128 | 129 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | False 153 | 154 | 155 | False 156 | 157 | 158 | False 159 | 160 | 161 | False 162 | 163 | 164 | False 165 | 166 | 167 | 168 | 169 | True 170 | 171 | 172 | 173 | 174 | False 175 | true 176 | 177 | 178 | False 179 | true 180 | 181 | 182 | False 183 | 184 | 185 | 195 | 196 | 197 | Form 198 | 199 | 200 | Form_About.cs 201 | 202 | 203 | Code 204 | 205 | 206 | Form_About.cs 207 | 208 | 209 | ResXFileCodeGenerator 210 | Designer 211 | Resources.Designer.cs 212 | 213 | 214 | Main_Ribbon.cs 215 | 216 | 217 | 218 | 219 | SettingsSingleFileGenerator 220 | Settings.Designer.cs 221 | 222 | 223 | True 224 | True 225 | Resources.resx 226 | 227 | 228 | True 229 | Settings.settings 230 | True 231 | 232 | 233 | Component 234 | 235 | 236 | Main_Ribbon.cs 237 | 238 | 239 | Code 240 | 241 | 242 | ThisAddIn.cs 243 | 244 | 245 | ThisAddIn.Designer.xml 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 10.0 266 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 267 | 268 | 269 | true 270 | 271 | 272 | Equation_and_Code_TemporaryKey.pfx 273 | 274 | 275 | 3E536D2D6E2EEFE9968EF21C03B9797C36F1C3E8 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Equation_and_Code.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Equation_and_Code_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Equation_and_Code_TemporaryKey.pfx -------------------------------------------------------------------------------- /src/Equation_and_Code/Forms/Form_About.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Equation_and_Code.Form_About { 3 | partial class Form_About { 4 | /// 5 | /// Required designer variable. 6 | /// 7 | private System.ComponentModel.IContainer components = null; 8 | 9 | /// 10 | /// Clean up any resources being used. 11 | /// 12 | /// true if managed resources should be disposed; otherwise, false. 13 | protected override void Dispose(bool disposing) { 14 | if (disposing && (components != null)) { 15 | components.Dispose(); 16 | } 17 | base.Dispose(disposing); 18 | } 19 | 20 | #region Windows Form Designer generated code 21 | 22 | /// 23 | /// Required method for Designer support - do not modify 24 | /// the contents of this method with the code editor. 25 | /// 26 | private void InitializeComponent() { 27 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form_About)); 28 | this.panel1 = new System.Windows.Forms.Panel(); 29 | this.pictureBox1 = new System.Windows.Forms.PictureBox(); 30 | this.panel2 = new System.Windows.Forms.Panel(); 31 | this.label1 = new System.Windows.Forms.Label(); 32 | this.logo_zhihu = new System.Windows.Forms.PictureBox(); 33 | this.logo_github = new System.Windows.Forms.PictureBox(); 34 | this.logo_bilibili = new System.Windows.Forms.PictureBox(); 35 | this.richTextBox1 = new System.Windows.Forms.RichTextBox(); 36 | this.panel1.SuspendLayout(); 37 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); 38 | this.panel2.SuspendLayout(); 39 | ((System.ComponentModel.ISupportInitialize)(this.logo_zhihu)).BeginInit(); 40 | ((System.ComponentModel.ISupportInitialize)(this.logo_github)).BeginInit(); 41 | ((System.ComponentModel.ISupportInitialize)(this.logo_bilibili)).BeginInit(); 42 | this.SuspendLayout(); 43 | // 44 | // panel1 45 | // 46 | this.panel1.Controls.Add(this.pictureBox1); 47 | this.panel1.Dock = System.Windows.Forms.DockStyle.Top; 48 | this.panel1.Location = new System.Drawing.Point(0, 0); 49 | this.panel1.Name = "panel1"; 50 | this.panel1.Size = new System.Drawing.Size(1712, 148); 51 | this.panel1.TabIndex = 0; 52 | // 53 | // pictureBox1 54 | // 55 | this.pictureBox1.Image = global::Equation_and_Code.Properties.Resources.icon; 56 | this.pictureBox1.Location = new System.Drawing.Point(41, 13); 57 | this.pictureBox1.Name = "pictureBox1"; 58 | this.pictureBox1.Size = new System.Drawing.Size(137, 128); 59 | this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 60 | this.pictureBox1.TabIndex = 0; 61 | this.pictureBox1.TabStop = false; 62 | // 63 | // panel2 64 | // 65 | this.panel2.Controls.Add(this.label1); 66 | this.panel2.Controls.Add(this.logo_zhihu); 67 | this.panel2.Controls.Add(this.logo_github); 68 | this.panel2.Controls.Add(this.logo_bilibili); 69 | this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; 70 | this.panel2.Location = new System.Drawing.Point(0, 778); 71 | this.panel2.Name = "panel2"; 72 | this.panel2.Size = new System.Drawing.Size(1712, 166); 73 | this.panel2.TabIndex = 1; 74 | // 75 | // label1 76 | // 77 | this.label1.AutoSize = true; 78 | this.label1.Font = new System.Drawing.Font("Century Gothic", 10.125F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 79 | this.label1.Location = new System.Drawing.Point(35, 72); 80 | this.label1.Name = "label1"; 81 | this.label1.Size = new System.Drawing.Size(865, 33); 82 | this.label1.TabIndex = 1; 83 | this.label1.Text = "Copyrights 2023. All rights reserved by Peng Liu, aka. littlenewton."; 84 | // 85 | // logo_zhihu 86 | // 87 | this.logo_zhihu.Image = global::Equation_and_Code.Properties.Resources.icons8_zhihu_512px_1; 88 | this.logo_zhihu.Location = new System.Drawing.Point(1574, 49); 89 | this.logo_zhihu.Name = "logo_zhihu"; 90 | this.logo_zhihu.Size = new System.Drawing.Size(91, 85); 91 | this.logo_zhihu.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 92 | this.logo_zhihu.TabIndex = 0; 93 | this.logo_zhihu.TabStop = false; 94 | this.logo_zhihu.Click += new System.EventHandler(this.logo_zhihu_Click); 95 | // 96 | // logo_github 97 | // 98 | this.logo_github.Image = global::Equation_and_Code.Properties.Resources.icons8_github_512px; 99 | this.logo_github.Location = new System.Drawing.Point(1450, 49); 100 | this.logo_github.Name = "logo_github"; 101 | this.logo_github.Size = new System.Drawing.Size(91, 85); 102 | this.logo_github.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 103 | this.logo_github.TabIndex = 0; 104 | this.logo_github.TabStop = false; 105 | this.logo_github.Click += new System.EventHandler(this.logo_github_Click); 106 | // 107 | // logo_bilibili 108 | // 109 | this.logo_bilibili.Image = global::Equation_and_Code.Properties.Resources.icons8_bilibili_480px; 110 | this.logo_bilibili.Location = new System.Drawing.Point(1321, 49); 111 | this.logo_bilibili.Name = "logo_bilibili"; 112 | this.logo_bilibili.Size = new System.Drawing.Size(91, 85); 113 | this.logo_bilibili.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; 114 | this.logo_bilibili.TabIndex = 0; 115 | this.logo_bilibili.TabStop = false; 116 | this.logo_bilibili.Click += new System.EventHandler(this.logo_bilibili_Click); 117 | // 118 | // richTextBox1 119 | // 120 | this.richTextBox1.Font = new System.Drawing.Font("Century Gothic", 10.1F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 121 | this.richTextBox1.Location = new System.Drawing.Point(41, 185); 122 | this.richTextBox1.Name = "richTextBox1"; 123 | this.richTextBox1.Size = new System.Drawing.Size(1628, 555); 124 | this.richTextBox1.TabIndex = 2; 125 | this.richTextBox1.Text = resources.GetString("richTextBox1.Text"); 126 | // 127 | // Form_About 128 | // 129 | this.AutoScaleDimensions = new System.Drawing.SizeF(16F, 33F); 130 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 131 | this.BackColor = System.Drawing.Color.White; 132 | this.ClientSize = new System.Drawing.Size(1712, 944); 133 | this.Controls.Add(this.richTextBox1); 134 | this.Controls.Add(this.panel2); 135 | this.Controls.Add(this.panel1); 136 | this.Font = new System.Drawing.Font("Century Gothic", 10.125F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 137 | this.HelpButton = true; 138 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 139 | this.Margin = new System.Windows.Forms.Padding(8, 9, 8, 9); 140 | this.Name = "Form_About"; 141 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 142 | this.Text = "About"; 143 | this.panel1.ResumeLayout(false); 144 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); 145 | this.panel2.ResumeLayout(false); 146 | this.panel2.PerformLayout(); 147 | ((System.ComponentModel.ISupportInitialize)(this.logo_zhihu)).EndInit(); 148 | ((System.ComponentModel.ISupportInitialize)(this.logo_github)).EndInit(); 149 | ((System.ComponentModel.ISupportInitialize)(this.logo_bilibili)).EndInit(); 150 | this.ResumeLayout(false); 151 | 152 | } 153 | 154 | #endregion 155 | 156 | private System.Windows.Forms.Panel panel1; 157 | private System.Windows.Forms.Panel panel2; 158 | private System.Windows.Forms.PictureBox logo_bilibili; 159 | private System.Windows.Forms.PictureBox logo_zhihu; 160 | private System.Windows.Forms.PictureBox logo_github; 161 | private System.Windows.Forms.PictureBox pictureBox1; 162 | private System.Windows.Forms.Label label1; 163 | private System.Windows.Forms.RichTextBox richTextBox1; 164 | } 165 | } -------------------------------------------------------------------------------- /src/Equation_and_Code/Forms/Form_About.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace Equation_and_Code.Form_About { 12 | public partial class Form_About : Form { 13 | public Form_About() { 14 | InitializeComponent(); 15 | } 16 | 17 | private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { 18 | 19 | } 20 | 21 | 22 | 23 | 24 | 25 | /// 26 | /// 哔哩哔哩 27 | /// 28 | /// 29 | /// 30 | private void logo_bilibili_Click(object sender, EventArgs e) 31 | { 32 | System.Diagnostics.Process.Start("https://space.bilibili.com/45879248/"); 33 | } 34 | 35 | 36 | 37 | 38 | 39 | /// 40 | /// GitHub 41 | /// 42 | /// 43 | /// 44 | private void logo_github_Click(object sender, EventArgs e) 45 | { 46 | System.Diagnostics.Process.Start("https://github.com/LittleNewton/Equation_and_Codebox/"); 47 | } 48 | 49 | 50 | 51 | 52 | 53 | /// 54 | /// 知乎 55 | /// 56 | /// 57 | /// 58 | private void logo_zhihu_Click(object sender, EventArgs e) 59 | { 60 | System.Diagnostics.Process.Start("https://zhihu.com/people/littleNewton"); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Forms/Form_About.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 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 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | This software was designed for inserting math equations and highlighted codes into Microsoft Word. 122 | 123 | In summer 2020, Peng Liu got the idea for creating one like this. He leveraged dotnet VBA to develop the first version of this software. Then, he rewrote this software with C# and Office SDK in 2021. 124 | 125 | Hopefully, this software can help Microsoft users to do a more comfortable job. 126 | 127 | Best wishes. 128 | 129 | P.S. If you are willing to give contribution to this project, don't be hesitate to commit your pull-request on GitHub. 130 | 131 | --- 132 | 133 | Peng Liu 134 | Jun. 11, 2023. 135 | 136 | 137 | 138 | 139 | AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAA 140 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 141 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 142 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 143 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 144 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 146 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 147 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 148 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 149 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 150 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 151 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 152 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 153 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 154 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 155 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 156 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 157 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 158 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 159 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 160 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 161 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 162 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 163 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 164 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 165 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 166 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 167 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 168 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 169 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 170 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 171 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 172 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 173 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 174 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6QOj48jjj0PI44/zyO 175 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 176 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 177 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI449D6QOj4AAAAAAAAAAAAA 178 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 179 | AAAAAAAAPI84QDyOOPQ8jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 180 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 181 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI449D2O 182 | OT8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 183 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8jzhAPI449TyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 184 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 185 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 186 | OP88jjj/PI449TyPOEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 187 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADuNN0E8jjj1PI44/zyO 188 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 189 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 190 | OP88jjj/PI44/zyOOP88jjj/PI449TuNN0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 191 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 192 | AAAAAAAAPo82QjyOOPU8jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 193 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 194 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI449T6PNkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 195 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 196 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9jTlDPI449jyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 197 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 198 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI449j2NOUMAAAAAAAAAAAAA 199 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 200 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6QOj48jji7PI44uzyO 201 | OLs8jji7PI44uzyOOLs8jji7PI44uzyOOLs7jTnpPI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyO 202 | OP88jjj/PI44/zyOOP88jjj/O4056TyOOLs8jji7PI44uzyOOLs8jji7PI44uzyOOLs8jji7PI44uzuO 203 | Nj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 204 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 205 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPI45qzyOOP88jjj/PI44/zyO 206 | OP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOasAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 207 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 208 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 209 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADyO 210 | Oas8jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjj/PI44/zyOOP88jjmrAAAAAAAA 211 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 212 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 213 | AAAAAAAAAAAAAE+wTFRRrkyhULBNqlCwTapQsE2qULBNqlCwTapQsE2qULBNqlCwTapQsE2qULBNqlCw 214 | TapQsE2qULBNqlCwTapKp0jjSaRG/0mkRv9JpEb/SaRG/0mkRv9JpEb/SaRG/0mkRv9JpEb/SaRG/0mk 215 | Rv9JpEb/SqdI41CwTapQsE2qULBNqlCwTapQsE2qULBNqlCwTapQsE2qULBNqlCwTapQsE2qULBNqlCw 216 | TapQsE2qUK9NoFCvTVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 217 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFGuTXtQr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 218 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 219 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 220 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/Ua5NeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 221 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPsEznUK9M/1CvTP9Qr0z/UK9M/1Cv 222 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 223 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 224 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTOUAAAAAAAAAAAAA 225 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1Cv 226 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 227 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 228 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 229 | TP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 230 | AAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziG 231 | NP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziG 232 | NP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziGNP84hjT/OIY0/ziG 233 | NP84hjT/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 234 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBe 235 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 236 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 237 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 238 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBe 239 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 240 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 241 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAA 242 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCv 243 | TP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 244 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 245 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1Cv 246 | TP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 247 | AAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 248 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 249 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 250 | G/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 251 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBe 252 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/J2ci/yBeG/8gXhv/IF4b/yBe 253 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8nZyL/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 254 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAA 255 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1Cv 256 | TP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/NXgw/2W1 257 | Yv81eTD/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8vcSr/ZbNg/z2DOf8gXhv/IF4b/yBe 258 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAA 259 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 260 | AABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 261 | G/8gXhv/NXgw/2i4ZP9qu2b/aLlk/zZ5Mf8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8vcCr/ZbVh/2q7 262 | Zv9pu2X/PYI4/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1Cv 263 | TP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 264 | AAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 265 | G/8gXhv/IF4b/yBeG/8gXhv/OHwz/2m5Zf9qu2b/artm/2q7Zv9ouWT/KGkj/yBeG/8gXhv/IF4b/yBe 266 | G/8jYR7/Y7Jf/2q7Zv9qu2b/artm/2q6Zv9Bhzz/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 267 | G/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 268 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBe 269 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/NXkw/2i4ZP9qu2b/artm/2q7Zv9qumb/PoQ5/yBe 270 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/zR4MP9nt2P/artm/2q7Zv9qu2b/abtl/z2DOP8gXhv/IF4b/yBe 271 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAA 272 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1Cv 273 | TP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/NXkw/2i4ZP9qu2b/artm/2q7 274 | Zv9qumb/PoQ6/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/M3cv/2e3Y/9qu2b/artm/2q7 275 | Zv9pu2X/PYM4/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1Cv 276 | TP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 277 | AAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/NXkw/2i5 278 | ZP9qu2b/artm/2q7Zv9qumb/PoQ6/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 279 | G/8zdy//Z7hj/2q7Zv9qu2b/artm/2q6Zv89gzj/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 280 | G/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 281 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 282 | G/8gXhv/Nnkx/2i5ZP9qu2b/artm/2q7Zv9qumb/PoQ6/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 283 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/zR2L/9nuGP/artm/2q7Zv9qu2b/arpm/z2DOf8gXhv/IF4b/yBe 284 | G/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 285 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBe 286 | G/8gXhv/IF4b/yBeG/8gXhv/R45C/2i5ZP9qu2b/artm/2q7Zv9qumb/P4Q6/yBeG/8gXhv/IF4b/yBe 287 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/NHYv/2e4Y/9qu2b/artm/2q7 288 | Zv9qumb/UJpM/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAA 289 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1Cv 290 | TP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/RYxB/2q7Zv9qu2b/artm/2q7Zv9qumb/P4Q6/yBe 291 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 292 | G/8zdi7/Z7hj/2q7Zv9qu2b/artm/2q7Zv9Pmkv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1Cv 293 | TP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 294 | AAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/RYxB/2q7Zv9qu2b/artm/2q7 295 | Zv9qumb/P4Q6/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 296 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/zN2Lv9ouGT/artm/2q7Zv9qu2b/artm/1CbS/8gXhv/IF4b/yBe 297 | G/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 298 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/1Cb 299 | TP9qu2b/artm/2q7Zv9qu2b/aLhk/zR3MP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 300 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8ubyn/ZrVi/2q7Zv9qu2b/artm/2q7 301 | Zv9ap1b/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 302 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBe 303 | G/8gXhv/IF4b/yBeG/8gXhv/VaFR/2q7Zv9qu2b/artm/2q7Zv9ntmL/MXUt/yBeG/8gXhv/IF4b/yBe 304 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8sbCf/Y7Jf/2q7 305 | Zv9qu2b/artm/2q7Zv9cqVj/IF8b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAA 306 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCv 307 | TP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Un0//artm/2q7Zv9qu2b/artm/2e2 308 | Yv8xdS3/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 309 | G/8sbCf/Y7Jf/2q7Zv9qu2b/artm/2q7Zv9bp1f/IF8b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1Cv 310 | TP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 311 | AAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/0OK 312 | Pv9qu2b/artm/2q7Zv9qu2b/Z7Zi/zF1Lf8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 313 | G/8gXhv/IF4b/yBeG/8sbCf/Y7Jf/2q7Zv9qu2b/artm/2q7Zv9Nlkj/IF8b/yBeG/8gXhv/IF4b/yBe 314 | G/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 315 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBe 316 | G/8gXhv/IF4b/yBeG/8gXhv/Q4o+/2q7Zv9qu2b/artm/2q7Zv9ntmL/MXUt/yBeG/8gXhv/IF4b/yBe 317 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8sbCf/Y7Jf/2q7Zv9qu2b/artm/2q7Zv9Nlkj/IF8b/yBe 318 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAA 319 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1Cv 320 | TP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Dij7/artm/2q7Zv9qu2b/artm/2e2 321 | Yv8ydC3/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8sbCf/Y7Jf/2q7Zv9qu2b/artm/2q7 322 | Zv9Nlkn/IF8b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAA 323 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 324 | AABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/0OK 325 | Pv9qu2b/artm/2q7Zv9qu2b/Z7Zi/zJ0Lf8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8sbSf/Y7Jf/2q7 326 | Zv9qu2b/artm/2q7Zv9Nlkn/IF8b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1Cv 327 | TP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 328 | AAAAAAAAAAAAAAAAAAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 329 | G/8gXhv/IF4b/yBeG/8gXhv/P4U7/2q6Zv9qu2b/artm/2q7Zv9ouGT/KGgk/yBeG/8gXhv/IF4b/yBe 330 | G/8jYR7/Y7Jf/2q7Zv9qu2b/artm/2q7Zv9IkUT/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 331 | G/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 332 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBe 333 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Eij//artm/2q7Zv9qu2b/Q4o+/yBe 334 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/zp+Nv9pumX/artm/2q7Zv9Nlkn/IF8b/yBeG/8gXhv/IF4b/yBe 335 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAA 336 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1Cv 337 | TP9Qr0z/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/0SK 338 | P/9qu2b/RIo//yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/O381/2m6Zf9Nl0n/IV4c/yBe 339 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1Cv 340 | TP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 341 | AAAAAAAAUK9M/1CvTP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 342 | G/8gXhv/IF4b/yBeG/8gXhv/Lm8p/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 343 | G/8ubyn/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 344 | G/9Qr0z/UK9M/1CvTP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 345 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 346 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 347 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 348 | G/8gXhv/IF4b/yBeG/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 349 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/IF4b/yBe 350 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 351 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 352 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAA 353 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M/1Cv 354 | TP9Qr0z/UK9M/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 355 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 356 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/9Qr0z/UK9M/1Cv 357 | TP9Qr0z/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 358 | AAAAAAAAAAAAAFCvTP9Qr0z/UK9M/1CvTP8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 359 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 360 | G/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBeG/8gXhv/IF4b/yBe 361 | G/8gXhv/UK9M/1CvTP9Qr0z/UK9M/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 362 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 363 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 364 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 365 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 366 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK9M81CvTP9Qr0z/UK9M/1Cv 367 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 368 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 369 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0zyAAAAAAAA 370 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCv 371 | TKxQr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 372 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 373 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 374 | TP9Qr0z/ULBNqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 375 | AAAAAAAAAAAAAAAAAABRrlEWUK9MqFCvTO5Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 376 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 377 | TP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1CvTP9Qr0z/UK9M/1Cv 378 | TP9Qr0z/UK9M/1CvTP9Qr0zuUK9LplWqSRUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 379 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 380 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 381 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 382 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 383 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 384 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 385 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 386 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 387 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 388 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 389 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 390 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 391 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 392 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 393 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 394 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 395 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 396 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 397 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 398 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 399 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 400 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 401 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 402 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 403 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 404 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 405 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 406 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 407 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 408 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 409 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 410 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 411 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 412 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 413 | AAAAAAAA//////////////////////////////////////////////////////////////////////// 414 | ///////////////AAAAAAAP//+AAAAAAB///8AAAAAAP///4AAAAAB////wAAAAAP////gAAAAB///// 415 | AAAAAP//////gAH///////+AAf/////AAAAAAAP//4AAAAAAAf//AAAAAAAA//8AAAAAAAD//wAAAAAA 416 | AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A 417 | AAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA 418 | AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A 419 | AAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA 420 | AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//gAAAAAAB//////////////////////////////////// 421 | //////////////////////////////////////////////////8= 422 | 423 | 424 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Highlight/callee.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Callee 7 | 8 | 9 | 25 | 26 | 27 | 68 | 69 | 70 |
71 | 72 |

73 |
渲染后的代码
74 |
75 | 76 | 77 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Highlight/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-quote, 16 | .hljs-variable { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-built_in, 23 | .hljs-name, 24 | .hljs-tag { 25 | color: #00f; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-title, 30 | .hljs-section, 31 | .hljs-attribute, 32 | .hljs-literal, 33 | .hljs-template-tag, 34 | .hljs-template-variable, 35 | .hljs-type, 36 | .hljs-addition { 37 | color: #a31515; 38 | } 39 | 40 | .hljs-deletion, 41 | .hljs-selector-attr, 42 | .hljs-selector-pseudo, 43 | .hljs-meta { 44 | color: #2b91af; 45 | } 46 | 47 | .hljs-doctag { 48 | color: #808080; 49 | } 50 | 51 | .hljs-attr { 52 | color: #f00; 53 | } 54 | 55 | .hljs-symbol, 56 | .hljs-bullet, 57 | .hljs-link { 58 | color: #00b0e8; 59 | } 60 | 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System.Security; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("公式与代码")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("Equation_and_Code")] 14 | [assembly: AssemblyCopyright("Copyright © 2021")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | // The following GUID is for the ID of the typelib if this project is exposed to COM 24 | [assembly: Guid("e4a70856-509f-4d12-a0a6-b2be283c0b26")] 25 | 26 | // Version information for an assembly consists of the following four values: 27 | // 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // 33 | // You can specify all the values or you can default the Build and Revision Numbers 34 | // by using the '*' as shown below: 35 | // [assembly: AssemblyVersion("1.0.*")] 36 | [assembly: AssemblyVersion("1.0.0.0")] 37 | [assembly: AssemblyFileVersion("1.0.0.0")] 38 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Equation_and_Code.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// 返回此类使用的缓存的 ResourceManager 实例。 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Equation_and_Code.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// 重写当前线程的 CurrentUICulture 属性,对 51 | /// 使用此强类型资源类的所有资源查找执行重写。 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。 65 | /// 66 | internal static System.Drawing.Bitmap icon { 67 | get { 68 | object obj = ResourceManager.GetObject("icon", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | 73 | /// 74 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。 75 | /// 76 | internal static System.Drawing.Bitmap icons8_bilibili_480px { 77 | get { 78 | object obj = ResourceManager.GetObject("icons8_bilibili_480px", resourceCulture); 79 | return ((System.Drawing.Bitmap)(obj)); 80 | } 81 | } 82 | 83 | /// 84 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。 85 | /// 86 | internal static System.Drawing.Bitmap icons8_github_512px { 87 | get { 88 | object obj = ResourceManager.GetObject("icons8_github_512px", resourceCulture); 89 | return ((System.Drawing.Bitmap)(obj)); 90 | } 91 | } 92 | 93 | /// 94 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。 95 | /// 96 | internal static System.Drawing.Bitmap icons8_google_code_480px { 97 | get { 98 | object obj = ResourceManager.GetObject("icons8_google_code_480px", resourceCulture); 99 | return ((System.Drawing.Bitmap)(obj)); 100 | } 101 | } 102 | 103 | /// 104 | /// 查找 System.Drawing.Bitmap 类型的本地化资源。 105 | /// 106 | internal static System.Drawing.Bitmap icons8_zhihu_512px_1 { 107 | get { 108 | object obj = ResourceManager.GetObject("icons8_zhihu_512px_1", resourceCulture); 109 | return ((System.Drawing.Bitmap)(obj)); 110 | } 111 | } 112 | 113 | /// 114 | /// 查找类似 Hello 的本地化字符串。 115 | /// 116 | internal static string test_str { 117 | get { 118 | return ResourceManager.GetString("test_str", resourceCulture); 119 | } 120 | } 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 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 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\icons8_bilibili_480px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\Resources\icons8_github_512px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\icons8_zhihu_512px_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | Hello 132 | 133 | 134 | ..\Resources\icon.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 135 | 136 | 137 | ..\Resources\icons8_google_code_480px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 138 | 139 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Equation_and_Code.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.6.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Resources/icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Resources/icon.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code/Resources/icons8_bilibili_480px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Resources/icons8_bilibili_480px.png -------------------------------------------------------------------------------- /src/Equation_and_Code/Resources/icons8_github_512px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Resources/icons8_github_512px.png -------------------------------------------------------------------------------- /src/Equation_and_Code/Resources/icons8_google_code_480px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Resources/icons8_google_code_480px.png -------------------------------------------------------------------------------- /src/Equation_and_Code/Resources/icons8_zhihu_512px_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Resources/icons8_zhihu_512px_1.png -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/Main_Ribbon.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Equation_and_Code.Ribbon { 2 | partial class Main_Ribbon : Microsoft.Office.Tools.Ribbon.RibbonBase { 3 | /// 4 | /// Required designer variable. 5 | /// 6 | private System.ComponentModel.IContainer components = null; 7 | 8 | public Main_Ribbon() 9 | : base(Globals.Factory.GetRibbonFactory()) { 10 | InitializeComponent(); 11 | } 12 | 13 | /// 14 | /// Clean up any resources being used. 15 | /// 16 | /// true if managed resources should be disposed; otherwise, false. 17 | protected override void Dispose(bool disposing) { 18 | if (disposing && (components != null)) { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Component Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main_Ribbon)); 32 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl1 = this.Factory.CreateRibbonDropDownItem(); 33 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl2 = this.Factory.CreateRibbonDropDownItem(); 34 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl3 = this.Factory.CreateRibbonDropDownItem(); 35 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl4 = this.Factory.CreateRibbonDropDownItem(); 36 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl5 = this.Factory.CreateRibbonDropDownItem(); 37 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl6 = this.Factory.CreateRibbonDropDownItem(); 38 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl7 = this.Factory.CreateRibbonDropDownItem(); 39 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl8 = this.Factory.CreateRibbonDropDownItem(); 40 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl9 = this.Factory.CreateRibbonDropDownItem(); 41 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl10 = this.Factory.CreateRibbonDropDownItem(); 42 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl11 = this.Factory.CreateRibbonDropDownItem(); 43 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl12 = this.Factory.CreateRibbonDropDownItem(); 44 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl13 = this.Factory.CreateRibbonDropDownItem(); 45 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl14 = this.Factory.CreateRibbonDropDownItem(); 46 | Microsoft.Office.Tools.Ribbon.RibbonDropDownItem ribbonDropDownItemImpl15 = this.Factory.CreateRibbonDropDownItem(); 47 | this.公式与代码 = this.Factory.CreateRibbonTab(); 48 | this.Group_Equation = this.Factory.CreateRibbonGroup(); 49 | this.btn_InsertFieldCode = this.Factory.CreateRibbonButton(); 50 | this.btn_InsertEquation = this.Factory.CreateRibbonButton(); 51 | this.dropDown_EquationNumerFormat = this.Factory.CreateRibbonDropDown(); 52 | this.Group_Code = this.Factory.CreateRibbonGroup(); 53 | this.btn_InsertCodeBox = this.Factory.CreateRibbonButton(); 54 | this.dropDown_lineStep = this.Factory.CreateRibbonDropDown(); 55 | this.dropDown1 = this.Factory.CreateRibbonDropDown(); 56 | this.separator1 = this.Factory.CreateRibbonSeparator(); 57 | this.dropDown_CodeFont_ASCII = this.Factory.CreateRibbonDropDown(); 58 | this.dropDown_CodeFont_FarEast = this.Factory.CreateRibbonDropDown(); 59 | this.Group_About = this.Factory.CreateRibbonGroup(); 60 | this.btn_AboutAddinAndAuthor = this.Factory.CreateRibbonButton(); 61 | this.公式与代码.SuspendLayout(); 62 | this.Group_Equation.SuspendLayout(); 63 | this.Group_Code.SuspendLayout(); 64 | this.Group_About.SuspendLayout(); 65 | this.SuspendLayout(); 66 | // 67 | // 公式与代码 68 | // 69 | this.公式与代码.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office; 70 | this.公式与代码.Groups.Add(this.Group_Equation); 71 | this.公式与代码.Groups.Add(this.Group_Code); 72 | this.公式与代码.Groups.Add(this.Group_About); 73 | this.公式与代码.Label = "公式与代码"; 74 | this.公式与代码.Name = "公式与代码"; 75 | // 76 | // Group_Equation 77 | // 78 | this.Group_Equation.Items.Add(this.btn_InsertFieldCode); 79 | this.Group_Equation.Items.Add(this.btn_InsertEquation); 80 | this.Group_Equation.Items.Add(this.dropDown_EquationNumerFormat); 81 | this.Group_Equation.Label = "公式"; 82 | this.Group_Equation.Name = "Group_Equation"; 83 | // 84 | // btn_InsertFieldCode 85 | // 86 | this.btn_InsertFieldCode.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge; 87 | this.btn_InsertFieldCode.Image = ((System.Drawing.Image)(resources.GetObject("btn_InsertFieldCode.Image"))); 88 | this.btn_InsertFieldCode.Label = "插入 SEQ 域组合"; 89 | this.btn_InsertFieldCode.Name = "btn_InsertFieldCode"; 90 | this.btn_InsertFieldCode.ShowImage = true; 91 | this.btn_InsertFieldCode.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btn_InsertFieldCode_Click); 92 | // 93 | // btn_InsertEquation 94 | // 95 | this.btn_InsertEquation.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge; 96 | this.btn_InsertEquation.Image = ((System.Drawing.Image)(resources.GetObject("btn_InsertEquation.Image"))); 97 | this.btn_InsertEquation.Label = "插入带编号的公式"; 98 | this.btn_InsertEquation.Name = "btn_InsertEquation"; 99 | this.btn_InsertEquation.ShowImage = true; 100 | this.btn_InsertEquation.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btn_InsertEquation_Click); 101 | // 102 | // dropDown_EquationNumerFormat 103 | // 104 | ribbonDropDownItemImpl1.Label = "(章节号-章节内公式号)"; 105 | ribbonDropDownItemImpl1.Tag = "x_y"; 106 | ribbonDropDownItemImpl2.Label = "全文公式号"; 107 | ribbonDropDownItemImpl2.Tag = "x"; 108 | this.dropDown_EquationNumerFormat.Items.Add(ribbonDropDownItemImpl1); 109 | this.dropDown_EquationNumerFormat.Items.Add(ribbonDropDownItemImpl2); 110 | this.dropDown_EquationNumerFormat.Label = "公式编号样式"; 111 | this.dropDown_EquationNumerFormat.Name = "dropDown_EquationNumerFormat"; 112 | // 113 | // Group_Code 114 | // 115 | this.Group_Code.Items.Add(this.btn_InsertCodeBox); 116 | this.Group_Code.Items.Add(this.dropDown_lineStep); 117 | this.Group_Code.Items.Add(this.dropDown1); 118 | this.Group_Code.Items.Add(this.separator1); 119 | this.Group_Code.Items.Add(this.dropDown_CodeFont_ASCII); 120 | this.Group_Code.Items.Add(this.dropDown_CodeFont_FarEast); 121 | this.Group_Code.Label = "代码"; 122 | this.Group_Code.Name = "Group_Code"; 123 | // 124 | // btn_InsertCodeBox 125 | // 126 | this.btn_InsertCodeBox.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge; 127 | this.btn_InsertCodeBox.Image = ((System.Drawing.Image)(resources.GetObject("btn_InsertCodeBox.Image"))); 128 | this.btn_InsertCodeBox.Label = "从剪贴板插入代码"; 129 | this.btn_InsertCodeBox.Name = "btn_InsertCodeBox"; 130 | this.btn_InsertCodeBox.ShowImage = true; 131 | this.btn_InsertCodeBox.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btn_InsertCodeBox_Click); 132 | // 133 | // dropDown_lineStep 134 | // 135 | this.dropDown_lineStep.Image = ((System.Drawing.Image)(resources.GetObject("dropDown_lineStep.Image"))); 136 | ribbonDropDownItemImpl3.Label = "1"; 137 | ribbonDropDownItemImpl4.Label = "5"; 138 | ribbonDropDownItemImpl5.Label = "10"; 139 | ribbonDropDownItemImpl6.Label = "20"; 140 | this.dropDown_lineStep.Items.Add(ribbonDropDownItemImpl3); 141 | this.dropDown_lineStep.Items.Add(ribbonDropDownItemImpl4); 142 | this.dropDown_lineStep.Items.Add(ribbonDropDownItemImpl5); 143 | this.dropDown_lineStep.Items.Add(ribbonDropDownItemImpl6); 144 | this.dropDown_lineStep.Label = "行号步长"; 145 | this.dropDown_lineStep.Name = "dropDown_lineStep"; 146 | this.dropDown_lineStep.ShowImage = true; 147 | // 148 | // dropDown1 149 | // 150 | this.dropDown1.Image = ((System.Drawing.Image)(resources.GetObject("dropDown1.Image"))); 151 | ribbonDropDownItemImpl7.Label = "9"; 152 | ribbonDropDownItemImpl7.Tag = ""; 153 | this.dropDown1.Items.Add(ribbonDropDownItemImpl7); 154 | this.dropDown1.Label = "字体大小"; 155 | this.dropDown1.Name = "dropDown1"; 156 | this.dropDown1.ShowImage = true; 157 | // 158 | // separator1 159 | // 160 | this.separator1.Name = "separator1"; 161 | // 162 | // dropDown_CodeFont_ASCII 163 | // 164 | this.dropDown_CodeFont_ASCII.Image = ((System.Drawing.Image)(resources.GetObject("dropDown_CodeFont_ASCII.Image"))); 165 | ribbonDropDownItemImpl8.Label = "Iosevka"; 166 | ribbonDropDownItemImpl9.Label = "LM Mono 10"; 167 | ribbonDropDownItemImpl10.Label = "Fira Code"; 168 | ribbonDropDownItemImpl11.Label = "Consolas"; 169 | ribbonDropDownItemImpl12.Label = "宋体"; 170 | this.dropDown_CodeFont_ASCII.Items.Add(ribbonDropDownItemImpl8); 171 | this.dropDown_CodeFont_ASCII.Items.Add(ribbonDropDownItemImpl9); 172 | this.dropDown_CodeFont_ASCII.Items.Add(ribbonDropDownItemImpl10); 173 | this.dropDown_CodeFont_ASCII.Items.Add(ribbonDropDownItemImpl11); 174 | this.dropDown_CodeFont_ASCII.Items.Add(ribbonDropDownItemImpl12); 175 | this.dropDown_CodeFont_ASCII.Label = "代码字体"; 176 | this.dropDown_CodeFont_ASCII.Name = "dropDown_CodeFont_ASCII"; 177 | this.dropDown_CodeFont_ASCII.ShowImage = true; 178 | // 179 | // dropDown_CodeFont_FarEast 180 | // 181 | this.dropDown_CodeFont_FarEast.Image = ((System.Drawing.Image)(resources.GetObject("dropDown_CodeFont_FarEast.Image"))); 182 | ribbonDropDownItemImpl13.Label = "宋体"; 183 | ribbonDropDownItemImpl14.Label = "等线"; 184 | ribbonDropDownItemImpl15.Label = "微软雅黑"; 185 | this.dropDown_CodeFont_FarEast.Items.Add(ribbonDropDownItemImpl13); 186 | this.dropDown_CodeFont_FarEast.Items.Add(ribbonDropDownItemImpl14); 187 | this.dropDown_CodeFont_FarEast.Items.Add(ribbonDropDownItemImpl15); 188 | this.dropDown_CodeFont_FarEast.Label = "中文字体"; 189 | this.dropDown_CodeFont_FarEast.Name = "dropDown_CodeFont_FarEast"; 190 | this.dropDown_CodeFont_FarEast.ShowImage = true; 191 | // 192 | // Group_About 193 | // 194 | this.Group_About.Items.Add(this.btn_AboutAddinAndAuthor); 195 | this.Group_About.Label = "关于"; 196 | this.Group_About.Name = "Group_About"; 197 | // 198 | // btn_AboutAddinAndAuthor 199 | // 200 | this.btn_AboutAddinAndAuthor.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge; 201 | this.btn_AboutAddinAndAuthor.Image = ((System.Drawing.Image)(resources.GetObject("btn_AboutAddinAndAuthor.Image"))); 202 | this.btn_AboutAddinAndAuthor.Label = "关于插件及作者"; 203 | this.btn_AboutAddinAndAuthor.Name = "btn_AboutAddinAndAuthor"; 204 | this.btn_AboutAddinAndAuthor.ShowImage = true; 205 | this.btn_AboutAddinAndAuthor.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler(this.btn_AboutAddinAndAuthor_Click); 206 | // 207 | // Main_Ribbon 208 | // 209 | this.Name = "Main_Ribbon"; 210 | this.RibbonType = "Microsoft.Word.Document"; 211 | this.Tabs.Add(this.公式与代码); 212 | this.Load += new Microsoft.Office.Tools.Ribbon.RibbonUIEventHandler(this.Ribbon1_Load); 213 | this.公式与代码.ResumeLayout(false); 214 | this.公式与代码.PerformLayout(); 215 | this.Group_Equation.ResumeLayout(false); 216 | this.Group_Equation.PerformLayout(); 217 | this.Group_Code.ResumeLayout(false); 218 | this.Group_Code.PerformLayout(); 219 | this.Group_About.ResumeLayout(false); 220 | this.Group_About.PerformLayout(); 221 | this.ResumeLayout(false); 222 | 223 | } 224 | 225 | #endregion 226 | 227 | internal Microsoft.Office.Tools.Ribbon.RibbonTab 公式与代码; 228 | internal Microsoft.Office.Tools.Ribbon.RibbonGroup Group_Equation; 229 | internal Microsoft.Office.Tools.Ribbon.RibbonButton btn_InsertFieldCode; 230 | internal Microsoft.Office.Tools.Ribbon.RibbonButton btn_InsertEquation; 231 | internal Microsoft.Office.Tools.Ribbon.RibbonGroup Group_Code; 232 | internal Microsoft.Office.Tools.Ribbon.RibbonButton btn_InsertCodeBox; 233 | internal Microsoft.Office.Tools.Ribbon.RibbonDropDown dropDown_lineStep; 234 | internal Microsoft.Office.Tools.Ribbon.RibbonDropDown dropDown_CodeFont_ASCII; 235 | internal Microsoft.Office.Tools.Ribbon.RibbonDropDown dropDown_CodeFont_FarEast; 236 | internal Microsoft.Office.Tools.Ribbon.RibbonGroup Group_About; 237 | internal Microsoft.Office.Tools.Ribbon.RibbonButton btn_AboutAddinAndAuthor; 238 | internal Microsoft.Office.Tools.Ribbon.RibbonDropDown dropDown1; 239 | internal Microsoft.Office.Tools.Ribbon.RibbonSeparator separator1; 240 | internal Microsoft.Office.Tools.Ribbon.RibbonDropDown dropDown_EquationNumerFormat; 241 | } 242 | } 243 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/Main_Ribbon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using Microsoft.Office.Tools.Ribbon; 6 | using Word = Microsoft.Office.Interop.Word; 7 | using Fonts = System.Drawing; 8 | 9 | 10 | 11 | 12 | 13 | namespace Equation_and_Code.Ribbon { 14 | public partial class Main_Ribbon { 15 | public Form_About.Form_About AboutWindow { get; private set; } 16 | 17 | private void Ribbon1_Load(object sender, RibbonUIEventArgs e) { 18 | 19 | } 20 | 21 | 22 | 23 | 24 | 25 | /// 26 | /// 插入公式编排所需的域代码 27 | /// 28 | /// 29 | /// 30 | private void btn_InsertFieldCode_Click(object sender, RibbonControlEventArgs e) { 31 | // 创建一个 Word Doc 变量 32 | Word.Application app = Globals.ThisAddIn.Application; 33 | Word.Document doc = app.ActiveDocument; 34 | 35 | // 插入域代码 36 | { 37 | // { SEQ chapter \h } 38 | Word.Field chapterNumber = app.Selection.Range.Fields.Add( 39 | app.Selection.Range, 40 | Word.WdFieldType.wdFieldSequence, 41 | @"chapter \h", 42 | false 43 | ); 44 | // { SEQ equation \r \h } 45 | Word.Field equationNumber = app.Selection.Range.Fields.Add( 46 | app.Selection.Range, 47 | Word.WdFieldType.wdFieldSequence, 48 | @"equation \r \h", 49 | false 50 | ); 51 | } 52 | } 53 | 54 | 55 | 56 | 57 | 58 | /// 59 | /// 插入带有编号的公式 60 | /// 61 | /// 62 | /// 63 | private void btn_InsertEquation_Click(object sender, RibbonControlEventArgs e) { 64 | // 创建一个 Word Document 变量 65 | Word.Application app = Globals.ThisAddIn.Application; 66 | Word.Document doc = app.ActiveDocument; 67 | 68 | // 计算相关版面参数 69 | Dictionary page_info = GetDocLayout(); 70 | 71 | // 计算边界值 72 | float LeftMargin = page_info["LeftMargin"]; 73 | float RightMargin = page_info["RightMargin"]; 74 | float PageWidth = page_info["PageWidth"]; 75 | float WidthAvailable = PageWidth - (LeftMargin + RightMargin); 76 | float WidthForLeft = app.CentimetersToPoints(1.75f); 77 | float WidthForRight = app.CentimetersToPoints(1.75f); 78 | float WidthForMiddle = WidthAvailable - (WidthForLeft + WidthForRight); 79 | 80 | // 在光标处插入一个名为 equationTable 的表格 81 | Word.Table equationTable = app.Selection.Tables.Add(app.Selection.Range, 1, 3); 82 | Word.Range rng = equationTable.Range; 83 | 84 | // 设置 equationTable 每个单元格的具体宽度 85 | equationTable.Cell(1, 1).SetWidth(WidthForLeft, Word.WdRulerStyle.wdAdjustNone); 86 | equationTable.Cell(1, 2).SetWidth(WidthForMiddle, Word.WdRulerStyle.wdAdjustNone); 87 | equationTable.Cell(1, 3).SetWidth(WidthForRight, Word.WdRulerStyle.wdAdjustNone); 88 | 89 | // 设置 equationTable 的整体边界距离为 0 90 | equationTable.LeftPadding = 0; 91 | equationTable.RightPadding = 0; 92 | 93 | // 居中、居右 94 | equationTable.Cell(1, 1).VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; 95 | equationTable.Cell(1, 2).VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; 96 | equationTable.Cell(1, 3).VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; 97 | equationTable.Cell(1, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; 98 | equationTable.Cell(1, 3).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight; 99 | 100 | // 设置段前、后的距离 101 | rng.ParagraphFormat.LineUnitBefore = 0; 102 | rng.ParagraphFormat.LineUnitAfter = 0; 103 | rng.ParagraphFormat.SpaceBefore = 0; 104 | rng.ParagraphFormat.SpaceAfter = 0; 105 | rng.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceAtLeast; 106 | rng.ParagraphFormat.LineSpacing = 12; 107 | 108 | // 设置字体 109 | equationTable.Cell(1, 1).Range.Font.NameAscii = "LM Mono 10"; 110 | equationTable.Cell(1, 2).Range.Font.NameAscii = "Latin Modern Math"; 111 | equationTable.Cell(1, 3).Range.Font.NameAscii = "LM Mono 10"; 112 | 113 | // 插入公式 114 | app.Selection.MoveRight(Word.WdUnits.wdCell, 1); 115 | app.Selection.OMaths.Add(app.Selection.Range); 116 | 117 | // 插入域代码 118 | app.Selection.MoveRight(Word.WdUnits.wdCell, 1); 119 | { 120 | // Type '(' 121 | app.Selection.TypeText("("); 122 | 123 | if (dropDown_EquationNumerFormat.SelectedItem.Label.ToString() == "(章节号-章节内公式号)") 124 | { 125 | // { SEQ Chapter \c } 126 | Word.Field chapterNumber = app.Selection.Range.Fields.Add( 127 | app.Selection.Range, 128 | Word.WdFieldType.wdFieldSequence, 129 | @"chapter \c", 130 | false 131 | ); 132 | 133 | // Type '-' 134 | app.Selection.TypeText("-"); 135 | } 136 | 137 | // { SEQ Equation } 138 | Word.Field equationNumber = app.Selection.Range.Fields.Add( 139 | app.Selection.Range, 140 | Word.WdFieldType.wdFieldSequence, 141 | @"equation", 142 | false 143 | ); 144 | 145 | // Type ')' 146 | app.Selection.TypeText(")"); 147 | } 148 | } 149 | 150 | 151 | 152 | 153 | /// 154 | /// 获取中英文混杂的字符串的实际占位宽度 155 | /// (1) ASCII 字符占 1 个半角 156 | /// (2) 其他字符占 2 个半角 157 | /// (3) TODO: TAB 制表符默认为 4 个空格宽度,这个太过复杂,需要写一个替换操作。 158 | /// 159 | /// 160 | /// 161 | private static int GetStrLength(string str) { 162 | 163 | // 如果空字符串,直接返回长度为 0 164 | if (string.IsNullOrEmpty(str)) { 165 | return 0; 166 | } 167 | 168 | ASCIIEncoding ascii = new ASCIIEncoding(); 169 | int tempLen = 0; 170 | byte[] s = ascii.GetBytes(str); 171 | for (int i = 0; i < s.Length; i++) { 172 | if ((int)s[i] == 63) { 173 | tempLen += 2; 174 | } else { 175 | tempLen += 1; 176 | } 177 | } 178 | return tempLen; 179 | } 180 | 181 | 182 | 183 | 184 | 185 | /// 186 | /// 获取当前 Word Document 的页边距 187 | /// (1) 不需要传参,默认读取当前页面 188 | /// (2) 返回字典对象,LeftMargin and RightMargin 189 | /// 190 | Dictionary GetDocLayout() { 191 | 192 | var PageInfo = new Dictionary(); 193 | 194 | Word.Application app = Globals.ThisAddIn.Application; 195 | Word.Document doc = app.ActiveDocument; 196 | 197 | float LeftMargin = doc.PageSetup.LeftMargin; 198 | float RightMargin = doc.PageSetup.RightMargin; 199 | float PageWidth = doc.PageSetup.PageWidth; 200 | 201 | PageInfo.Add("LeftMargin", LeftMargin); 202 | PageInfo.Add("RightMargin", RightMargin); 203 | PageInfo.Add("PageWidth", PageWidth); 204 | 205 | return PageInfo; 206 | } 207 | 208 | 209 | 210 | 211 | 212 | /// 213 | /// 将剪贴板中的内容放入表格,自动生成行号 214 | /// (1) TODO: 215 | /// I. [*] 获取页面宽度 216 | /// II. [ ] 获取字体的宽度,写一个下拉菜单,获取字体的磅值 217 | /// III. [*] 计算出 maxCharsOfEachLine 的值 218 | /// 219 | /// 220 | /// 221 | private void btn_InsertCodeBox_Click(object sender, RibbonControlEventArgs e) { 222 | 223 | // 创建一个 Word Document 变量 224 | Word.Application app = Globals.ThisAddIn.Application; 225 | 226 | // 根据下拉列表选择西文字体,默认字符为 9pt (9 points) 227 | // TO-DO: 字体的类型已经可以根据下拉菜单选取,后续添加根据下拉菜单选择字体大小的功能 228 | Fonts.Font CodeFont = new Fonts.Font(dropDown_CodeFont_ASCII.SelectedItem.ToString(), 9); 229 | 230 | // 计算相关版面参数 231 | Dictionary page_layout = GetDocLayout(); 232 | float LeftMargin = page_layout["LeftMargin"]; 233 | float RightMargin = page_layout["RightMargin"]; 234 | float PageWidth = page_layout["PageWidth"]; 235 | 236 | // 计算实际可用的值 237 | // TO-DO: 行号 WidthForLineNum 所占的宽度要根据代码行数动态计算 238 | float WidthAvailable = PageWidth - (LeftMargin + RightMargin); 239 | float WidthForLineNum = app.CentimetersToPoints(0.75f); 240 | float WidthForCodes = WidthAvailable - WidthForLineNum; 241 | 242 | // TO-DO: 检查这个计算单个西文字符宽度的方法是否正确 243 | int maxCharsOfEachLine = (int)(WidthForCodes / (CodeFont.SizeInPoints / 2)); 244 | 245 | // 在光标处插入一个名为 CodeTable 的表格 246 | Word.Table codeTable = app.Selection.Tables.Add(app.Selection.Range, 1, 2); 247 | 248 | // 打开代码单元格的表格边界 249 | codeTable.Cell(1, 2).Borders.Enable = 1; 250 | 251 | // 设置单元格宽度 252 | codeTable.Cell(1, 1).SetWidth(WidthForLineNum, Word.WdRulerStyle.wdAdjustNone); 253 | codeTable.Cell(1, 2).SetWidth(WidthForCodes, Word.WdRulerStyle.wdAdjustNone); 254 | 255 | // 整体边界填充 256 | codeTable.LeftPadding = app.CentimetersToPoints(0.1f); 257 | codeTable.RightPadding = app.CentimetersToPoints(0.1f); 258 | 259 | // 设置段前、后的距离 260 | codeTable.Range.ParagraphFormat.LineUnitBefore = 0; 261 | codeTable.Range.ParagraphFormat.LineUnitAfter = 0; 262 | codeTable.Range.ParagraphFormat.SpaceBefore = 0; 263 | codeTable.Range.ParagraphFormat.SpaceAfter = 0; 264 | 265 | // 设置行距未固定 12pt 266 | codeTable.Range.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceExactly; 267 | codeTable.Range.ParagraphFormat.LineSpacing = 12; 268 | 269 | // 设置字体及其大小 270 | // TO-DO: 根据下拉菜单动态生成合适的字体大小 271 | codeTable.Range.Font.NameAscii = dropDown_CodeFont_ASCII.SelectedItem.ToString(); 272 | codeTable.Range.Font.NameFarEast = dropDown_CodeFont_FarEast.SelectedItem.ToString(); 273 | codeTable.Range.Font.Size = 9; 274 | 275 | // 设置单元格对齐方式 276 | codeTable.Cell(1, 1).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight; 277 | codeTable.Cell(1, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; 278 | 279 | // 中英文字符间距自动调整:Disable 280 | codeTable.Cell(1, 2).Range.ParagraphFormat.AddSpaceBetweenFarEastAndAlpha = 0; 281 | codeTable.Cell(1, 2).Range.ParagraphFormat.AddSpaceBetweenFarEastAndDigit = 0; 282 | 283 | // 计算行号 284 | string tmp_clipboard = Clipboard.GetText(); 285 | string[] AllLines = tmp_clipboard.Split('\n'); 286 | int numberOfLines = AllLines.Length; 287 | 288 | // 打印连续的行号,最大步长 maxStep 从下拉菜单中选择,默认为 1 289 | int maxStep = Int32.Parse(dropDown_lineStep.SelectedItem.ToString()); 290 | { 291 | // 某逻辑行对应的 word 物理行数 292 | string totalLines = ""; 293 | 294 | // 某逻辑行在该 maxStep 下需要的换行数 295 | int numOfLineBreaks; 296 | 297 | // 298 | for (int i = 1; i <= numberOfLines - 1; i++) { 299 | 300 | // 单行字符数多于 maxCharsOfEachLine 时,多出的字符数量 301 | int remainder = GetStrLength(AllLines[i - 1]) % maxCharsOfEachLine; 302 | 303 | // 根据 remainder 判断该行是否存在溢出的字符 304 | int isRemainderExist; 305 | if (remainder == 0) { 306 | isRemainderExist = 0; 307 | } else { 308 | isRemainderExist = 1; 309 | } 310 | 311 | // 计算出该逻辑行在该 maxStep 下需要的换行数 312 | numOfLineBreaks = GetStrLength(AllLines[i - 1]) / maxCharsOfEachLine + isRemainderExist; 313 | 314 | // 如果当前逻辑行的行号不能被 maxStep 整除,则不打印该行的逻辑行号 315 | if (i % maxStep == 0) { 316 | totalLines += i.ToString(); 317 | } 318 | 319 | for (int j = 0; j < numOfLineBreaks; j++) { 320 | totalLines += "\n"; 321 | } 322 | } 323 | 324 | // 最后一行的行号务必打印 325 | totalLines += numberOfLines.ToString(); 326 | 327 | // 在代码表格的第一列输出渲染得到的行号 328 | app.Selection.TypeText(totalLines); 329 | } 330 | 331 | // 将剪贴板中的 HTML 代码贴入 332 | app.Selection.MoveRight(Word.WdUnits.wdCell, 1); 333 | app.Selection.Range.Paste(); 334 | 335 | // 调整代码单元格的字体 336 | codeTable.Cell(1, 2).Range.Font.NameAscii = dropDown_CodeFont_ASCII.SelectedItem.ToString(); 337 | codeTable.Cell(1, 2).Range.Font.NameFarEast = dropDown_CodeFont_FarEast.SelectedItem.ToString(); 338 | 339 | // 设置代码单元格的字体为 9pt 340 | codeTable.Cell(1, 2).Range.Font.Size = 9; 341 | codeTable.Cell(1, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; 342 | codeTable.Cell(1, 2).Range.ParagraphFormat.AddSpaceBetweenFarEastAndAlpha = 0; 343 | codeTable.Cell(1, 2).Range.ParagraphFormat.AddSpaceBetweenFarEastAndDigit = 0; 344 | codeTable.Cell(1, 2).Range.ParagraphFormat.CharacterUnitFirstLineIndent = 0; 345 | codeTable.Cell(1, 2).Range.ParagraphFormat.CharacterUnitLeftIndent = 0; 346 | codeTable.Cell(1, 2).Range.ParagraphFormat.CharacterUnitRightIndent = 0; 347 | codeTable.Cell(1, 2).Range.ParagraphFormat.FirstLineIndent = app.CentimetersToPoints(0); 348 | codeTable.Cell(1, 2).Range.ParagraphFormat.FarEastLineBreakControl = 0; 349 | codeTable.Range.ParagraphFormat.LineUnitBefore = 0; 350 | codeTable.Range.ParagraphFormat.LineUnitAfter = 0; 351 | codeTable.Range.ParagraphFormat.SpaceBefore = 0; 352 | codeTable.Range.ParagraphFormat.SpaceAfter = 0; 353 | codeTable.Range.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceExactly; 354 | codeTable.Range.ParagraphFormat.LineSpacing = 12; 355 | codeTable.Range.Font.Bold = 0; 356 | codeTable.Range.ParagraphFormat.WordWrap = 0; 357 | } 358 | 359 | 360 | 361 | 362 | 363 | /// 364 | /// 弹出关于作者和本项目的信息。 365 | /// 366 | /// 367 | /// 368 | private void btn_AboutAddinAndAuthor_Click(object sender, RibbonControlEventArgs e) { 369 | Form_About.Form_About AboutWindow = new Form_About.Form_About(); 370 | AboutWindow.Show(); 371 | } 372 | } 373 | } 374 | -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/ASCII.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/ASCII.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/About.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/About.wmf -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/FarEast.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/FarEast.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/InsertCode.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/InsertCode.wmf -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/InsertEquation.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/InsertEquation.wmf -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/InsertFieldCode.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/InsertFieldCode.wmf -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/delta.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/delta.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code/Ribbons/icons/size.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LittleNewton/Equation_and_Codebox/bc37654f712b831f8d3d8ddc7f581f39795c672f/src/Equation_and_Code/Ribbons/icons/size.jpg -------------------------------------------------------------------------------- /src/Equation_and_Code/ThisAddIn.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | #pragma warning disable 414 12 | namespace Equation_and_Code { 13 | 14 | 15 | /// 16 | [Microsoft.VisualStudio.Tools.Applications.Runtime.StartupObjectAttribute(0)] 17 | [global::System.Security.Permissions.PermissionSetAttribute(global::System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 18 | public sealed partial class ThisAddIn : Microsoft.Office.Tools.AddInBase { 19 | 20 | internal Microsoft.Office.Tools.CustomTaskPaneCollection CustomTaskPanes; 21 | 22 | internal Microsoft.Office.Tools.SmartTagCollection VstoSmartTags; 23 | 24 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 25 | private global::System.Object missing = global::System.Type.Missing; 26 | 27 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 28 | internal Microsoft.Office.Interop.Word.Application Application; 29 | 30 | /// 31 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 32 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 33 | public ThisAddIn(global::Microsoft.Office.Tools.Word.ApplicationFactory factory, global::System.IServiceProvider serviceProvider) : 34 | base(factory, serviceProvider, "AddIn", "ThisAddIn") { 35 | Globals.Factory = factory; 36 | } 37 | 38 | /// 39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 40 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 41 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 42 | protected override void Initialize() { 43 | base.Initialize(); 44 | this.Application = this.GetHostItem(typeof(Microsoft.Office.Interop.Word.Application), "Application"); 45 | Globals.ThisAddIn = this; 46 | global::System.Windows.Forms.Application.EnableVisualStyles(); 47 | this.InitializeCachedData(); 48 | this.InitializeControls(); 49 | this.InitializeComponents(); 50 | this.InitializeData(); 51 | } 52 | 53 | /// 54 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 55 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 56 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 57 | protected override void FinishInitialization() { 58 | this.InternalStartup(); 59 | this.OnStartup(); 60 | } 61 | 62 | /// 63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 64 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 65 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 66 | protected override void InitializeDataBindings() { 67 | this.BeginInitialization(); 68 | this.BindToData(); 69 | this.EndInitialization(); 70 | } 71 | 72 | /// 73 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 74 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 75 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 76 | private void InitializeCachedData() { 77 | if ((this.DataHost == null)) { 78 | return; 79 | } 80 | if (this.DataHost.IsCacheInitialized) { 81 | this.DataHost.FillCachedData(this); 82 | } 83 | } 84 | 85 | /// 86 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 87 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 88 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 89 | private void InitializeData() { 90 | } 91 | 92 | /// 93 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 94 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 95 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 96 | private void BindToData() { 97 | } 98 | 99 | /// 100 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 101 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 102 | private void StartCaching(string MemberName) { 103 | this.DataHost.StartCaching(this, MemberName); 104 | } 105 | 106 | /// 107 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 108 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 109 | private void StopCaching(string MemberName) { 110 | this.DataHost.StopCaching(this, MemberName); 111 | } 112 | 113 | /// 114 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 115 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 116 | private bool IsCached(string MemberName) { 117 | return this.DataHost.IsCached(this, MemberName); 118 | } 119 | 120 | /// 121 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 122 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 123 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 124 | private void BeginInitialization() { 125 | this.BeginInit(); 126 | this.CustomTaskPanes.BeginInit(); 127 | this.VstoSmartTags.BeginInit(); 128 | } 129 | 130 | /// 131 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 132 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 133 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 134 | private void EndInitialization() { 135 | this.VstoSmartTags.EndInit(); 136 | this.CustomTaskPanes.EndInit(); 137 | this.EndInit(); 138 | } 139 | 140 | /// 141 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 142 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 143 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 144 | private void InitializeControls() { 145 | this.CustomTaskPanes = Globals.Factory.CreateCustomTaskPaneCollection(null, null, "CustomTaskPanes", "CustomTaskPanes", this); 146 | this.VstoSmartTags = Globals.Factory.CreateSmartTagCollection(null, null, "VstoSmartTags", "VstoSmartTags", this); 147 | } 148 | 149 | /// 150 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 151 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 152 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 153 | private void InitializeComponents() { 154 | } 155 | 156 | /// 157 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 158 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 159 | private bool NeedsFill(string MemberName) { 160 | return this.DataHost.NeedsFill(this, MemberName); 161 | } 162 | 163 | /// 164 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 165 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 166 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 167 | protected override void OnShutdown() { 168 | this.VstoSmartTags.Dispose(); 169 | this.CustomTaskPanes.Dispose(); 170 | base.OnShutdown(); 171 | } 172 | } 173 | 174 | /// 175 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 176 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 177 | internal sealed partial class Globals { 178 | 179 | /// 180 | private Globals() { 181 | } 182 | 183 | private static ThisAddIn _ThisAddIn; 184 | 185 | private static global::Microsoft.Office.Tools.Word.ApplicationFactory _factory; 186 | 187 | private static ThisRibbonCollection _ThisRibbonCollection; 188 | 189 | internal static ThisAddIn ThisAddIn { 190 | get { 191 | return _ThisAddIn; 192 | } 193 | set { 194 | if ((_ThisAddIn == null)) { 195 | _ThisAddIn = value; 196 | } 197 | else { 198 | throw new System.NotSupportedException(); 199 | } 200 | } 201 | } 202 | 203 | internal static global::Microsoft.Office.Tools.Word.ApplicationFactory Factory { 204 | get { 205 | return _factory; 206 | } 207 | set { 208 | if ((_factory == null)) { 209 | _factory = value; 210 | } 211 | else { 212 | throw new System.NotSupportedException(); 213 | } 214 | } 215 | } 216 | 217 | internal static ThisRibbonCollection Ribbons { 218 | get { 219 | if ((_ThisRibbonCollection == null)) { 220 | _ThisRibbonCollection = new ThisRibbonCollection(_factory.GetRibbonFactory()); 221 | } 222 | return _ThisRibbonCollection; 223 | } 224 | } 225 | } 226 | 227 | /// 228 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 229 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Tools.Office.ProgrammingModel.dll", "17.0.0.0")] 230 | internal sealed partial class ThisRibbonCollection : Microsoft.Office.Tools.Ribbon.RibbonCollectionBase { 231 | 232 | /// 233 | internal ThisRibbonCollection(global::Microsoft.Office.Tools.Ribbon.RibbonFactory factory) : 234 | base(factory) { 235 | } 236 | } 237 | } 238 | -------------------------------------------------------------------------------- /src/Equation_and_Code/ThisAddIn.Designer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/Equation_and_Code/ThisAddIn.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Xml.Linq; 6 | using Word = Microsoft.Office.Interop.Word; 7 | using Office = Microsoft.Office.Core; 8 | using Microsoft.Office.Tools.Word; 9 | 10 | namespace Equation_and_Code 11 | { 12 | public partial class ThisAddIn 13 | { 14 | private void ThisAddIn_Startup(object sender, System.EventArgs e) 15 | { 16 | } 17 | 18 | private void ThisAddIn_Shutdown(object sender, System.EventArgs e) 19 | { 20 | } 21 | 22 | #region VSTO generated code 23 | 24 | /// 25 | /// Required method for Designer support - do not modify 26 | /// the contents of this method with the code editor. 27 | /// 28 | private void InternalStartup() 29 | { 30 | this.Startup += new System.EventHandler(ThisAddIn_Startup); 31 | this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown); 32 | } 33 | 34 | #endregion 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/Equation_and_Code/app.config: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /utils/32.reg: -------------------------------------------------------------------------------- 1 | Windows Registry Editor Version 5.00 2 | 3 | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel] 4 | "MyComputer"="Enabled" 5 | "LocalIntranet"="Enabled" 6 | "Internet"="Enabled" 7 | "TrustedSites"="Enabled" 8 | "UntrustedSites"="Enabled" 9 | -------------------------------------------------------------------------------- /utils/64.reg: -------------------------------------------------------------------------------- 1 | Windows Registry Editor Version 5.00 2 | 3 | [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel] 4 | "MyComputer"="Enabled" 5 | "LocalIntranet"="Enabled" 6 | "TrustedSites"="Enabled" 7 | "Internet"="Enabled" 8 | "UntrustedSites"="Enabled" 9 | --------------------------------------------------------------------------------