ctexart下插入C语言代码,对高亮着色产生了疑问

发布于 2024-04-21 22:14:26

1713708488833.png
如图,我使用lstlisting插入,原本float.h是一个库的名字,但是生成的代码把这个float单词给高亮了,这不符合我的心意。想请教如何删掉?
此外,想请教大神的C语言代码块是怎么搭配的颜色,如果可以给一个lstset的模板就更加感激不尽了

查看更多

关注者
0
被浏览
234
LaTeXStudio
LaTeXStudio 2024-04-22
这家伙很懒,什么也没写!

提供下你的代码。这样不好弄呀。我整理下答案:

有一个方案就是这样的,listings 有个技巧,就是 。literate 参数用于定义如何处理源代码中的特殊字符,它允许用户指定一个字符和相应的替换文本,从而在显示源代码时进行自定义替换或格式化。

效果如下:

\documentclass[UTF8]{ctexart} % 使用 UTF8 编码和 ctexart 文档类
\usepackage[dvipsnames]{xcolor}
\usepackage{minted} % 语法高亮和代码样式设置方面更加强大和灵活
\usemintedstyle{xcode}
\usepackage{listings}% 引入listings包,用于在文档中插入代码,并可自定义代码样式
\lstset{
    language=c,
    basicstyle=\ttfamily, % 设置字体族
    numbers=left, %行号在左侧显示
    numberstyle= \tiny, %行号字体
    % identifierstyle=\color{black},
    keywordstyle=\bfseries\color{NavyBlue}, % 设置关键字为粗体,颜色为NavyBlue
    morekeywords={}, % 设置更多的关键字,用逗号分隔
    emph={}, % 指定强调词,如果有多个,用逗号隔开
    emphstyle=\bfseries\color{Rhodamine}, % 强调词样式设置
    commentstyle=\itshape\color{black!50!white}, % 设置注释样式:斜体+浅灰色
    columns=flexible %让注释变得紧凑
    stringstyle=\bfseries\color[RGB]{128,0,0}, % 设置字符串样式
    showstringspaces=false, %不显示代码字符串中间的空格标记
    breaklines=true,  %代码过长则换行
    frame=shadowbox, %阴影效果 + 用方框框住代码块
    % backgroundcolor=\color{red!50!green!50!blue!50}, %代码块背景色为浅灰色
    rulesepcolor= \color{ red!20!green!20!blue!20}, %代码块边框颜色
    escapeinside=``, %英文分号中可写入中文
    xleftmargin=2.4em, 
    xrightmargin=0.5em,
    aboveskip=1em,
    framexleftmargin=2em,
    %directivestyle={},
    literate={float.}{float.}6,
}
\usepackage{graphicx}
\title{这是一个中文文章的标题} % 文章标题
\author{作者名} % 作者名字
\date{\today} % 文章日期,使用当前日期

\begin{document}

\maketitle % 生成标题页

\tableofcontents%生成目录
\begin{lstlisting}
#include<stdio.h>
#include<float.h> //这是一个新的库
int main()
float a = 1.0;
#ifdef foo
#else
#endif
printf("Today is a niceday!")
printf("FLT_MIN:%f\n"FLT_MIN);
printf("FLT_MAX:%f\n"FLT_MAX);
printf("DBL_MIN:%f\n"DBL_MIN);
printf("DBL_MAX:%f\n"DBL_MAX);
return0:
\end{lstlisting}

\end{document}

image.png

2 个回答
CAN同学
CAN同学 2024-04-22
LaTeX菜鸡,努力成长为大神
\usepackage{xcolor}
\usepackage{minted} % 语法高亮和代码样式设置方面更加强大和灵活
\usemintedstyle{xcode}
\usepackage{listings}% 引入listings包,用于在文档中插入代码,并可自定义代码样式
\lstset{
    basicstyle=\ttfamily, % 设置字体族
    numbers=left, %行号在左侧显示
    numberstyle= \tiny, %行号字体
    % identifierstyle=\color{black},
    keywordstyle=\bfseries\color{NavyBlue}, % 设置关键字为粗体,颜色为NavyBlue
    morekeywords={}, % 设置更多的关键字,用逗号分隔
    emph={}, % 指定强调词,如果有多个,用逗号隔开
    emphstyle=\bfseries\color{Rhodamine}, % 强调词样式设置
    commentstyle=\itshape\color{black!50!white}, % 设置注释样式:斜体+浅灰色
    columns=flexible %让注释变得紧凑
    stringstyle=\bfseries\color[RGB]{128,0,0}, % 设置字符串样式
    showstringspaces=false, %不显示代码字符串中间的空格标记
    breaklines=true,  %代码过长则换行
    frame=shadowbox, %阴影效果 + 用方框框住代码块
    % backgroundcolor=\color{red!50!green!50!blue!50}, %代码块背景色为浅灰色
    rulesepcolor= \color{ red!20!green!20!blue!20}, %代码块边框颜色
    escapeinside=``, %英文分号中可写入中文
    xleftmargin=2.4em, 
    xrightmargin=0.5em,
    aboveskip=1em,
    framexleftmargin=2em
}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览