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 !

 

posted on 2014-12-28 22:37  卖火柴的小东东  阅读(2599)  评论(1编辑  收藏  举报

导航