LINUX.ORG.RU

Вопрос по сборке проекта tex

 , ,


1

1

Речь идет о проекте с главным файлом main.tex. В этот файл включены файлы с помощью \input{file1}.

Таких проектов, допустим, 10 штук и все они отличаются только лишь одним этим file*: в первый проект вставляется \input{file1}, во второй - \input{file2} и т.д. до file10. Это 10 статей, отличающихся только текстом и титулом.

Такой проект собирается просто: pdflatex main.tex. Все проекты лежат каждый в своей директории и собираются единым Makefile.

Мне бы хотелось, чтобы проектов было не 10 шт, а он был бы один, и при сборке туда поочередно подставлялись file1 (и компилировался в output1.pdf), потом подставлялся file2 (и компилировался в output2.pdf).

Потому что, поскольку проекты полностью одинаковы за исключением текста одного файла, то не хотелось бы меня одно и то же сразу в 10 случаях.

Вопрос: какие есть идеи, как это можно сделать? Могу, конечно, вручную подставлять эти файлы. Могу скопировать 10 таких проектов и каждый раз делать исправления во всех.

Но, может быть, можно как-то с помощью make? Как обычно это делается?

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

#!/bin/bash

for i in `seq 10`; do
pdflatex -jobname=mydoc$i <<EOF
\documentclass[a4paper,12pt,oneside]{article}
\begin{document}
Doc $i
\end{document}
EOF
done
anonymous
()
Ответ на: комментарий от anonymous

Но в таком случае, сборка не будет работать в других системах. Т.е. преимущество кроссплатформенности LaTeX мы теряем. Но тут, видимо, уже ничего не сделать.

Deleted
()
Ответ на: комментарий от Deleted

Ну, можно написать аналог на Powershell или даже BAT, но я не знаю Powershell и забыл BAT.

proud_anon ★★★★★
()
Ответ на: комментарий от Evgueni

Решил просто не удалять старые *.tex файлы, содержимое которых переместилось в скрипты. Не так уж их и много, а виндузятникам полегче будет. Оставлю как образец. Спасибо )

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

В принципе скрипт можно немного улучшить убрав всё, что связано с генерацией головного файла, так как LaTeX умеет переменные из командной строки и всякого рода if. Чисто для информации.

Evgueni ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.