逐字环境中的上标

逐字环境中的上标

我在逐字环境中有一些行

...
\begin{verbatim}
    line 1
    * line 2
    line 3
    * line 4
    line 5
\end{verbatim}
...

我想在某些行的开头添加上标数字。我现在用星号表示。我该怎么做?

答案1

您可以使用包numbers中的选项fancyvrb

\documentclass{article}
\usepackage{fancyvrb}

\begin{document} 

\begin{Verbatim}[numbers=left]
First verbatim line.
Second verbatim line.
\end{Verbatim}

\end{document}

如果数字必须以上标形式出现,则在序言中添加以下内容:

\renewcommand{\theFancyVerbLine}{\textsuperscript{\arabic{FancyVerbLine}}}

现在,原始问题已被编辑,您可以使用commandchars在逐字代码中引入转义序列的选项:

\documentclass{article}
\usepackage{fancyvrb}

\begin{document} 

\begin{Verbatim}[commandchars=\\\{\}]
First verbatim line.
\textsuperscript{1}Second verbatim line.
Third verbatim line.
\textsuperscript{2}Fourth verbatim line.
\end{Verbatim}

\end{document}

在此处输入图片描述

答案2

更新: 不知道为什么我之前没有看到你想使用数字而不是星号。这是一个版本,它允许你使用^1给定数字添加上标以产生结果:

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}

\lstdefinestyle{myVerbatimStyle} {
    basicstyle=\ttfamily,
    moredelim=[is][\color{blue}\ttfamily\kern-0.1ex\textsuperscript]{^}{\ },
}

\begin{document} 
\begin{lstlisting}[style=myVerbatimStyle]
   line 1
  ^1 line 2
   line 4
  ^2 line 5
\end{lstlisting}
\end{document}

请注意,这确实要求您留下空格,如^1 line。如果您不喜欢,另一个选择是^在两侧使用字符并将行更改moredelim为:

moredelim=[is][\color{blue}\ttfamily\kern-0.1ex\textsuperscript]{^}{^},

在这种情况下,您可以使用^1^line,但我认为带有空格的更好。


这是一个修改后的解决方案,使用包裹listings,它会自动将星号添加上标,并添加颜色使其突出显示:

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}

\lstdefinestyle{myVerbatimStyle} {
    basicstyle=\ttfamily,
    otherkeywords={*},
    morekeywords={*},
    keywordstyle={\color{red}\ttfamily\kern-0.1ex\textsuperscript},
}

\begin{document} 
\begin{lstlisting}[style=myVerbatimStyle]
   line 1
  *line 2
   line 3
  *line 4
   line 5
\end{lstlisting}
\end{document}

旧解决方案:包裹listings您可以使用mathescape=true,这意味着您可以将任何数学运算括在内,$...$并且它将被格式化:

\documentclass{article}
\usepackage{listings}

\begin{document} 
\begin{lstlisting}[mathescape=true]
    line 1
    ${}^\ast$ line 2
    line 3
    ${}^\ast$ line 4
    line 5
\end{lstlisting}
\end{document}

相关内容