与 TeXMaker 相关的 \verb 和 \verbatim 的一些非常奇怪的行为

与 TeXMaker 相关的 \verb 和 \verbatim 的一些非常奇怪的行为

我不得不假设,在和<text>中的分隔符(在本例中+)之间放置的任何内容\verb+<text>+都不\verbatim+<text>+会对分隔符外部的世界产生任何影响。以下 MWE 似乎告诉我们并非如此。\verb似乎影响了,structure panel表明TeXMaker这可能是TeXMaker-only 问题(使用版本 5.0.2),但\verbatim弄乱了输出.pdf以及structure panel,所以我完全困惑了。

\documentclass{book}
% RN. 11 Nov 2018
%=======================
\usepackage{verbatim}
\begin{document}
\section*{Preface}
"We wish to show that \verb+\part{name}\label{name}+ sets a label etc." promptly 
introduces Part name in the structure section of the TeXMaker screen, however, no ill 
effects in the .pdf output are observed. 
\chapter{A}
\section{A1}\label{A1}
\subsection{A11}
The same effect is observed in the structure section of TeXMaker when using verbatim 
in place of verb, i.e. \verbatim+\subsection{subname}\label{subname}+, except from this 
point forward the .pdf output is screwed up as well.  
\subsection{A12}
\chapter{B}
\section{B1}
\section{B2}
\end{document}

答案1

事实上,加载包\verbatim+x+时不会引发错误,这是重新定义环境verbatim的副产品。verbatim

如果不加载它,你会得到更糟糕的错误,即

Runaway argument?
+x+^^M\end{document}^^M
! File ended while scanning use of \@xverbatim.
<inserted text> 
                \par 

随后是输入提示,但如果你想退出,你只能“拉电源线”。使用前端,-interaction=nonstopmode你会得到

! Emergency stop.

这是总是当是环境时,使用\xyzmid document会出现错误。(当已用 定义时,则允许使用和。)xyz\begin{macro}\end{macro}\macro\newcommand

例如,\flushleftmid document 不会给出错误,但会弄乱输出。正确的文档级命令是\raggedright

环境的“宏形式”,即\xyz\endxyz之后\newenvironment{xyz}{...}{...}可以(大部分)用于其他环境的定义,但它们应始终分别出现在新环境定义的开始和结束部分。请注意,某些环境不要允许这样做。

verbatim软件包确实建议使用\verbatim\endverbatim来定义新的逐字环境。但这\verbatim+x+绝对是错误的。

关于 TeXStudio 所布置的结构:它无法区分出现在环境\label内部的或分段的命令。就是这样。\verbverbatim

相关内容