Хранение файлов, которые часто меняются при синхронизации между рабочим столом и ноутбуком

Я ищу способ сохранить рабочий стол и ноутбук в синхронизации. Я хочу синхронизировать некоторые папки, в основном ~ / Documents, которые часто меняются при работе над ними.

Если это имеет значение, я могу подключиться к своему рабочему столу из любого места через URL-адрес, но мой ноутбук более трудный для доступа, поскольку он может быть за NAT и т. д.

Я смотрел Ubuntu One, но, похоже, не работает с документами, написанными в LaTeX. Если я работаю над .tex-файлом в каталоге Ubuntu One и скомпилирую его (с pdflatex) время от времени (так часто, как каждые 10 секунд при работе), он создаст несколько новых файлов, включая pdf, которые загружаются в Ubuntu Один и это кажется глупым, поскольку он будет создавать непрерывную загрузку при работе с .tex-файлами. Я также обычно храню версию .tex-документов, контролируемую git, и затем каждая фиксация (что также может часто случаться) вызывает загрузку (путем изменения в ./.git), чтобы она продолжалась непрерывно при работе. Другим примером является редактирование изображений, которые часто сохраняются. Я думаю, что лучше всего синхронизировать каждую десятую минуту или в конце каждой рабочей сессии (но может быть какой-то другой способ справиться с этим?).

3
задан 30 June 2011 в 01:18

27 ответов

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 25 May 2018 в 20:02

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 25 July 2018 в 21:39

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 31 July 2018 в 13:21

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 2 August 2018 в 03:15

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 4 August 2018 в 19:10

Это решение, основанное на ответе fossfreedom на другой вопрос: Синхронизация 2 Ubuntu Systems с Unison, руководство Unison и мой ответ на другой вопрос.

Setup

Оба компьютера [ ! d6] sudo apt-get install openssh-server unison Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

sudo apt-get install openssh-server unison nano default.prf & ndash; Создайте файл профиля с именем default. Проверьте связь SSH с каждого компьютера на другой.

Sync

Синхронизируйте компьютеры, запустив unison -auto default на компьютере, который может находиться за NAT. Это синхронизируется ~/Documents. Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 6 August 2018 в 03:26

Это решение, основанное на ответе fossfreedom на другой вопрос , Синхронизация 2 систем Ubuntu с Unison , в Unison manual и мой ответ на другой вопрос .

Setup

Оба компьютера

  1. sudo apt-get install openssh-server unison [ ! d5]
  2. Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

  1. mkdir ~ / .unison
  2. nano default.prf & ndash; Создайте файл с именем по умолчанию.
  3. Запишите файл профиля, например: root = / home / user root = ssh: //user@user.dyndns-ip .com // home / user path = Documents

Sync

Синхронизировать компьютеры, запустив unison -auto default on компьютер, который может быть за NAT. Это синхронизирует ~ / Documents . Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 7 August 2018 в 21:13

Это решение, основанное на ответе fossfreedom на другой вопрос , Синхронизация 2 систем Ubuntu с Unison , в Unison manual и мой ответ на другой вопрос .

Setup

Оба компьютера

  1. sudo apt-get install openssh-server unison [ ! d5]
  2. Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

  1. mkdir ~ / .unison
  2. nano default.prf & ndash; Создайте файл с именем по умолчанию.
  3. Запишите файл профиля, например: root = / home / user root = ssh: //user@user.dyndns-ip .com // home / user path = Documents

Sync

Синхронизировать компьютеры, запустив unison -auto default on компьютер, который может быть за NAT. Это синхронизирует ~ / Documents . Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 10 August 2018 в 09:32

Это решение, основанное на ответе fossfreedom на другой вопрос , Синхронизация 2 систем Ubuntu с Unison , в Unison manual и мой ответ на другой вопрос .

Setup

Оба компьютера

  1. sudo apt-get install openssh-server unison [ ! d5]
  2. Проверьте связь SSH с каждого компьютера на другой.

На компьютере, который может быть за NAT

  1. mkdir ~ / .unison
  2. nano default.prf & ndash; Создайте файл с именем по умолчанию.
  3. Запишите файл профиля, например: root = / home / user root = ssh: //user@user.dyndns-ip .com // home / user path = Documents

Sync

Синхронизировать компьютеры, запустив unison -auto default on компьютер, который может быть за NAT. Это синхронизирует ~ / Documents . Я делаю это до и после того, как мой ноутбук выходит из локальной сети с моим рабочим столом, чтобы синхронизировать их документы.

0
ответ дан 13 August 2018 в 15:41

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex
        pdflatex  $<
        pdflatex  $<

store_pdf:
        cp example*.pdf path/to/synced_directory

upload_pdf:
        scp example*.pdf user@server.name.com:path/to/directory

clean:
        rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf
make upload_pdf
[d4 ] Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести: [!d5 ]

make clean
3
ответ дан 25 May 2018 в 20:02
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced
cd ~/nonsynced
git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 25 May 2018 в 20:02
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex pdflatex $< pdflatex $< store_pdf: cp example*.pdf path/to/synced_directory upload_pdf: scp example*.pdf user@server.name.com:path/to/directory clean: rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf make upload_pdf

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

make clean
3
ответ дан 25 July 2018 в 21:39
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced cd ~/nonsynced git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 25 July 2018 в 21:39
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex pdflatex $< pdflatex $< store_pdf: cp example*.pdf path/to/synced_directory upload_pdf: scp example*.pdf user@server.name.com:path/to/directory clean: rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf make upload_pdf

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

make clean
3
ответ дан 31 July 2018 в 13:21
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced cd ~/nonsynced git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 31 July 2018 в 13:21
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex pdflatex $< pdflatex $< store_pdf: cp example*.pdf path/to/synced_directory upload_pdf: scp example*.pdf user@server.name.com:path/to/directory clean: rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf make upload_pdf

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

make clean
3
ответ дан 2 August 2018 в 03:15
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced cd ~/nonsynced git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 2 August 2018 в 03:15
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex pdflatex $< pdflatex $< store_pdf: cp example*.pdf path/to/synced_directory upload_pdf: scp example*.pdf user@server.name.com:path/to/directory clean: rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf make upload_pdf

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

make clean
3
ответ дан 4 August 2018 в 19:10
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced cd ~/nonsynced git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 4 August 2018 в 19:10
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make.

У меня есть Makefile, как это, в каталоге, где находятся файлы LaTeX (отступы - это вкладки, а не пробелы). См. GNU Make Manual.

%.pdf: %.tex pdflatex $< pdflatex $< store_pdf: cp example*.pdf path/to/synced_directory upload_pdf: scp example*.pdf user@server.name.com:path/to/directory clean: rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

make store_pdf make upload_pdf

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

make example1.pdf

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

make clean
3
ответ дан 6 August 2018 в 03:26
  • 1
    Интересно. Может быть, стоит расширить это решение с make до latexmk , чтобы воспользоваться последними функциями. – N.N. 30 June 2011 в 16:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. После этого вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Возможно, вы захотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включите синхронизацию Ubuntu One для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

mkdir ~/nonsynced cd ~/nonsynced git clone ~/Documents/LATEX_PROJECT

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT , Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если вы затем работаете на другом синхронизированном компьютере, вы можете получить последнюю версию, выполнив:

git pull ~/Documents/LATEX_PROJECT

from ~ / nonsynced / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 6 August 2018 в 03:26
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. Затем вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Вероятно, вы хотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включить Ubuntu One sync для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

  mkdir ~ / несинхронный cd ~ / несинхронизированный git clone ~ / Documents  / LATEX_PROJECT  

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT. Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

  git push ~ / Documents / LATEX_PROJECT  

Если вы затем работаете с другим синхронизированным компьютером вы можете получить последнюю версию, выполнив:

  git pull ~ / Documents / LATEX_PROJECT  

из ~ / несинхронный / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 7 August 2018 в 21:13

Я думаю, что вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make [! ​​D1].

У меня есть Makefile как в каталоге, где находятся файлы LaTeX (отступы вкладки, а не пробелы). См. [D0] GNU Make Manual .

 %. Pdf:% .tex pdflatex $ & lt;  pdflatex $ & lt;  store_pdf: cp example * .pdf path / to / synced_directory upload_pdf: scp example * .pdf user@server.name.com: путь / в / каталог clean: rm * .log * .aux * .nav * .vrb * .out  * .snm * .toc  

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

   make store_pdf make upload_pdf  

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

  сделать example1.  pdf  

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

  make clean  
3
ответ дан 7 August 2018 в 21:13

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. Затем вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Вероятно, вы хотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включить Ubuntu One sync для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

  mkdir ~ / несинхронный cd ~ / несинхронизированный git clone ~ / Documents  / LATEX_PROJECT  

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT. Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

  git push ~ / Documents / LATEX_PROJECT  

Если вы затем работаете с другим синхронизированным компьютером вы можете получить последнюю версию, выполнив:

  git pull ~ / Documents / LATEX_PROJECT  

из ~ / несинхронный / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 10 August 2018 в 09:32

Я думаю, что вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make [! ​​D1].

У меня есть Makefile как в каталоге, где находятся файлы LaTeX (отступы вкладки, а не пробелы). См. [D0] GNU Make Manual .

 %. Pdf:% .tex pdflatex $ & lt;  pdflatex $ & lt;  store_pdf: cp example * .pdf path / to / synced_directory upload_pdf: scp example * .pdf user@server.name.com: путь / в / каталог clean: rm * .log * .aux * .nav * .vrb * .out  * .snm * .toc  

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

   make store_pdf make upload_pdf  

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

  сделать example1.  pdf  

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

  make clean  
3
ответ дан 10 August 2018 в 09:32

Вы уже используете git, что упрощает работу. Решением здесь будет использование репозиториев 2 git, один из которых синхронизируется Ubuntu One, а другой - нет. Затем вы можете вносить изменения в синхронизированную папку и только тогда, когда вы хотите, чтобы синхронизация выполнялась.

Вероятно, вы хотите сохранить версию в ~ / Documents синхронизированной вместе со всеми вашими другими документами ( включить Ubuntu One sync для ~ / Documents, если вы еще этого не сделали), поэтому создайте клон в несинхронизированной папке:

  mkdir ~ / несинхронный cd ~ / несинхронизированный git clone ~ / Documents  / LATEX_PROJECT  

Затем вы можете работать с файлами в ~ / несинхронном / LATEX_PROJECT. Если вы хотите синхронизировать, нажмите ~ / Documents / LATEX_PROJECT:

  git push ~ / Documents / LATEX_PROJECT  

Если вы затем работаете с другим синхронизированным компьютером вы можете получить последнюю версию, выполнив:

  git pull ~ / Documents / LATEX_PROJECT  

из ~ / несинхронный / LATEX_PROJECT.

Вам нужно будет заменить LATEX_PROJECT именем вашей управляемой версией папки в ~ / Documents.

2
ответ дан 13 August 2018 в 15:41
  • 1
    Просто для уточнения. Папка в вашем примере, синхронизированная с Ubuntu One, это ~ / Documents / LATEX_PROJECT, правильно? Итак, шаг, который не является явным в вашем примере, активирует синхронизацию Ubuntu One для ~ / Documents / LATEX_PROJECT? – N.N. 29 June 2011 в 17:17
  • 2
    Да, я принимал все ~ / Документы уже синхронизировались. – dv3500ea 29 June 2011 в 17:20
  • 3
    Есть ли у вас предложение синхронизировать другие типы файлов, чем в проектах LaTeX, например. изображений? – N.N. 29 June 2011 в 18:05

Я думаю, что вам не нужно добавлять сгенерированные файлы (PDF, dvi или Postscript) в систему управления версиями; однако имеет смысл скопировать их в синхронизированный каталог или на другой сервер. Я обычно делаю такие вещи с помощью команды make [! ​​D1].

У меня есть Makefile как в каталоге, где находятся файлы LaTeX (отступы вкладки, а не пробелы). См. [D0] GNU Make Manual .

 %. Pdf:% .tex pdflatex $ & lt;  pdflatex $ & lt;  store_pdf: cp example * .pdf path / to / synced_directory upload_pdf: scp example * .pdf user@server.name.com: путь / в / каталог clean: rm * .log * .aux * .nav * .vrb * .out  * .snm * .toc  

Если вы хотите переместить файлы в синхронизированный каталог или на сервер, на котором у вас есть доступ к ssh, вам нужно ввести:

   make store_pdf make upload_pdf  

Если вы хотите сгенерировать example1.pdf из example1.tex, вам нужно ввести:

  сделать example1.  pdf  

Если вы хотите удалить файлы, которые вам не нужны, вам нужно ввести:

  make clean  
3
ответ дан 13 August 2018 в 15:41
  • 1
    Интересно. Возможно, стоит расширить это решение от make [! ​​D1] до latexmk , чтобы воспользоваться преимуществами последних. – N.N. 30 June 2011 в 16:13

Другие вопросы по тегам:

Похожие вопросы: