我希望将代码列表居中,其中包含一些乳胶数学符号(例如\对全部)。不幸的是,它导致我的列表向右移动。它现在位于列表的左边缘而不是列表的中心。
\begin{figure}[h]
\centering
\begin{tabular}{c}{
\begin{lstlisting}[language=customLanguage]
{
%*$\forall formula here $*)
%*$\forall second formula here $*)
}\end{lstlisting}
}\end{tabular}
\caption{my caption.}
\label{fig:example}
\end{figure}
但是!如果我删除 \escapeinside 语法来运行 Latex 代码,如下所示:
\begin{figure}[h]
\centering
\begin{tabular}{c}{
\begin{lstlisting}[language=customLanguage]
{
\forall formula here $*)
%*$\forall second formula here $*)
}\end{lstlisting}
}\end{tabular}
\caption{my caption.}
\label{fig:example}
\end{figure}
有什么办法可以让我鱼与熊掌兼得吗?
我的 .sty 文件:
% Define IDP
\lstdefinelanguage{customLanguage}{
... % irrelevant stuff
}
\lstset{
language=customLanguage,
tabsize=3,
basicstyle=\footnotesize,
%frame=none,
%frame=single,
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
showstringspaces=false,
breaklines = true,
alsoletter=(,
commentstyle=\commentstyle,
keywordstyle=[1],
keywordstyle=[2]\color{BrickRed}\bfseries,
keywordstyle=[3]\color{OliveGreen}\bfseries,
keywordstyle=[4]\color{Blue}\bfseries,
keywordstyle=[5]\color{Violet}\bfseries,
literate={~} {$\sim$}{1}
}
\newcommand{\code}[1]{\texttt{#1}}