有人提供了 Pandoc txt 到 tex 的教程链接

有人提供了 Pandoc txt 到 tex 的教程链接

有人可以提供文档或教程的链接,说明如何将 txt 文件转换为 tex 文件吗?你可能不得不推断这个问题,因为我还不够了解,无法提出更精确的问题。我想将一些 txt 文件转换为基本的 tex 文件。它们是 utf8,我不想用记事本或文本编辑器打印它们,而是让 LaTeX 排版它们。

我在设想我需要为 Pandoc 创建一个 LaTeX 模板。我对 LaTeX 有一点经验,知道如何使用基本类和基本命令创建基本文档,但如果我必须创建自己的包或类,我会不知所措。我对 pandoc 一无所知,只知道它是一个命令行转换工具,可以粗略地从一种文件类型转换为另一种文件类型,但由于文件类型的功能不同,格式可能会丢失。我的 txt 文件中没有编码的格式语法,它只是 utf8 txt 文件中的 unicode 字符。所有字符都是美国拉丁类型。

请有人为 pandoc 或文档提供有用的教程,或尽可能纠正我的无知。

答案1

考虑到 OP 的要求,最简单的方法是创建以下模板(并将其命名为templates.tex

\documentclass{article}

\usepackage[utf8]{inputenc}

\begin{document}

$body$

\end{document}

然后可以使用以下命令调用 Pandoc

pandoc --template=templatex.tex <file.txt> -o <file.tex>

其中<file.txt>是输入文件的名称txt<file.tex>是 pandoc 要创建的输出的名称。

顺便说一下,Pandoc 模板文档可以在以下网址找到:http://pandoc.org/MANUAL.html#options-for-wrapper-scripts

答案2

Pandoc txt 转 tex

严格意义这并不像看上去那么容易。

Pandoc只能写入纯文本,不读纯文本,因此并不是完全正确的工具,除非你想让纯文本解释为 Markdown (然而,这很可能就是您真正想要的)。

我的 txt 文件中没有任何格式化语法

可能不是真的(从 的角度来看pandoc)。转换后的文件中的文本可能受到 LaTeX 命令的困扰,无论您的模板有多简单,除非文本没有其他结构,只有普通的段落。但是带有简单标题或某些列表的文本,例如:

Heading 
-------

Vivamus 12% nunc & nunc, molestie ut, ultricies vel, semper in, 
velit. Ut porttitor. Praesent in sapien. Nam rutrum augue a leo. 

- First item text
- Second item text
    1. First subitem text
    2. Second subitem text

...看起来像纯文本,但实际上有一些将转换为 LaTeX 的 Markdown 语法,因此使用 Guido 答案的模板的结果将是:

\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}

\subsection{Heading}\label{heading}

Vivamus 12\% nunc \& nunc, molestie ut, ultricies vel, semper in, 
velit. Ut porttitor. Praesent in sapien. Nam rutrum augue a leo.  

\begin{itemize}
\tightlist
\item 
  First itemtext
\item
  Second itemtext

  \begin{enumerate}
  \def\labelenumi{\arabic{enumi}.}
  \tightlist
  \item
    First itemtext
  \item
    Second itemtext
  \end{enumerate}
\end{itemize}
\end{document}

今天你可以省略\usepackage[utf8]{inputenc}(现在是默认的),但结果很好(PDF看起来很完美)......或者如果你严格要求你所要求的,这是一个主要的缺点。假设你不想要章节和列出 LaTeX 语法,只开始编辑没有结构的 LaTeX 文本。那么你只需要转义特殊字符($ & % # _ { } ~ ^ \),因为这会导致一些文本丢失(任何之后的文本%都将被视为注释)或致命的渲染错误,但据我所知,没有针对此的 pandoc 选项。

我需要为 Pandoc 创建一个 LaTeX 模板。

一般来说,不需要。您不必担心模板。默认情况下会应用在大多数情况下都有效的模板。因此,这也有效:

pandoc -s <file.txt> -o <file.tex>

但是,如果默认模板在某种程度上打扰了你,那么拥有自己的模板可能是一个好主意(例如,你想要一个更清晰的序言来开始编辑 LaTeX 文件)。另外,最好将其重命名file.txtfile.md(这样文本编辑器和你就可以正确地将其识别为 markdown 文本)。

但你也可以使用纯文本(markdown)无需 pandoc 转换并且仍能生成漂亮的 LaTeX PDF 打印件,只需使用具有以下结构的一个 LaTeX 文档即可:

\documentclass{article}
\usepackage{markdown}
\begin{document}
\begin{markdown}
Your plain text here
\end{markdown}
\end{document}

它必须用 进行编译lualatex。您也可以使用pdflatex,但它应该能够访问 shell 才能运行一些 Lua 代码(运行 texdoc markdown` 以获取更多信息)。

或者如果您仍然想维护/编辑原始内容<file.txt>,您也可以:

\documentclass{article}
\usepackage{markdown}
\begin{document}
\markdownInput{<file.txt>}
\end{document}

最后,如果您不想要任何 Markdown 格式(只需生成纯文本编辑器中显示的 PDF),事情就会稍微复杂一些。最好的办法可能是清理一些 Markdown 语法,然后导入 LyX:

pandoc <file.md> -t plain -o <file.txt> && lyx --import text <file.txt>

然后按Ctrl+R获得 PDF。如果你想合并这些行,据我所知 LyX 中没有命令行选项,但可以通过 LyX 菜单File> Import>Plaint Text, Join Lines ...或不使用 LyX,直接使用 perl 脚本转换为 LaTeXtxt转latex

pandoc <file.md> -t plain | txt2latex > <file.tex>

在这种情况下,结果很简单:

\documentclass{article}
\begin{document}

Heading

Vivamus 12\% nunc \& nunc, molestie ut, ultricies vel, semper in, velit. Ut
porttitor. Praesent in sapien. Nam rutrum augue a leo.

-   First item text
-   Second item text
    1.  First subitem text
    2.  Second subitem text

\end{document}

好处是,如果你不想在某个时刻加入队伍,那么\obeylines在后面添加就足够了\begin{document}

或者,如果您只想逐字显示文本:

\documentclass{article}
\begin{document}
\begin{verbatim}
 <Paste here your plain text>
\end{verbatim}
\end{document}

或者仅包含原始文件:

\documentclass{article}
\usepackage{verbatim}
\begin{document}
\verbatiminput{borra.md}
\end{document}

或者简单地,\markdownInput通过\markdownRendererInputVerbatim使用包在示例中进行更改markdown

相关内容