latex lstlisting插入代码负号(-)丢失的问题

本文介绍了解决特定字体显示异常的方法,建议使用除宋体外的其他字体以改善显示效果。

解决方法:换个字体,别用宋体

\lstset{
	basicstyle = \ttfamily,
}
LaTeX 中使用 `lstlisting` 环境插入代码时,如果代码行过长,会导致内容超出页面边框,影响排版美观。为了解决这一问题,可以结合多个宏包和设置来实现自动换行、调整边框与代码间距等功能。 ### 1. 自动换行设置 通过 `listings` 宏包提供的 `breaklines` 参数可以启用自动换行功能。默认情况下,`listings` 只会在空白字符处换行,若希望更灵活地处理换行行为,可以配合 `columns=flexible` 或 `columns=fixed` 来控制空格的处理方式: ```latex \usepackage{listings} \lstset{ breaklines=true, columns=flexible } ``` 这样设置后,超出页面宽度的代码将会自动换行,避免溢出边框[^3]。 ### 2. 使用 `framed` 宏包封闭边框 当代码跨页显示时,`lstlisting` 默认的边框可能会断开,导致视觉不连贯。为解决此问题,可以引入 `framed` 宏包,并将其与 `listings` 结合使用: ```latex \usepackage{framed} \lstset{ frame=single, framesep=5pt } ``` 上述配置将确保即使代码跨页,边框依然能够完整显示[^2]。 ### 3. 调整边框与代码间距 可以通过 `framesep` 参数控制代码与边框之间的距离,单位通常使用 `pt` 或 `em`: ```latex \lstset{ frame=single, framesep=1em } ``` 该设置有助于提升代码块的可读性和美观性[^4]。 ### 4. 示例完整配置 以下是一个完整的 `lstlisting` 设置示例,适用于 Python 代码展示: ```latex \usepackage{listings} \usepackage{xcolor} \usepackage{framed} \lstset{ language=Python, basicstyle=\ttfamily, breaklines=true, columns=flexible, keywordstyle=\bfseries\color{NavyBlue}, commentstyle=\itshape\color{black!50!white}, stringstyle=\bfseries\color{PineGreen!90!black}, frame=single, framesep=1em, numbers=left, numberstyle=\footnotesize, numbersep=2em } ``` 以上配置不仅解决了代码溢出的问题,还增强了代码的可读性和格式统一性[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值