我想通过 pandoc 命令行软件将 .tex 文件转换为可以在 MS Word 中打开的格式(.doc、.docx、.rtf 等)。下面附上了一个最小 .tex 文件。尝试转换时,我在标准命令窗口中使用以下命令:
pandoc -o MyFile.tex MyFile.rtf
这将产生以下错误消息:
“无效的 UTF-8 流”是什么意思?我该怎么办?我正在使用 MikTeX 2.9 和 TexWorks。
我的乳胶文件 MyFile.tex 是这样的:
% !TeX program = pdflatex
% !TeX encoding = ISO-8859-1
% !TeX spellcheck = nb_NO
\documentclass[10pt,a4paper,twosided]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
%\usepackage[dvips]{graphicx}
\usepackage{graphicx}
%\usepackage[french,english]{babel}
\usepackage[english]{babel}
%\usepackage[latin1]{inputenc}
\usepackage[usenames,dvipsnames]{color}
\usepackage{subfigure}
\usepackage{natbib}
\usepackage{dcolumn}
\usepackage{bm}
\usepackage{url}
\usepackage{alltt}
\usepackage{xspace}
\usepackage{enumerate}
\usepackage{textcomp}
\usepackage{etoolbox}
\usepackage{longtable}
\usepackage{pdflscape}
%\usepackage[absolute,showboxes]{textpos}
\usepackage[absolute]{textpos}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{tabularx}
\usepackage{xfrac}
\usepackage{fmtcount}
\usepackage{mfirstuc}
\usepackage[width=0.95\textwidth,font={bf,small}]{caption}[2011/08/06]
\usepackage{booktabs}
\usepackage[table]{xcolor}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
\usepackage{filecontents}
\usepackage[pagewise,displaymath,mathlines]{lineno}
\usepackage{layout}
\usepackage[margin=1in]{geometry}
\usepackage{changepage}
\usepackage{placeins}
\usepackage{paralist}
\usepackage{refcount}
\usepackage[pdftex]{hyperref}
\hypersetup{pdfauthor = Espen Donali}
\hypersetup{pdfdisplaydoctitle=true}
\hypersetup{bookmarks=true}
\hypersetup{pdfpagemode=UseOutlines}
\hypersetup{pdfpagelayout=TwoColumnRight}
\hypersetup{pdfmenubar=true}
\hypersetup{pdftoolbar=true}
\hypersetup{dvips}
\hypersetup{hyperfigures}
\hypersetup{pdfstartview=FitV}
\hypersetup{backref=page}
\hypersetup{pagebackref=true}
\hypersetup{colorlinks=true}
\hypersetup{allcolors=blue}
\hypersetup{linkcolor=blue}
\hypersetup{citecolor=blue}
\hypersetup{urlcolor=blue}
\hypersetup{anchorcolor=red}
\hypersetup{menucolor=red}
\hypersetup{runcolor=red}
\hypersetup{hyperfootnotes=true}
\begin{document}
my test of pandoc latex to word
\end{document}
enter code here
答案1
您已告诉编辑器该文件存储为 latin1 编码
% !TeX encoding = ISO-8859-1
但是 pandoc 认为它正在读取 UTF-8 编码的文件,因此无法对其进行解码。这些编码对于 ascii 字母是相同的,但对于其他任何内容都不同。
Pandoc 可能有一个选项可以告诉它文件编码,如果没有,您应该让您的编辑器将文件保存为 utf-8。
答案2
Pandoc 使用 UTF-8 字符编码进行输入和输出。如果您的本地字符编码不是 UTF-8,则应通过 iconv 管道输入和输出:
iconv -t utf-8 input.txt | pandoc | iconv -f utf-8
答案3
检查 JabRef 编码
就我而言,我在转换时遇到了类似的错误Pandoc Markdown到 XHTML。罪魁祸首是一组BibTeX 引用哪个贾布雷夫已默认编码ISO8859_1
。
通过在 JabRef 的菜单中Default encoding:
进行设置,可以一劳永逸地改变此默认的 JabRef 行为。UTF8
Options > Preferences > General