如何在不进行源代码格式化的情况下在标签之间输入文件中的文本

如何在不进行源代码格式化的情况下在标签之间输入文件中的文本

我正在尝试将 C++ 源代码文件中的文档提取到 LaTeX 中。使用提取代码\lstinputlisting很简单。我遇到的问题是如何正确地从注释中提取文本。

目前我有这样的代码:

    /*
    //TAG_START
    This is some text.

    This is some more text. 
    //TAG_END
    */

我是\lstinputlisting这样使用的:

\lstinputlisting[linerange=//TAG_START-//TAG_END, language={}, numbers=none, frame=none, includerangemarker=false, breakindent=0pt]{file.cpp}

这种方法可行,但也存在一些问题。

  1. 它以预格式化的字体输出,对于源代码来说看起来不错,但对于常规文档文本来说则不是。
  2. 它在输出中保留换行符和缩进,所以我的文本最终看起来很奇怪。

输出内容如下:

输出如下所示

但我希望它看起来像这样:

我希望我的输出看起来像这样

这是我在 .tex 文件中输入的文本,这与文档的其余部分很好地匹配。

我对 LaTeX 没有太多经验,所以也许有更好的方法来实现我想要的效果\lstinputlisting,如果不使用,我将不胜感激。

答案1

你看过捕捉标签之间的文件? 它似乎能够完成您要查找的操作,但无需使用 \lstinputlisting。

\documentclass[11pt]{article}

\usepackage{catchfilebetweentags} % load the package

\newcommand{\loadFigure}[1]{ % define command to load figures
   \ExecuteMetaData[figures.tex]{#1} % call the package macro to load chunk from file
}
\begin{document}

\loadFigure{fig:01} % load figure with tags id: fig:01
\loadFigure{fig:02} % load figure with tags id: fig:02

\end{document}

然后您可以使用标签:

%<*tagID>
    ...LaTeX code...
%</tagID>

这里有一篇博客文章解释了其用法。

https://texblog.org/2012/12/04/keeping-things-organized-in-large-documents/

相关内容