LyX 中存储在外部文件中的渲染/预览命令

LyX 中存储在外部文件中的渲染/预览命令

我想要一个可以在 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 数学那样显示为蓝色,而是显示为黑色。

相关内容