源代码中 80 个字符后出现换行符

源代码中 80 个字符后出现换行符

格式化源代码时 - 是否可以在 80 个字符后精确地换行?或者画一条线或以任何其他方式指示已达到 80 个字符的限制?

答案1

这是一个在 80 个字符后插入一行的选项。它使用tcolorbox及其不错的覆盖选项。但是,这有一些缺点:

  • 它不会中断(在这个字符限制下,既不会分页,也不会中断)。
  • 您必须手动将保存的框调整为列表中使用的实际字体。请注意,我插入的 2pt xshift 是任意的,我无法解释您为什么需要它。

80 个字符后的行

代码:

% arara: pdflatex: {shell: 1}
\documentclass{article}
\usepackage[landscape]{geometry}
\usepackage[skins,minted]{tcolorbox}

\newbox\mybox
\setbox\mybox=\hbox{\ttfamily1}

\newtcblisting{mintedwithline}{
    enhanced, frame hidden, boxrule=0pt, left=0pt, right=0pt, top=0pt, bottom=0pt,
    interior hidden, minted options={breaklines}, listing only, overlay={
        \coordinate (at80) at (\wd\mybox*80, 0pt);
        \draw[green, ultra thick] ([xshift=-2pt]at80 |- frame.north) -- ([xshift=-2pt]at80 |- frame.south); 
    }
}

\begin{document}

\begin{mintedwithline}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{mintedwithline}
\noindent\ttfamily12345678901234567890123456789012345678901234567890123456789012345678901234567890

\end{document}

相关内容