Lyx输入中文与代码高亮

时间:2021-07-10 12:00:10

如果您看了我的这个随笔:《OpenSUSE 13.2安装Texlive2014+Texmaker+Lyx》

(一)LyX中文

打开Lyx直接新建开始使用,那么输入的中文会是编译失败的,疑?为什么它的说明文档和教程编译都没有问题...

原因即在于每个文档的配置都是不同的。你可以打开“帮助 - Lyx介绍”,自己也新建一个文件。然后打开“文档 - 首选项”。会发现配置是不同的。如果对着实例改,那么就可以运行中文了,不过还是会有很多的地方,莫名其妙的编译不过,可能是还有些什么设置我没有去改,刚刚接触也不会改。所以最简单的方法就是复制Lyx介绍到你的目录,删除原有内容,然后编辑。这是最简单有效的方法,可以应付绝大多数的编写工作,以后了解多了可以再自己配置

(二)LyX代码高亮

对于程序员来说,假如想插入些代码,没有高亮肯定是无法接受的。下面来看下方法。

打开“文档 - 首选项”,进入“LaTex导言区”,追加如下代码:

\usepackage{listings}
\usepackage{xcolor}
\lstset{
%行号
numbers=left,
%背景框
framexleftmargin=10mm,
frame=none,
%背景色
%backgroundcolor=\color[rgb]{1,1,0.76},
backgroundcolor=\color[RGB]{245,245,244},
%样式
keywordstyle=\bf\color{blue},
identifierstyle=\bf,
numberstyle=\color[RGB]{0,192,192},
commentstyle=\it\color[RGB]{0,96,96},
stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},
%显示空格
showstringspaces=false,
xleftmargin=2em, %边距
xrightmargin=2em,
aboveskip=1em
}

这样,在“插入 - Tex代码”,就可以使用如下的代码进行插入代码

\begin{lstlisting}[language={C}]
#include <stdio.h>
int main(void)
{
printf("Hello LyX!");
return 0;
}
\end{lstlisting}

效果:

Lyx输入中文与代码高亮

是不是还不错呢~不过不得不提一个问题就是listings包中支持的语言可能不是很全。比如不支持JavaScripthtml5等。

支持的语言列表可以参看listings说明.pdf(16页)想更多的了解listings也可以去查看此文档

LyX不支持Javascript的解决办法:

修改安装目录下的语言支持文件。路径是/usr/local/texlive/2014/texmf-dist/tex/latex/listings/。我们在lstlang1.sty中添加如下设置信息即可(放在两门语言定义中间)

\lst@definelanguage{JavaScript}%
{morekeywords={typeof,new,true,false,catch,function,return,null,catch,switch,var,if,in,while,do,else,case,break},%
morecomment=[l]//,%
morecomment=[s]{/*}{*/},%
morestring=[b]",%
morestring=[b]',%
}[keywords,comments,strings]%

Lyx输入中文与代码高亮

OK,在语言选项的地方使用“JavaScript”即可实现代码高亮。

还有一种灵活的方法,是直接在导言区添加代码。如添加HTML5支持:

\lstdefinelanguage{HTML5}[]{HTML}{
sensitive=false,
morekeywords={canvas},
tag=[s]
}

把定义代码放入导言区也是可以实现相同的功能。如下:

Lyx输入中文与代码高亮

OK,基本的使用LyX应该是没有问题了。

-------

PS:万事具备,本打算用LyX完成我的毕业论文,去翻看了群里的说明才发现学校给了毕设模板.....万恶的学校&&M¥Office !