当前位置:网站首页>【LaTex-错误和异常】\verb ended by end of line.原因是因为闭合边界符没有在\verb命令所属行中出现;\verb命令的正确和错误用法、verbatim环境的用法
【LaTex-错误和异常】\verb ended by end of line.原因是因为闭合边界符没有在\verb命令所属行中出现;\verb命令的正确和错误用法、verbatim环境的用法
2022-08-11 06:12:00 【键盘即钢琴】
一、背景
用xelatex排版引擎渲染下面的代码
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Roman number\_XII\@. Yes.\\
\verb!Roman number_XII\@. Yes.!\\
\verb{Roman number_XII\@. Yes.}
\verb!Roman number_XII\@. Yes.!\\
\end{document}
出现了错误【\verb ended by end of line.】
二、解决方法
参考:\verb ended by end of line - Overleaf, Online LaTeX Editor
我们把出问题的那一行的最后一个}号改成和前面的{号一样的后,就可以成功渲染出结果。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Roman number\_XII\@. Yes.\\
\verb!Roman number_XII\@. Yes.!\\
\verb{Roman number_XII\@. Yes.{
\verb!Roman number_XII\@. Yes.!\\
\end{document}
三、反思
在上文给出的参考链接中,我们可以学到很多!
3.1 对于\verb控制命令,不允许在代码中换行
例如下面的代码是错误的
We can write different typefaces in \LaTeX as
\verb{
\textbf{Bold}
\textit{italics}
\textsf{sans serif}
}
而\verbatim环境,就允许代码换行的存在!!!
% In your preamble
\usepackage{verbatim}
% In the main body of your document
We can write different typefaces in \LaTeX as
\begin{verbatim}
\textbf{Bold}
\textit{italics}
\textsf{sans serif}
\end{verbatim}
渲染结果,完全无误!
3.2 \verb的分界符不是唯一的,但是前后要相同
\verb的分界符不是唯一的(一般是感叹号!),但是前后要相同;并且最好不要跟要\verb直线显示的文本中的符号相同。
如果使用了和内容的符号相同的分界符,则可能会误识别。
\verb{\frac{1}{2}}
比如上面的代码, 因为前面的分界符是{,而内容中也有此分界符,最后的输出结果就差强人意了!!
另外,分界符不可能是空格;如果直接在命令后跟空格,这个空格加与不加是等效的。
\verb \frac{1}{2}
上面的这一行,在编译时也会出现错误【\verb ended by end of line.】,因为第一个分界符是\,后面却没有再一次出现分界符。
修改成下面的样子后,编译生成了正确结果。
\verb \frac{1}{2}\
3.3 \verb命令一般不作为另一个命名的参数
当我们试图渲染下面这一行
\section{\verb!\frac{1}{2}!}
我们会收到非常多的错误!
- Missing $ inserted. <inserted text>
- Extra }, or forgotten $. \frac #1#2->{\begingroup #1\endgroup \@@over #2}
- Missing } inserted. <inserted text>
- \verb illegal in command argument.
- Argument of \@sect has an extra }. <inserted text>
- Paragraph ended before \@sect was complete. <to be read again>
- Argument of \@gobble has an extra }. <inserted text>
- ....(太多了写不过来)
因此,非常不建议把这个命令写在另一个命令的参数位置!
如果实在要写。
可以用命令\cprotect修饰一下!这个命令,需要添加宏包cprotect。下面给出示例代码
\documentclass{article}
\usepackage{verbatim}
\usepackage{amsmath}
\usepackage{cprotect}
\begin{document}
Roman number\_XII\@. Yes.\\
\verb!Roman number_XII\@. Yes.!\\
\verb{Roman number_XII\@. Yes.{
\verb!Roman number_XII\@. Yes.!\\
% In the main body of your document
We can write different typefaces in \LaTeX as
\begin{verbatim}
\textbf{Bold}
\textit{italics}
\textsf{sans serif}
\end{verbatim}
\verb \frac{1}{2}\
\cprotect\section{This is a section heading with a verbatim \verb!\frac{1}{2}!}
\end{document}
渲染结果如下
边栏推荐
猜你喜欢
Trill keyword search goods - API
radix-4 FFT principle and C language code implementation
李沐d2l(十)--卷积层Ⅰ
When MySQL uses GROUP BY to group the query, the SELECT query field contains non-grouping fields
1688 product interface
淘宝API常用接口与获取方式
Implementation of FIR filter based on FPGA (5) - FPGA code implementation of parallel structure FIR filter
daily sql - query for managers and elections with at least 5 subordinates
SQL滑动窗口
第一个C函数:如何实现板级初始化?
随机推荐
Depth (relay supervision)
从 dpdk-20.11 移植 intel E810 百 G 网卡 pmd 驱动到 dpdk-16.04 中
Taobao API common interface and acquisition method
1688 product interface
空间金字塔池化 -Spatial Pyramid Pooling(含源码)
京东商品详情API调用实例讲解
【推荐系统】:协同过滤和基于内容过滤概述
【软件测试】(北京)字节跳动科技有限公司终面HR面试题
【预约观看】Ambire 智能钱包 AMA 活动第四期即将举行
抖音API接口大全
拼多多API接口大全
【软件测试】(北京)字节跳动科技有限公司二面笔试题
Multiscale communication in cortical-cortical networks
buu—Re(5)
SQL滑动窗口
Amazon API interface Daquan
docker安装mysql5.7(仅供测试使用)
每日sql-员工奖金过滤和回答率排序第一
【深度学习】什么是互信息最大化?
每日sql--统计员工近三个月的总薪水(不包括最新一个月)