如何在emacs org-mode中包含纯文本文件

4
我正在使用emacs org-mode和taskjuggler导出功能。我想将多个org文件包含在一个主org文件中,并将所有内容导出到一个taskjuggler文件中,这样我就可以将源文件与项目分开。
我考虑使用#+INCLUDE:宏,但是这会包括额外的头信息,如源文件名。我能够通过自定义导出来删除作者和时间戳,但无法摆脱文件名。
问题:有什么好的解决方案可以包含org文件,以便我可以将它们与taskjuggler导出一起使用?

当我在Org-mode 7.6中使用#+INCLUDE时,它不会包含任何被包含文件的文件名。 - N.N.
你是如何进行导出的?当我使用C-c C-e U进行导出时,文件名没有扩展名并且被等号下划线包含在内。 我尝试直接使用TaskJuggler导出,但它告诉我未指定任务。 - user1207609
过去是否使用过 C-c C-e J 导出 TaskJuggler?我没有使用过,但是在搜索 TJ 从 org 导出时,我得到了以下结果:http://orgmode.org/manual/TaskJuggler-export.html,其中显示您需要为 TaskJuggler 指定特定的标签才能够导出,否则会出现特定的错误。 - Jonathan Leech-Pepin
2个回答

3
您的问题标题与问题文本有些冲突。
如果您想包含纯文本,可以尝试以下内容:
#+begin_src sh :exports results :results output                                 
  cat your_file.txt                                     
#+end_src 

过去我曾使用这种方法通过HTML导出将文件内容添加到网页中。在这种情况下,执行src块的结果被设置在HTML的`块中。不确定TaskJuggler是做什么的。
你也可以使用#+include宏来实现此功能:http://orgmode.org/manual/Include-files.html 如果您想要包含#+include文件的某些部分,请按照上面链接中的说明使用:lines参数。

我尝试了两个建议。第一个不适用于简单的ASCII导出。第二个与没有类似的:lines一起工作。 我尝试了仅限正文的属性,但仍然包含额外的格式。 我考虑编写一个简单的批处理脚本,将所需的文件连接起来,并从中调用export-as-taskjuggerler函数,但我也不知道如何做到这一点。 - user1207609

0
这并不是直接回答你的问题,但适用于任何最终到达此处的人。
我修改了@cm2的答案,使用pygmentize而不是cat,然后使用display-ansi-colors来删除ANSI颜色代码。例如:
#+BEGIN_SRC shell :results raw
pygmentize Test.java
#+END_SRC

#+RESULTS:
public class Test {    
  public static void main(String[] args)
  {
String result = "hello";
    System.out.print(result);
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接