首页 > 代码库 > Lyx输入中文与代码高亮

Lyx输入中文与代码高亮

如果您看了我的这个随笔:《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}

效果:

技术分享

是不是还不错呢~不过不得不提一个问题就是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]%

技术分享

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

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

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

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

技术分享

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

 

-------

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

 

Lyx输入中文与代码高亮