我想要一个可以在 LyX 的编辑器中呈现的乳胶命令文件。
互联网和 tex stack exchange 上到处都存在这个问题的变体,但答案似乎不一致、不够明确或过时。
假设我创建一个名为mycommands.tex
% Tex commands
\newcommand{foo}{\alpha}
\newcomman{bar}{\beta}
然后,在 LyX 序言中,我会做\usepackage{mycommands}
或\input{mycommands.tex}
有没有办法让这些用户定义的命令进行渲染/预览?更清楚一点,如果我在 LyX 中输入 control+M,然后输入 \alpha,它会在我的编辑器中渲染一个 $\alpha$。如果我输入 control+M,然后输入 \foo,它也会渲染吗?
LyX 必须从某个地方获取这些定义。并且运行 Linux 的人应该可以访问所有安装文件,并且必须有一种方法可以定义在 LyX 中呈现的新命令。
这是相关的:tex stack exchange 帖子
谢谢!
答案1
我想我已经搞清楚了。是的,可以渲染序言中定义的命令,即使它们是从另一个文件加载定义的。我使用的是 LyX 版本 2.3.2 和 Ubuntu 16.04 LTS。关键是即时预览。
开启即时预览
工具 >> 偏好设置外观和感觉 >> 显示
- 如果没有该选项,请尝试以下步骤这些说明,其中要求您安装
preview.sty
并检查其他依赖项 preview.sty
可能不包含在你的 LaTeX 发行版中,使用 tex-live 管理器时可能会出错(tlmgr
。长话短说,似乎您无法使用旧的 LaTeX 发行版安装新软件包,至少在 Ubuntu 中是这样。我成功地完全删除了我的 LaTeX 发行版并从头开始安装最新版本,如下所示这些详尽的说明
创建 .sty 文件
将命令列在以“.sty”为后缀的文件中。就这么简单,例如,我的命令如下
% my commands.sty file
\newcommand{\foobar}{\beta}
加载 sty 文件
在序言中(文档 >> 设置 >> LaTeX 序言),调用
% in the preamble: notice the suffix .sty is removed
\usepackage{path/to/commands}
确保不要在前言中输入“sty”后缀。sty 文件中没有特殊的页眉、页脚等。
在 LyX 中输入新命令
像平常一样使用特殊命令 (Control+m) 输入数学公式,然后将光标移出数学环境。几秒钟后,命令将呈现。它们不会像典型的 LyX 数学那样显示为蓝色,而是显示为黑色。