首页 > 代码库 > 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包中支持的语言可能不是很全。比如不支持JavaScript,html5等。
支持的语言列表可以参看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输入中文与代码高亮