我想嵌入一个小程序列表,并已Insert -> Program Listing
在 LyX 的菜单中使用它。
设置对话框支持选择语言(Java),但我实际上看不出任何区别。
有没有办法获得真正的语法高亮/着色?
答案1
Lyx 的“插入 -> 程序列表”内部基于listings
包,它提供了大量的选项来影响排版。您可以listings
在“列表设置”对话框的“高级”页面上输入这些选项。例如,输入
keywordstyle={\color{blue}}
所有关键词将以蓝色排版。为了快速入门,请查看其他问题列表标签 – 或查阅(优秀!)listings
文档
您在当前设置中“看不到任何差异”的原因可能是字体问题:罪魁祸首是typewriter
LaTeX 中的标准字体,它没有粗体版本;但是,的默认字体listings
是keywordstyle=\bfseries
,即关键字以粗体排版。因此,只需typewriter
在“文档 -> 设置 -> 字体”中尝试另一种字体,看看这是否有区别。
(BeraMono 是用于排版列表的良好字体。)
答案2
举个例子GRASS-GIS 模块名称。代码进入 Listings 部分(可以在 Document > Settings... 下找到):
alsoletter={*()"'0123456789.}
alsoother={\{\=\}}
backgroundcolor={\color{lightgray3}}
basicstyle={\small\ttfamily}
breaklines=true
commentstyle={\itshape\color{lightgray}}
fillcolor={\color{red}}
frame=l
framexleftmargin=1em
framextopmargin=1em
keywordstyle={\color{magenta}\bfseries}
language=bash
literate={{=}{{{\color{blue}=}}}1}
morecomment={[n][\keywordstyle]{{}{}}}
morekeywords={GRASS_OVERWRITE, region, zoom, nsres, ewres, MASK, input, in, rast, map, output, out, type, use, attrcolumn, rgbcolumn, labelcolumn, method, size, title, color, null(), S, N, W, E, a, b, c, d, e, f, g, n, s, w, e, --o, -c, -e, -s, -ca}
otherkeywords={g.access,g.cairocomp,g.copy,g.dirseps,g.filename,g.findetc,g.findfile,g.gisenv,g.gui,g.list,g.mapset,g.mapsets,g.message,g.mkfontcap,g.mlist,g.mremove,g.parser,g.pnmcat,g.pnmcomp,g.ppmtopng,g.proj,g.region,g.remove,g.rename,g.setproj,g.tempfile,g.version,r.basins.fill,r.bitpattern,r.buffer,r.carve,r.category,r.circle,r.clump,r.coin,r.colors,r.colors.out,r.composite,r.compress,r.contour,r.cost,r.covar,r.cross,r.describe,r.digit,r.distance,r.drain,r.external,r.external.out,r.fill.dir,r.flow,r.grow,r.grow.distance,r.gwflow,r.his,r.horizon,r.in.arc,r.in.ascii,r.in.bin,r.info,r.in.gdal,r.in.gridatb,r.in.lidar,r.in.mat,r.in.png,r.in.poly,r.in.xyz,r.kappa,r.lake,r.le,r.li,r.los,r.mapcalc,r.mfilter,r.mode,r.neighbors,r.null,r.out.arc,r.out.ascii,r.out.bin,r.out.gdal,r.out.gridatb,r.out.mat,r.out.mpeg,r.out.png,r.out.pov,r.out.ppm,r.out.ppm3,r.out.tiff,r.out.vrml,r.out.vtk,r.param.scale,r.patch,r.profile,r.proj,r.quant,r.quantile,r.random,r.random.cells,r.random.surface,r.reclass,r.recode,r.region,r.regression.line,r.report,r.resamp.bspline,r.resamp.filter,r.resamp.interp,r.resample,r.resamp.rst,r.resamp.stats,r.rescale,r.rescale.eq,r.ros,r.series,r.series.interp,r.shaded.relief2,r.slope.aspect,r.solute.transport,r.spread,r.spreadpath,r.statistics,r.statistics2,r.statistics3,r.stats,r.sun,r.sunmask,r.support,r.support.stats,r.surf.area,r.surf.contour,r.surf.fractal,r.surf.gauss,r.surf.idw,r.surf.idw2,r.surf.random,r.terraflow,r.texture,r.thin,r.timestamp,r.topidx,r.topmodel,r.to.rast3,r.to.rast3elev,r.to.vect,r.transect,r.univar,r.uslek,r.usler,r.viewshed,r.volume,r.walk,r.water.outlet,r.watershed,r.what,r.what.color,v.buffer,v.build,v.build.polylines,v.category,v.class,v.clean,v.colors,v.colors.out,v.convert,v.db.connect,v.db.select,v.delaunay,v.distance,v.drape,v.edit,v.external,v.external.out,v.extract,v.extrude,v.generalize,v.hull,v.in.ascii,v.in.db,v.in.dwg,v.in.dxf,v.info,v.in.lidar,v.in.ogr,v.in.region,v.in.sites,v.kcv,v.kernel,v.label,v.label.sa,v.lidar.correction,v.lidar.edgedetection,v.lidar.growing,v.lrs,v.mapcalc,v.mkgrid,v.neighbors,v.net,v.net.alloc,v.net.allpairs,v.net.bridge,v.net.centrality,v.net.components,v.net.connectivity,v.net.distance,v.net.flow,v.net.iso,v.net.path,v.net.salesman,v.net.spanningtree,v.net.steiner,v.net.timetable,v.net.visibility,v.normal,v.out.ascii,v.out.dxf,v.outlier,v.out.ogr,v.out.postgis,v.out.pov,v.out.svg,v.out.vtk,v.overlay,v.parallel,v.patch,v.perturb,v.proj,v.qcount,v.random,v.reclass,v.rectify,v.sample,v.segment,v.select,v.split,v.support,v.surf.bspline,v.surf.idw,v.surf.rst,v.timestamp,v.to.3d,v.to.db,v.to.points,v.to.rast,v.to.rast3,v.transform,v.type,v.univar,v.vect.stats,v.vol.rst,v.voronoi,v.what,v.what.rast,v.what.rast3,m.cogo,m.measure,m.nviz.image,m.nviz.script,m.transform}
prebreak={\textbackslash}
sensitive=true
stepnumber=1
tabsize=4
upquote=true
它工作正常,除了一个错误:关键词 v.lidar.growing
着色不正确。因为已经有一个r.grow
条目,所以只有其中的一部分看起来获得了所需的颜色(这里是粗体字母),v.lida
r.growing
。