Làm cách nào để chuyển đổi .tex thành .odt?


43

Tôi muốn chuyển đổi tệp .tex thành tệp .odt.
Bạn có thể đề xuất một giải pháp từng bước tốt?


3
@Naruto: Tôi cho rằng đó là tài liệu LaTeX.
Nathan Osman

4
Lưu ý rằng đối với tất cả các câu trả lời dưới đây: tỷ lệ thành công của bạn sẽ phụ thuộc vào các gói latex được sử dụng và toán học sẽ không bao giờ được sắp xếp theo kiểu độc đáo như trong latex.
David LeBauer

Câu trả lời:


20

Dù bạn có tin hay không, với các tài liệu phức tạp và rất nhiều gói đi kèm, tôi đã nhận được kết quả tốt hơn với LaTeX2HTML so với LaTeX2RTF, Pandoc hoặc TeX4ht.

latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode

Điều này sẽ tạo một thư mục có cùng texfiletên, vì vậy bạn sẽ có thể chuyển đổi HTML được tạo thành ODT:

libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html

Điều này sẽ tạo ra một index.odttập tin. Hãy xem câu trả lời này để kiểm tra cách sử dụng các bộ lọc chuyển đổi của LibreOffice.

Chỉnh sửa từ thảo luận bình luận:

Mặc dù phương pháp trên hoạt động, nhưng thật đáng thất vọng khi cách duy nhất tôi tìm thấy để tạo một tài liệu đáng tin cậy là sử dụng đầu ra PDF từ LaTeX trên Adobe Acrobat Pro.


1
Đối với các tài liệu phức tạp có nhiều gói, tệp và lệnh LaTeX2HTML không thành công. Tôi đang cố gắng chuyển đổi luận điểm của mình sang HTML và hơn là ODT để đưa nó cho ai đó nhận xét và chỉnh sửa, người không quen thuộc với LaTeX. Ngay cả khi không có lệnh tùy chỉnh, công cụ này vẫn thất bại. Gói Tikz vì một số lý do là một trong những thủ phạm chính.
rbaleksandar

Không có giải pháp lý tưởng @rbaleksandar, đặc biệt tùy thuộc vào các gói bạn đang sử dụng. Tôi muốn đề nghị Pandoc cho bạn. Nó sẽ không giữ tất cả các định dạng, nhưng ít nhất nó có khả năng bỏ qua một số cấu trúc và xây dựng một tài liệu cuối cùng.
vmassuchetto

Không hoạt động với ngắt trang.
Hi-Angel

Tài liệu không bao giờ hoàn hảo với các giải pháp được trình bày trong câu hỏi này. Thật đáng thất vọng khi cách duy nhất tôi tìm thấy để tạo ra một tài liệu hoàn hảo là sử dụng đầu ra PDF từ LaTeX với Adobe Acrobat Pro.
vmassuchetto

Lệnh này đã cho tôi HTML vô nghĩa và ODT vô nghĩa. Pandoc đã tốt hơn nhiều.
jdpipe

25

Có một công cụ trong kho lưu trữ thay đổi LaTeX thành định dạng XML của openoffice.org: tex4ht Cài đặt tex4ht

TeX4ht là một hệ thống tác giả dựa trên TeX có cấu hình cao để sản xuất siêu văn bản. Nó tương tác với các ứng dụng dựa trên TeX thông qua các tệp kiểu và bộ xử lý hậu, để lại việc xử lý các tệp nguồn cho trình biên dịch TeX gốc. Do đó, TeX4ht có thể xử lý các tính năng của các hệ thống dựa trên TeX nói chung và LaTeX nói riêng.

TeX4ht có thể được sử dụng cả cho tác giả HTML bằng cách sử dụng các tệp đầu vào TeX / LaTeX hoặc để chuyển đổi các tệp đầu vào TeX hiện có (ở bất kỳ định dạng nào) thành HTML, với (thường) chỉ sửa đổi nhỏ. Các loại siêu văn bản khác cũng có thể được sản xuất, bao gồm XML, XHTML, MathML và định dạng Openoffice.org của XML.

Dòng lệnh...

  1. latex filename.tex
  2. bibtex filename.aux
  3. mk4ht oolatex filename.tex

Nên kết thúc với một tệp tương thích openoffice.org/libreoffice.


2
Cảm ơn bạn. BTW, nó xuất hiện người duy trì chính của gói đã buồn bã chết hai năm trước.
Tal Galili

2
chết tiệt thật đáng tiếc :(
Rinzwind

Tôi đồng ý - Tôi ước một cộng đồng tích cực hơn sẽ tự mình tiếp tục công việc này ...
Tal Galili

+1 cho ví dụ dòng lệnh. Tôi không có thời gian để đọc tài liệu, nhưng ví dụ trên khá dễ thực hiện.
antmw1361

Không hoạt động với ngắt trang.
Hi-Angel

18

Một giải pháp khác được cung cấp từ gói pandoc Cài đặt pandoc

Ví dụ, bạn có thể làm:

pandoc -f latex -t odt -o output.odt input.tex

Nếu tệp đầu vào được latin1mã hóa, giống như các tệp tex của tôi, giải pháp là:

iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt

Tôi báo cáo một phần của mô tả của gói:

Pandoc là một thư viện Haskell để chuyển đổi từ định dạng đánh dấu này sang định dạng đánh dấu khác và một công cụ dòng lệnh sử dụng thư viện này. Nó có thể đọc

  • đánh dấu và
  • tập hợp con của
    • tái cấu trúc,
    • HTML và
    • Mủ cao su

và nó có thể viết

  • văn bản thô,
  • đánh dấu
  • tái cấu trúc,
  • HTML, -LaTeX, -ConTeXt,
  • RTF,
  • Tài liệu XML,
  • OpenDocument XML,
  • ODT ,
  • GNU Texinfo,
  • Đánh dấu MediaWiki,
  • EPUB,
  • Dệt may,
  • trang người đàn ông
  • Emacs Org-mode, và
  • Dọn dẹp hoặc
  • Trình chiếu HTML HTML.

Ít nhất phiên bản 1.14.0.4 không hoạt động với ngắt trang.
Hi-Angel

Cái này hoạt động khá tốt đối với tôi ... Tôi có số liệu, tiêu đề nhưng không có thư mục, và các phương trình / biểu tượng lẫn lộn khác nhau. Nhưng ít nhất tôi đã nhanh chóng nhận được một số văn bản mà tôi có thể bắt đầu dọn dẹp bằng tay.
jdpipe

8

Nó có thể được thực hiện trong 2 bước. Tới http://latex2rtf.sourceforge.net/ và sử dụng các công cụ được cung cấp để chuyển đổi đầu tiên từ cao su sang RTF và sau đó từ RTF để ODT.

Hy vọng nó giúp.


Hoàn toàn không hoạt động Với ví dụ tối thiểu, nó bị treo trong một phút với mức sử dụng CPU 100%. Tôi không nghĩ nó sẽ kết thúc công việc, vì vậy tôi đã làm gián đoạn nó.
Hi-Angel

Được rồi, tôi đã quản lý nó để hoạt động - có lẽ nó không hoạt động tốt với các macro - và thấy rằng nó cũng không hoạt động với một mục lục. Vì vậy, không, không phải là một lựa chọn.
Hi-Angel

6

Nếu bạn đã cài đặt gói tex4ht Cài đặt tex4ht , lệnh sẽ oolatex filenamechuyển đổi .tex thành .odt (để biết thêm về tex4ht, xem tại đây ).

Một cách khác là gói latex2rtf Cài đặt latex2rtf , sử dụng RTF làm định dạng trung gian.


oh - xin lỗi, đã không thấy các câu trả lời khác ...
tohuwawohu

Không phải là vấn đề vì bạn đã thêm một liên kết đến latex2rtf và điều đó không có trong bất kỳ 2 câu trả lời nào khác;)
Rinzwind
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.