我正在使用minted
用于代码高亮的包。下面只是一个最小示例。我发现这个包令人讨厌的地方是行号出现在边距中。
这会导致\item
s 和twocolumn
文章出现一些问题。我希望将行号与普通文本对齐,如下所示:
我已阅读了文档,但似乎没有这样的选项。该numbers=right
选项对我也没什么帮助:我不想在右侧显示数字,即使我想,该选项也会将数字放在右侧利润。
我曾尝试将其全部放在一个小页面中(即\begin{minipage}{\linewidth}\begin{minted} ... \end{minted}\end{minipage}
),但无法使间距正常工作。
将数字向右移动的首选方法是什么?
\documentclass[10pt]{article}
\usepackage{minted,lipsum}
\begin{document}
\lipsum[1]
\begin{minted}[linenos,breaklines]{text}
Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Mauris ut leo.
Cras viverra metus rhoncus sem.
Nulla et lectus vestibulum urna fringilla ultrices.
\end{minted}
\lipsum[2]
\end{document}
答案1
使用xleftmargin
:
\documentclass[10pt]{article}
\usepackage{minted,lipsum}
\begin{document}
\lipsum[1]
\begin{minted}[xleftmargin=\parindent,linenos,breaklines]{text}
Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Mauris ut leo.
Cras viverra metus rhoncus sem.
Nulla et lectus vestibulum urna fringilla ultrices.
\end{minted}
\lipsum[2]
\end{document}
您可能还想修改numbersep
;默认值为numbersep=12pt
。
例如,如果您希望行号(两位数)与左边距齐平,您可以这样做
\newlength{\mintednumbersep}
\AtBeginDocument{%
\sbox0{\tiny00}%
\setlength\mintednumbersep{\parindent}%
\addtolength\mintednumbersep{-\wd0}%
}
然后设置numbersep=\mintednumbersep
。