2014-11-25 4 views
1

У меня есть этот report.tex файл, который я конвертировать в PDF следующим образом:процесс файл удаленно с помощью SSH

latex report.tex 
dvips report.dvi -o report.ps 
ps2pdfwr report.ps report.pdf 

Эти команды помещаются в файл с именем linux_build

Это прекрасно работает. Тем не менее, это работает на моей машине Linux, и большая часть моей работы я делаю на своем Mac

Я проверил MacTex, который огромен (> 4 ГБ), поэтому я решил обработать файл латекса удаленно (поэтому работая на моем Mac и на моем Linux-компьютере). Как это:

ssh [email protected] "cd build && ./linux_build" < report.tex 
scp [email protected]:build/report.pdf . 

Все это работает, за исключением одной вещи:

latex report.tex 

Эта команда просто смотрит на диске, а не в течение некоторого входного потока/трубы независимо. Именно в этот момент я уже не уверен, как это исправить. Какие-либо предложения ?

+2

Если 'latex' поддерживает чтение со стандартного ввода, то вы можете сделать это таким образом. Возможно только «латекс» или, возможно, «латекс» или, возможно, «latex/dev/stdin», чтобы подделать его как локальный файл. Если это не сработает, вам необходимо перенести файл сначала. –

+0

Удивительный, бегущий только «латекс» сделал трюк! Конечно, просто копирование файла сначала сработало бы. Благодаря! –

ответ

0

Если latex поддерживает чтение со стандартного ввода, вы можете сделать это таким образом.

Возможно, только latex или, возможно, latex - или, возможно, latex /dev/stdin, чтобы подделать его как локальный файл.

Если это не сработает, вам необходимо сначала перенести файл.

2

Я знаю ваше разочарование. Он стал настолько большим, что я собрал небольшой скрипт, который эффективно запускает LaTeX на удаленном сервере.

Это предварительная версия LaTeX на удаленном конце с преамбулой предыдущего прогона, так что LaTeX уже загрузил необходимые пакеты и готов к работе при поступлении измененного содержимого и сразу же начинает потоковое воспроизведение полученного файла PDF (до завершения LaTeX написание). Также прозрачно обрабатываются зависимости (изображения, исходные файлы и т. Д.).

Может быть, вы тоже считаете полезным: https://github.com/iblech/sshlatex

Никакой установки не требуется. Выполнение проста:

$ sshlatex ssh.example.org foo.tex

+0

Очень приятно. Вы упомянули, что одна из зависимостей - 'LaTeX', но я думаю, что это не очень понятно. Не могли бы вы добавить дополнительную документацию о том, как установить LaTex (или ссылку для загрузки) и, возможно, список всех имен инструментов, используемых этим скриптом? Также интересно добавить DockerFile (я создам PR для этого, если у меня будет время!) –

+0

@Jeanluca: Спасибо за отзыв! Я поправлю документацию. Да, LaTeX необходимо установить на удаленном конце.В зависимости от вашего дистрибутива Linux для этого достаточно простого «apt-get install texlive». За исключением инструментов inotify, sshlatex не использует абсолютно никаких инструментов, которые выходят за рамки базовой установки Linux. Я с радостью соглашусь с запросами на тяну! К сожалению, у меня нет опыта с Докером. –

Смежные вопросы