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中添加如下设置信息即可(放在两门语言定义中间)

\[email protected]{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 !

时间: 2024-08-24 18:42:27

Lyx输入中文与代码高亮的相关文章

textView输入中文时和高亮英文输入法时的字数统计

统计字数 1.首先注册监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textViewEditChanged:) name:@"UITextViewTextDidChangeNotification" object:_textView]; 2.实现监听方法 - (void)textViewEditChanged:(NSNotification *)obj{ UITextView *

允许Sublime编辑器在Ubuntu上输入中文

Sublime Text是一款功能非常强大的轻量级代码编辑器,有关功能介绍和使用可以看我另一篇文章的描述http://www.cnblogs.com/jaxu/p/5037547.html 不过,在Ubuntu系统上Sublime Text不支持输入中文,如何解决呢? 搜索百度和Google,在github上发现了一个解决方案,经过尝试可以使用. 其基本思路就是用C编写一个hotfix然后编译成共享库,移到Sublime Text的安装目录中,启动的时候带上这个共享库.步骤和shell命令在gi

UITextField限制输入中文字数

前面写一了篇,UITextField Category来限制输入的字数,是有个Bug的,要输入中文时会crash.现在修改 了下,代码如下 .h文件 #import <UIKit/UIKit.h> @interface UITextField (LimitLength) /** * 使用时只要调用此方法,加上一个长度(int),就可以实现了字数限制,汉字不可以 * * @param length */ - (void)limitTextLength:(int)length; /** * uit

Ubuntu安装Sublime Text并输入中文

Sumblime Text3是一款传说中的神级代码编辑器,具有下面特点: 1.代码高亮,自己主动补全 2.各种插件扩展 3.外观简洁舒适 4.跨平台(Windows,Linux,OS X) 简而言之就是一款让人爱不释手的编辑器.事不宜迟,立即介绍下怎样在Ubuntu中安装它并使其能输入中文 測试环境:Ubuntu Kylin 14.04 步骤: 1.安装搜狗输入法 2.安装sublime text3 3.安装package control(非必须,但推荐安装) 4.改动sublime_imfix

关于raw_input输入中文时的编码转换

今日在敲代码时出现了如下问题 中文的编码出现了问题(在键盘输入中文时也会出现同样的问题),中文的编码应该是utf-8编码格式,有以下两种方式来进行编码转换: (1)decode用法:str  -> decode('the_coding_of_str') -> unicode 即写为格式:raw_input('净利润为:'.decode('utf-8').encode('gbk')) (2)encode用法:unicode -> encode('the_coding_you_want')

JavaScript控制输入框中只能输入中文、数字和英文

1.问题背景 遇到这样一个问题:有一个输入框,要求只能输入中文.数字和英文(即过滤特殊字符串) 2.JS代码 function  checkUsername() { //正则表达式 var reg = new RegExp("^[a-zA-Z\d\u4E00-\u9FA5]+$"); //获取输入框中的值 var username = document.getElementById("username").value.trim(); //判断输入框中有内容 if(u

sublime text3 输入中文的解决方法及注册

让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装. Ubuntu可以直接按照下面的教程 sublime text3 输入中文的解决方法 1. 下载我们需要的文件,打开终端 ,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2. 将下载的文件解压之后,移到当前目录(-目录下边),然后执行下边命令: cd ~/su

解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

http://my.oschina.net/u/219482/blog/341452 感谢作者 ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用. 想必是qt版本的原因吧. 后来,试着将从源中安装的fcitx-frontend-qt5复制到Qt安装目录下,竟然可以了. 方法如下(fcitx输入法): 1.安装fcitx-fronten

解决Ubuntu下使用命令行subl 打开Sublime text3无法输入中文的问题

cd /opt/sublime_text/ sudo vim sub-fcitx.c 新建文件sub-fcitx.c,建议放在Sublime Text的所在目录下,将下面的代码复制进去 ,参考: http://jianghang.name/index.php/archives/11/ #include <gtk/gtk.h> #include <gdk/gdkx.h> typedef GdkSegment GdkRegionBox; struct _GdkRegion { long