Trình xem PDF hỗ trợ SyncTeX cho Gnome


12

Tôi đang tìm kiếm trình xem PDF để làm việc với LaTeX và SyncTeX (tìm kiếm chuyển tiếp và nghịch đảo) trong Gnome. Tôi biết từ các câu hỏi trước đây trong các diễn đàn khác nhau rằng Okular có tính năng này, nhưng tôi không muốn kéo các phụ thuộc KDE chỉ cho việc này.

Có một sự thay thế nào sẽ hoạt động tốt trong Gnome, mà không có quá nhiều phụ thuộc không? Tôi không phiền khi sử dụng PPA, xây dựng từ nguồn, sử dụng các công cụ kiểu X cũ hoặc viết các tập lệnh nhỏ - Nhưng tôi cần một cái gì đó được biết là hoạt động và sẽ không làm xáo trộn thiết lập của tôi quá nhiều.


Tôi sử dụng Emacs. Tôi biết đủ để hack theo cách của mình với nó, nhưng tôi không thể tìm ra những gì có trong Gnome chức năng cơ bản để đáp ứng với một nhấp chuột trong PDF theo dữ liệu SyncTeX.
Bàn Bobby nhỏ

Có bất kỳ cập nhật về điều đó? Tôi đang sử dụng TexStudio trên Debian với Xfce và tôi không muốn cài đặt Ocular với tất cả các phụ thuộc của nó. Tôi đang sử dụng Atril (dựa trên Evince) làm trình xem pdf mặc định của tôi nhưng có vẻ như nó không hỗ trợ tìm kiếm chuyển tiếp và nghịch đảo.
Sebastian Widz

Câu trả lời:


6

Như tôi đã lưu ý trong một bình luận, sẽ rất hữu ích nếu bạn biết rằng bạn có một trình soạn thảo cụ thể mà bạn muốn sử dụng cùng với nó hay không.

Các gedit-su-plugin bổ sung tích hợp sẵn trong bản xem trước PDF sang gedit, và tôi thu thập nó hỗ trợ SyncTeX tìm kiếm về phía trước / ngược lại. Chắc chắn đó là những gì khiến tôi phải suy nghĩ khi nghĩ về điều gì đó cho người dùng Gnome.

Có biên tập LaTeX khác với built-in previewers rằng sự ủng hộ SyncTeX nhảy như: TeXworks , TEXMAKER , TeXmakerX . Đây là tất cả dựa trên Qt thay vì dựa trên GTK, nhưng vẫn không ai trong số họ yêu cầu KDE hoặc các thư viện của nó như Kile / Okular làm. ( gummi dựa trên GTK và có trình xem trước tích hợp - một bản cập nhật trực tiếp tại đó - nhưng tôi không nghĩ rằng nó hỗ trợ synctex ...)

Như các câu trả lời khác lưu ý, evince được cho là có tính năng này và mọi người đang làm việc trên các plugin cần thiết để tương tác ở phía biên tập viên. Tôi tập hợp nó sử dụng DBus để tương tác - một sai lầm lớn nếu bạn hỏi tôi - nhưng giống như bạn không thể hiểu nó hoạt động như thế nào. Tuy nhiên, có một phiên bản cũ hơn của evince trong Kho lưu trữ người dùng Arch Linux đã được vá để cung cấp hỗ trợ SyncTeX trực tiếp hơn . Tôi chưa bao giờ thử biên dịch nó trên Ubuntu, mặc dù về mặt lý thuyết là có thể. Tôi đã sử dụng nó trên Arch mặc dù, và nó hoạt động tốt.

Tuy nhiên, cá nhân tôi, sử dụng MuPDF làm trình xem LaTeX, do tôi chọn vì đây là trình xem PDF nhanh nhất tôi biết và là trình duyệt xem trước cập nhật trực tiếp mà tôi sử dụng với Vim làm trình chỉnh sửa.

Trong khi MuPDF không hỗ trợ SyncTeX trực tiếp, tôi đã hack một số tập lệnh xdotool cung cấp hỗ trợ SyncTeX một phần. Về cơ bản, để tìm kiếm chuyển tiếp, các tập lệnh gọi synctex từ vim để tìm ra trang nào khớp với vị trí trong nguồn, sau đó gửi tổ hợp phím phù hợp đến MuPDF để chuyển đến trang đó. Tôi làm điều này với một kịch bản vim, nhưng với bash, một cái gì đó như thế này có thể thực hiện thủ thuật:

#!/bin/bash
# mupdf-forward.sh
# usage mupdf-forward.sh <line number> <column number> <tex file> <pdf file>
SEARCHLINE="$1"
SEARCHCOL="$2"
TEXFILE="$3"
PDFFILE="$4"
PAGEFORWARD=0
PAGEFORWARD="$(synctex view -i $SEARCHLINE:$SEARCHCOL:"'"'"$TEXFILE"'"'" -o "'"'"$PDFFILE"'"'" | grep -m1 'Page:' | sed 's/Page://' | tr -d '\n'")"
if [ $PAGEFORWARD -gt 0 ] ; then
   xdotool search --class MuPDF type --window %@ "${PAGEFORWARD}g"
fi

Nếu bạn có phiên bản mới nhất của xdotool (mới hơn cả phiên bản trong repos Maverick), bạn có thể loại bỏ một loại tìm kiếm ngược tương tự bằng cách cho xdotool đọc số trang mà MuPDF đang hiển thị từ thanh tiêu đề của nó, gọi synctex và sau đó gửi lệnh thích hợp tới trình chỉnh sửa để chuyển đến vị trí mã cho trang đó (- không chính xác như bạn nhận được với trình xem PDF tương thích SyncTeX thực sự, nhưng không quá tồi đối với thứ gì đó nhẹ như MuPDF) .

Dù sao, bạn có thể đọc và tải về các tập lệnh tôi thực sự sử dụng cho vim trong bài đăng trên blog này . Nhưng nếu bạn muốn sử dụng một trình soạn thảo khác, bạn sẽ phải điều chỉnh ý tưởng khi cần thiết.

Nhưng hy vọng tình huống với evince cũng sẽ sớm được giải quyết.


Đây là một PPA cho MuPDF tôi tìm thấy.
JJD

+1 cho Gummi. Chỉ cần cài đặt nó và tuyệt vời của nó! Nó cũng hỗ trợ SyncTex ngay bây giờ.
JJD

3

Chỉ cần sử dụng Evince, trình xem tài liệu mặc định cho Gnome và Ubuntu. Kể từ Gnome 2.32 (được tìm thấy trong Ubuntu 10.10 và Ubuntu 11.04 sắp tới), Evince hỗ trợ SyncTex. Để biết thêm, hãy xem http: // l Library.gnome.org/misc/release-notes/2.32/


Tôi có các phiên bản này (Ubuntu 11.04 và Gnome 2.32), nhưng tôi không tìm thấy cách cấu hình Evince để thực hiện tìm kiếm tiến hoặc lùi. Tôi đang thiếu gì?
Bàn Bobby nhỏ

Ctrl + F mang lại tìm kiếm .... và bạn có thể chọn hướng .... hoặc tôi có thiếu thứ gì không?
luri

4
"Tìm kiếm chuyển tiếp", trong bối cảnh đồng bộ hóa LaTeX, có nghĩa là bạn có thể chuyển từ trình chỉnh sửa sang trang chính xác trong trình xem PDF. "Tìm kiếm ngược" có nghĩa là chuyển từ trình xem PDF sang mã nguồn của đoạn được chọn.
Bàn Bobby nhỏ

Tôi xin lỗi vì sự thiếu hiểu biết của tôi (thực ra, đó là một sự hiểu lầm về ngôn ngữ). Cảm ơn vì đã nói rõ điều đó cho tôi.
luri

LaTeX hoặc trình soạn thảo văn bản nào bạn đang sử dụng hoặc bạn muốn sử dụng?
frabjous
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.