You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX中如何原样打印含\r、\n的代码?\verb命令报错求助

简单解决LaTeX中\verb报错的问题

嘿,我懂你遇到的麻烦——本来想简单用\verb打印代码结果报错,搜出来的方案又太复杂。给你几个超简单的可行办法:

  • 换用\verb的其他分隔符:
    原生\verb支持用任意非字母数字、非空格的字符作为分隔符,只要前后一致就行。你的代码里没有|或者!,直接换成它们就行,完全不用改代码内容:

    \verb|while (tmp[0] == '\r' || tmp[0] == '\n') {tmp++;}|
    

    或者:

    \verb!while (tmp[0] == '\r' || tmp[0] == '\n') {tmp++;}!
    

    这个方法最省事,不用导任何额外包,直接就能用。

  • 用\texttt手动转义特殊字符:
    如果换分隔符还是不行,就用\texttt环境,把LaTeX里的特殊字符(比如{})转义成\{和\},还有换行符\r、\n要写成\textbackslash r和\textbackslash n:

    \texttt{while (tmp[0] == '\textbackslash r' || tmp[0] == '\textbackslash n') \{}tmp++;\}}
    

    这个方法稍微麻烦点,但胜在兼容性拉满,任何环境下都能用。

  • 进阶方案:用fancyvrb包的\Verb命令:
    如果经常要打印代码,或者在特殊环境(比如表格单元格、命令参数里)用,导言区加一行包导入,之后用\Verb(注意大写V),稳定性比原生\verb好太多:

    \usepackage{fancyvrb}
    % 之后随便用
    \Verb|while (tmp[0] == '\r' || tmp[0] == '\n') {tmp++;}|
    

大概率换分隔符就能解决你的问题,毕竟原生\verb报错大多是因为分隔符和代码/周围文本冲突了~

内容的提问来源于stack exchange,提问作者OrenIshShalom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:55:56