LaTeX执行系统命令
2023年11月13日,
实现了使用dtx
编写python
及其他程序代码的工作,这带来的好处就是可以文学化编程,在LaTeX
中可以详细的记录程序的编写思路和使用方法,但是仍然存在一个没有解决的问题:
提取程序源码的过程中自动建立文件夹,并把源程序放在文件夹中。本身这个工作可以单独建立一个文件夹然后再执行分离程序,但是考虑到二合一文件的目标就是为了方便维护单一文件,所以需要添加这个LaTeX
自动创建文件夹的功能。
2023年11月13日,
实现了使用dtx
编写python
及其他程序代码的工作,这带来的好处就是可以文学化编程,在LaTeX
中可以详细的记录程序的编写思路和使用方法,但是仍然存在一个没有解决的问题:
提取程序源码的过程中自动建立文件夹,并把源程序放在文件夹中。本身这个工作可以单独建立一个文件夹然后再执行分离程序,但是考虑到二合一文件的目标就是为了方便维护单一文件,所以需要添加这个LaTeX
自动创建文件夹的功能。
由于zotero
翻译插件的需要,如果使用免费的也很好用,但是翻译的速度和效果不是很好。于是决定今天尝试一下那些需要开通api
的服务。由于自己本身就有百度帐号,所以直接使用百度帐号登录
翻译开放平台,
然后点击
个人开发者
→开通通用翻译API
→开发者信息
右侧就可以看到申请的ID
和Key
了。此处可以参考 百度翻译Key申请教程
打开zotero
→ 编辑
→ 首选项
→翻译
→翻译服务
→百度
→密钥
填入ID#Key
→ 配置完毕。
经过百度得到一个Python
脚本,为了方便使用,放在此处。
1 | #! /usr/bin/env python3 |
将baidu.py
放于GoldenDict
的词曲存放目录,然后依次编辑
→词曲
→程序
→添加
→类型
(纯文本)→名称
(baidu)
→ 命令行
1 | python3 /home/feng/.GoldenDict/baidu.py %GDWORD% |
→确认
→配置完毕
。
注意:在命令行中,必须使用绝对路径,否则不能正常使用。同时不要忘记给baidu.py
赋上执行权限,即执行命令
1 | sudo chmod +x /home/feng/.GoldenDict/baidu.py |
在学习和工作中,需要编写程序,但是注释过多的话会影响速度,特别是对于科研工作而言
是一个很重要的参考!
对于一个脚本语言而言,其方便的地方是编程快速,但是其运行速度不如c
等编译型语言,但是从整体来看,编写python
之类的程序会更加方便。不写注释虽然可以提高运行速度,但是时间久了可能自己都读不懂程序在干什么及当时设计思路都无法回忆起来,更别谈及程序维护了。为了调和注释与可维护的矛盾,决定借用latex
宏包的编写思路,使用dtx
文件编写源码与说明文档二合一的文件,这样可以生成纯粹的无任何注释的脚本程序,同时也可以生成PDF
格式的详细说明文档,不仅可以记录设计思路,还可以详细说明技术细节。
完成第一个 Python
脚本示例,实现了源码与注释的分离,使用 xetex
编译
timecristal.dtx
将获得 timecristal.py
无注释脚本程序,使用 xelatex
编译
timecristal.dtx
将会获得脚本的说明文档,详细的记录了各段代码的作用。
cexam.sty
是我开发的一款用来编写试题的宏包,2022年之前我是一名高中物理教师,所以在工作中不可避免的会遇到输入数学公式的问题,同时我也希望能够将自己多年的备课及解决的疑难问题记录下来,以备学生们在复习时或者刚开始学习物理的同学作为教材的补充使用.历经各种困难,最后找到了LaTeX
,发现了这个举世无双的神奇软件.2016年自学了一年的宏包编写,成功解决了高中的物理数学试卷的排版问题。但是之前直接写的sty文件和cls文件,实现了选择、填空、计算等题型的自动排版,同时实现批量处理各种题型、实现数学与图片的排版、自动生成beamer文档、生成答题卡、教师与学生不同模式排版。但是后来发现,功能越多代码越复杂,很难维护,同时也少了一份使用说明,所以写本文档,有两个目的:
2023-11-12 17:36
)版本号v3.4.0
二年前写了一支用于分离Word版习题答案的VBA脚本,适用于MsOffice2007及以上版本,今天为了准备几份中学物理资料,想起来这个自动化的程序。源码发布于https://gitlab.com/fengzhenhua/separate-answers,
请安装最新的V27版,第一个方法是复制下述源码保存为分离答案V27.bas
或从我的GITEE
发布页下载后
导入到MsOffice2007 或以上版本即可以实现一键答案自动分离功能。
考虑到以后要编写大量代码,决定使用文学编程写出具体的编程思路和使用文档,但是在测试之前写的cexam.dtx
文件时,发现已经不能正常编译,原因在于我长时间没有更新代码,而LaTeX3
已经更新了很多了,其中一些命令改变了定义,所以之前的文档需要更新,但是考虑到时间关系暂时不去更新cexam.dtx
,在试图解决问题的过程中发现有一个神奇的宏包pythontex
可以在LaTeX
文档中插入Python
代码还可以插入运行后的结果,由于没有深入研究,暂时将其README.md
放于此处,留待研究。
相信大家应该经常看到 npm 和 pip 两个术语,我也经常看到,pip 经常用,但是 npm 只是眼熟,没仔细了解过,今天了解 typescript 的时候又看到了,所以特地对比了一下 pip 和 npm 两个,查阅相关资料和博客后,发现 npm 和 pip 简直出奇的像,功能非常类似,都是负责各自领域的工具包的安装和下载,只不过 npm 服务于 Node.js,pip 服务于 Python。甚至可以共用一套相同的文字介绍框架,仅仅是替换了少数术语名词。
diary.sh
脚本已经比较完善了,但是还有一个功能就是主题升级,由于本博客对Next
主题做了比较深入的定制,改变了基本配色,所以若直接升级Next
主题,又需要重新配置一遍,这很浪费时间。但是,如果不对主题升级,那对于性能的改进和错误的修复及新功能的增加都不能享受,所以综合考虑后,在diary.sh
脚本中增加了主题升级这一功能,使用脚本自动修改对应主题的配置,这样既可以保证主题最新,又可以保证快速的使用定制版的主题。
1 | ThemeNextColor=#006600 |
2023年11月09日,
开始正式将mupdf
作为与nvim
和vim
配合编写LaTeX
的预览pdf
阅读器。常用命令列表如下
快捷键 | 功能 |
---|---|
f | 全屏 |
W | 适应宽度 |
H | 适应高度 |
, | 翻到上页页尾 |
. | 翻到下页页首 |
b | 翻到上页同一位置 |
空格 | 翻到下页同一位置 |
鼠标左键 | 当手形工具可以自动翻到上一页或下一页,可以点链接 |
鼠标滚轮 | 上下滚屏 |
鼠标滚轮+Shift | 左右滚屏 |
鼠标滚轮+Ctrl | 缩放 |
由于编写LaTeX
的需要,一些特殊的功能需要相应的宏包支持,但是时间一长就会遗忘,因些开此篇博客专门记录一些日常使用到的宏包,并简单注明功能。具体使用规则,请使用TexLive
自带的查询命令:texdoc packagename
查询相应的说明文档。