2010-05-27 10 views
5

Khi biên dịch các tài liệu latex, trình biên dịch phát ra rất nhiều tệp "đối tượng". Điều này clutters các thư mục tôi đang làm việc trên và nó difficults việc sử dụng VCS như SVN. Khi tôi làm việc với mã C++, tôi có các thư mục riêng biệt cho mã và các đối tượng, tôi có thể chạy thực hiện trên thư mục nguồn nhưng các tệp .o đi đến thư mục xây dựng.Thực hiện việc biên dịch riêng biệt các tài liệu Latex

Có cách nào thích hợp để thực hiện quá trình biên dịch riêng biệt này với tài liệu Latex không? Nó có thể được thực hiện bằng cách sử dụng Makefiles hoặc bằng cách chuyển các tùy chọn cho trình biên dịch latex?

Cảm ơn

Trả lời

4

Bạn có thể sử dụng:

pdflatex --output-directory=tmp file.tex 

và tất cả các file sẽ được lưu trữ trong thư mục tmp (pdf bao gồm).

Vì đây không phải là giải pháp tối ưu, tôi đã tạo công cụ của riêng mình, pydflatex, biên dịch nguồn LaTeX bằng cách loại bỏ các tệp auxilliary (sử dụng mẹo ở trên) và đưa tệp trở lại thư mục hiện tại. biên dịch bạn chỉ có file.texfile.pdf trong thư mục của bạn. Điều này chơi rất tốt với kiểm soát phiên bản.

+0

Lệnh latex cũng có tùy chọn --output-directory này, nhờ – tonicebrian

+1

Để chính xác, cả 'pdflatex' và' latex' là các liên kết tượng trưng đến lệnh chính 'pdftex', vì vậy chúng có cùng các tùy chọn. Bằng cách này, tôi không nghĩ rằng có rất nhiều quan tâm trong việc sử dụng lệnh 'latex' (vs' pdflatex') ngày nay, kể từ khi pdf đã hoàn toàn thay thế dvi. –

2

tôi không thể giúp được gì nhiều với LaTeX (có sử dụng cuối cùng nó nghiêm túc 20 năm trước đây ;-), nhưng đối với Subversion, bạn nên đọc lên trên svn:ignore tài sản - nó làm cho nó dễ dàng để bỏ qua các tệp có phần mở rộng bạn làm không muốn phiên bản (tệp đối tượng, tệp bytecode như Python thường có thể đặt trong cùng thư mục với nguồn, tệp sao lưu một số trình soạn thảo văn bản sử dụng, & c).

+0

Subversion là một vấn đề nhưng không phải là vấn đề quan trọng. Bạn có thể sử dụng svn: ignore nhưng bạn phải xác định thuộc tính đó trên mỗi tài liệu và nó không tối ưu. Các vấn đề khác làm phiền tôi là bạn không thể tự động hoàn thành bằng cách sử dụng vỏ vì tất cả các tệp có cùng tên với phần mở rộng khác nhau hoặc chỉ rm tệp "đối tượng" khi Latex bị rối tung lên. – tonicebrian

0

Latex tạo các tệp tạm thời trong thư mục chứa tài liệu chính. Nếu bạn muốn nội dung được đặt ở một vị trí khác, hãy thử với một tệp chính như dưới đây.

\documentclass{article} 
\input{src/maindocument.tex} 

Sử dụng phương pháp này, bạn có thể duy trì một cấu trúc thư mục như dưới đây

/ 
    main.tex 
    /src 
     maindocument.tex 
0

Hai tùy chọn, bên cạnh bên trên.

  1. Sử dụng Lyx: nó trông sau các tệp riêng biệt. Tôi nghĩ rằng nó sao chép các tập tin Latex trên thư mục riêng của mình và chạy latex trên đó. Trong mọi trường hợp, không có gì được tạo trong thư mục hiện tại.
  2. Sử dụng makefile hoặc một trong những Latex đặc biệt tạo chương trình và có mục tiêu thường xuyên chạy make clean.