从外部 txt 文件导入选择的行?

从外部 txt 文件导入选择的行?

是否有一个包允许从外部.txt 文件导入所选的行?

我知道铸造有一个可以通过这种方式定制的命令:(\inputminted[firstline=3,lastline=5]{c}{hello.c}参见关联),但我正在寻找更中性的东西,而不是特定于任何编程语言的东西。这是因为我正在编写一个命令.txt我正在学习一个包含思科路由器/交换机配置命令的长列表的文件,我想只导入几行必需的命令来展示示例。显然,minted 不包含任何“cisco”语言。我知道\verb环境verbatim,但我认为断开长行可能会有问题。

答案1

您无需在包环境中为语法高亮指定适当的计算机语言minted,而是可以使用选项text。这将按原样排版输入,不带语法高亮,但具有minted包的全部功能。

就你的情况而言,你可能希望使用\inputmintedandfirstline选项lastline。此外,只需将其text作为第一个强制参数即可:

\documentclass{article}

\usepackage{minted}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.C}
int main() {
    printf("hello, world");
    return 0;
}
\end{filecontents*}

\begin{document}

\inputminted[firstline=2,lastline=3]{text}{\jobname.C}

\end{document}

在此处输入图片描述

答案2

根据文件的内容,这可能就是您想要的。

\begin{filecontents*}{\jobname.txt}
This is line 1 with \special{characters}
This is line 2 with \special{characters}
This is line 3 with \special{characters}
This is line 4 with \special{characters}
This is line 5 with \special{characters}
This is line 6 with \special{characters}
This is line 7 with \special{characters}
This is line 8 with \special{characters}
This is line 9 with \special{characters}
\end{filecontents*}

\documentclass{article}

\usepackage{xparse}

\ExplSyntaxOn
\NewDocumentCommand{\verblines}{mmm}
 {
  \begin{flushleft}\ttfamily
  \wobbly_verblines:nnn { #1 } { #2 } { #3 }
  \end{flushleft}
 }

\int_new:N \l__wobbly_verblines_index_int
\ior_new:N \g__wobbly_verblines_file_stream

\cs_new_protected:Nn \wobbly_verblines:nnn
 {
  \ior_open:Nn \g__wobbly_verblines_file_stream { #1 }
  \int_zero:N \l__wobbly_verblines_index_int
  \ior_str_map_inline:Nn \g__wobbly_verblines_file_stream
   {
    \int_incr:N \l__wobbly_verblines_index_int
    \int_compare:nT { #2 <= \l__wobbly_verblines_index_int <= #3 } { ##1 \\ }
   }
  \ior_close:N \g__wobbly_verblines_file_stream
 }
\ExplSyntaxOff

\begin{document}

Here are lines 1 to 3
\verblines{\jobname.txt}{1}{3}

Here are lines 2 to 5
\verblines{\jobname.txt}{2}{5}

Here are all the lines
\verblines{\jobname.txt}{0}{100}

\end{document}

环境filecontents*仅用于使示例独立。最后一个例子显示了如果参数超出文件中的行数会发生什么。

在此处输入图片描述

相关内容