我有一個正在使用的程式碼
\begin{lstlisting}
line1
line2
line3
\end{lstlisting}
我想將 line1 和 line3 顯示為傾斜的。如何做到這一點?
答案1
您可以使用分隔符號:
\documentclass{article}
\usepackage{listings}
\lstdefinestyle{mystyle}{
basicstyle = \ttfamily ,
moredelim = [is][\itshape]{|}{|}
}
\begin{document}
\begin{lstlisting}[style=mystyle]
|line1
line2|
line3
\end{lstlisting}
\end{document}
\begin{lstlisting}[style=mystyle]
|line1|
line2
|line3|
\end{lstlisting}
答案2
根據複雜性,人們可以使用verbatimbox
環境的可選參數來實現這一目標:
\documentclass{article}
\usepackage{verbatimbox,xcolor}
\begin{document}
\newcommand\formatting{%
\ifnum\theVerbboxLineNo=1\relax\slshape\fi%
\ifnum\theVerbboxLineNo=3\relax\slshape\fi%
}
\begin{verbbox}[\formatting]
line1
line2
line3
\end{verbbox}
This is my code: \fbox{\theverbbox}
\renewcommand\formatting{%
\ifnum\theVerbboxLineNo=1\relax\slshape\fi%
\ifnum\theVerbboxLineNo=3\itshape\leavevmode%
\smash{\rlap{\color{red!20}\rule[-\dp\strutbox]{27pt}{\baselineskip}}}\fi%
}
\begin{verbbox}[\formatting]
line1
line2
line3
line4
\end{verbbox}
This is my revised code: \fbox{\theverbbox}
\end{document}