2009-10-08 18 views
7

Nhóm tôi làm việc để quản lý một bộ sưu tập tài liệu kỹ thuật lớn được viết bằng LaTeX.Làm cách nào để tôi có thể tạo tài liệu PDF LaTeX bằng ANT (hoặc một số hệ thống xây dựng khác nếu bạn thích)?

Hiện tại tất cả tài liệu chúng tôi có được biên tập viên xây dựng theo cách thủ công và sau đó được kiểm tra vào hệ thống kiểm soát phiên bản. Đôi khi mọi người quên biên dịch tài liệu của họ để chúng tôi có tình huống trong đó các tệp PDF và .tex thường không hoạt động. Thật không may khi điều này xảy ra người dùng của chúng tôi thấy mình đọc các phiên bản cũ của tài liệu của chúng tôi.

Tôi đã quản lý để hack một tập lệnh đơn giản để xây dựng các tệp PDF bằng cách sử dụng Make - nó khá vụng về.

Tôi đã tự hỏi liệu có cách nào tốt hơn để làm điều đó không? Hầu hết mọi người trong bộ phận của chúng tôi sử dụng Eclipse + Pydev cho một dự án Python có nghĩa là tất cả chúng ta đều rất quen thuộc với IDE này. Tôi biết rằng Ant chơi độc đáo với Eclipse, vì vậy chúng tôi có thể sử dụng công cụ này cho tòa nhà tài liệu của chúng tôi không?

Vậy cách tốt nhất để làm điều này là gì? Tôi hy vọng tôi sẽ không phải học tất cả mọi thứ có để biết về một hệ thống xây dựng mới để tự động hoá việc xây dựng một số tài liệu khá đơn giản.

+0

Tại sao bạn kiểm tra nội dung được tự động tạo vào kho lưu trữ? Điều đó có vẻ như là một thực tế không bình thường. – Ketil

+0

Chúng tôi không kiểm tra bất kỳ thứ gì được tạo tự động. Các tài liệu chủ yếu là viết tay. –

Trả lời

7

Có một bên ngoài Ant task để tạo PDF LaTeX, mặc dù trang web bằng tiếng Đức.

Để sử dụng nó, tải về jar vào vị trí trên máy tính của bạn, sau đó xác định một taskdef như sau:

<taskdef name="latex" classname="de.dokutransdata.antlatex.LaTeX" 
    classpath="/path/to/ant/lib/ant_latex.jar"/> 

Sau đó, để sử dụng nó, xác định một mục tiêu như thế này:

<target name="doLaTeX"> 
    <latex 
    latexfile="${ltx2.file}" 
    verbose="on" 
    clean="on" 
    pdftex="off" 
    workingDir="${basedir}" 
    /> 
</target> 

Trong đó ltx2.file là tệp cần xử lý.

Đây là liên kết tới số howto page liệt kê các tham số. Nếu bạn cần thêm bất kỳ lựa chọn nào khác, tiếng Đức của tôi chỉ đủ khả thi để giải thích, có thể.

Ngoài ra còn có maven plugin for LaTeX, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào.

+0

Tôi thấy liên kết đó, rất tiếc là tôi chỉ nói được tiếng Anh. –

+0

Tiếng Đức của tôi cũng không tuyệt vời, nhưng tôi đã tìm thấy một liên kết đến trang howto và đăng một trong các ví dụ. Các thông số ít nhất là bằng tiếng Anh, do đó bạn có thể ok ... –

1

Nếu bạn biết trăn, this blog post might be interesting

EDIT: Ngoài ra, tôi sẽ giả định rằng bạn đang sử dụng một số loại hệ thống kiểm soát phiên bản, và tôi không thể nói chắc chắn, nhưng tôi sử dụng git để quản lý tất cả tài liệu mủ cao su của tôi và có thể sử dụng một số loại móc hậu cam kết để thực thi một tập lệnh để xây dựng lại tài liệu. Điều này sẽ phụ thuộc vào cách kho lưu trữ của bạn được cấu trúc ... chỉ cần suy nghĩ to, vì vậy để nói chuyện.

1

Tôi đã đi vào chi tiết tuyệt vời trên một số lượng lớn các hệ thống xây dựng cho mủ cao su trong this question, nhưng nó hơi khác nhau trong trường hợp của bạn. Tôi nghĩ bạn muốn cao su hoặc latexmk. Các latex-makefile có vẻ là một ý tưởng tốt, nhưng chỉ hỗ trợ xây dựng thông qua postscript, mà có thể không phải là quá trình xây dựng của bạn.

Nói chung, bạn nên giữ các tệp được tạo bên ngoài điều khiển phiên bản vì lý do này. Một ngoại lệ tốt là khi chuyên gia xây dựng các công cụ không có sẵn rộng rãi, và tình hình của bạn có vẻ tương tự. Bạn có thể làm tốt hơn với một commit-hook để xây dựng tự động sau khi commit.

Tôi đoán tôi cũng nên chỉ ra rằng cam kết một cái gì đó mà không đầu tiên xây dựng nó và kiểm tra nó là một tội lỗi chết người, do đó, một giải pháp tốt hơn có thể là để đóng dấu đó.

0

Maven là giải pháp thay thế tốt hơn làm hệ thống xây dựng so với Ant. Vì vậy, tôi sẽ giới thiệu một maven-plugin để tạo PDF từ các nguồn LaTeX. Hãy xem mathan-latex-maven-plugin

Các vấn đề liên quan