[ID CC2022] Как ускорить работу InDesign?

Timur_N

Топикстартер
12 лет на форуме
Сообщения
35
Реакции
3
IDML?
Нужно?
Я, в принципе, нашел выход из ситуации, мне не актуально.
 

Drawer

Участник
Сообщения
1 754
Реакции
773

afalbert

10 лет на форуме
Сообщения
120
Реакции
88
Я, в принципе, нашел выход из ситуации, мне не актуально.
ИМХО: Правильнее не уменьшать количество переменных, а освоить еще один инструмент индизайна (book). При правильном применении становится удобнее и быстрее :)
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
IDML?
Нужно?
Я, в принципе, нашел выход из ситуации, мне не актуально.
Файл смотрю.
Но предварительно вам удобнее юзать XML.
Создаёте .xml примерно такого содержания:
Код:
<Data>
<RuName>РОССИЙСКИЙ ВЕСТНИК ПЕРИНАТОЛОГИИ И ПЕДИАТРИИ</RuName>
<EnName>tra-ta-ta</EnName>
<Part>2022</Part>
<Number_vip>1</Number_vip>
</Data>
И .xsl
Код:
   <xsl:template match="Data">
        <baseData>
                <Part><xsl:value-of select="Name"/></Part>
                <Number_vip><xsl:value-of select="Year"/></Number_vip>
                <Name><xsl:value-of select="Theme"/></Name>
        </baseData>
        <Title>
        <colRu><xsl:value-of select="RuName"/>, <xsl:value-of select="Part"/>, <xsl:value-of select="Number_vip"/></colRu>
        <colEn><xsl:value-of select="EnName"/>, <xsl:value-of select="Part"/>, <xsl:value-of select="Number_vip"/></colEn>
    </Title>
   </xsl:template>

Это удобно, когда базовых вводных вроде мало, а их интерпретаций в виде разных колонтитулов и проч. - много.
Потом вы снимаете проблему "непереноса" при длинных переменных, т.к. это уже не переменные.
Да и редактировать вводные данные можно вообще вне ID.
 
Последнее редактирование:
  • Спасибо
Реакции: Любимцев

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
И зачем столько мастеров сделано.
Все это нужно заменить на одни мастер, к котором "оригинальные статьи", "Дискуссия" - также задавать через переменные. Тут нужно немного помозговать как это удобнее сделать, вариантов много.
И мне не нравиться что вы задаёте переменные именно через Character... чисто теоретически это должно медленнее работать, нежели Paragraph..., но проверить это можно на живом материале, тут мне сложно сказать, может и не прав.
 
Последнее редактирование:
  • Спасибо
Реакции: Любимцев

densen

15 лет на форуме
Сообщения
751
Реакции
639
Я, в принципе, нашел выход из ситуации, мне не актуально.
Можно я еще несколько своих замечаний добавлю?
1) В ссылках DOI (в цитировании и в литературе) не должно быть "тире": DOI: 10.21508/1027–4065–2022–67–1–13. Посмотрите, как выглядит DOI к этой статье на их сайте: - Микробиота и здоровье ребенка: задачи медицинской практики | Харитонова | Российский вестник перинатологии и педиатрии
2) В списках литературы согласно ГОСТ Р 7.0.7–2021 сведения о расположении статьи должно быть без пробелов -
3) Эта строка цитирования:
Рос вестн перинатол и педиатр 2022;67(6):1–13. DOI: 10.21508/1027-4065-2022-67-1-7-13
Сделана не оптимально. В переменную нужно занести:
1) Год - не стилем "Year_num", а как текстовую переменную - 2022 или 2023
2) Том - не стилем "Part", а как текстовую переменную - 67 или 68 (с нового года).
3) Выпуск - не стилем "Numder_vip", а как текстовую переменную 6 или 1 (с нового года).
4) Вместо первой страницы статьи нужно поставить символ Сurrent Page Number.
5) Последнюю страницу статьи нужно выполнить переменной "Last Page Number" (Scope - Section).
В DOI вместо 2022-67-1-7-13 тоже подставить вышеупомянутые переменные. Получившаяся строка будет одинаковая для всех статей журнала, как как страницы будут автоматически меняться.

Из-за того, что переменные Год, том и выпуск у вас не просто текстовая переменная, а стиль, программа ищет их по всему документу с добродеятельной целью дополнительно подставить чего-нибудь куда-нибудь и тратит впустую ресурсы.
 
Последнее редактирование:
  • Спасибо
Реакции: afalbert, xenOnn и LeonidB

densen

15 лет на форуме
Сообщения
751
Реакции
639
(продолжение)
6) В ORCID должны быть дефисы, а не тире.
7) Чтобы работал пункт 5, нужно, чтобы каждая статья начиналась с нового Section (раздела, или как там в русском).

Чтобы не быть голословным, выкладываю файл, как реализованы переменные у одного моего друга. Покопайте (с).
Все шрифты поменял на Times, чтобы сразу открылось красиво.
Чтобы понять, как всё работает, выделите страницы 2-4 и сдублируйте, и посмотрите, как везде меняется нумерация страниц.

В файле содержится неиспользующаяся переменная DOI, друг забыл удалил, когда оптимизировал.
 

Вложения

  • psy.zip
    162 КБ · Просм.: 130
Последнее редактирование:
  • Спасибо
Реакции: afalbert и LeonidB

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359

densen

15 лет на форуме
Сообщения
751
Реакции
639
удобно менять переменные
Я сегодня обленился настолько, что решил больше вручную ничего не менять. Пусть всё меняется автоматически.
JavaScript:
#target indesign

function psy_colour() {
with (app.activeDocument.colors) {
    var s1 = [item("Lines"), [45,70,20,0], [15,60,75,0], [15,100,80,0], [0,35,80,0]];
    var s2 = [item("Table_head"), [22,6,6,0], [0,15,10,0], [6,18,9,0], [5,30,24,0]];
    var s3 = [item("Table_strokes"), [75,20,20,0], [0,50,35,0], [20,60,30,0], [40,50,0,0]];
    var s4 = [item("chapter-2"), [100,0,20,0], [25,65,0,0], [0,50,80,0], [35,55,0,0]];
    with (app.activeDocument.textVariables) {
        var i = item("Issue").variableOptions.contents;
        var v = item("Volume").variableOptions.contents;
        var y = item("Year").variableOptions.contents;
            if (i === "4") { // если номер предыдущего журнала был последним в году...
                i = "1"; // ...то номер становится первым в новом году
                v = String (Number (v) + 1); // номер тома увеличивается +1
                y = String (Number (y) + 1); // год увеличивается + 1
                } else { // если номер предыдущего журнала был не последним в году...
                    i = String (Number (i) + 1); // ...то номер увеличивается +1
                    }
        item("Issue").variableOptions.contents = i; // присвоение переменной номера нового значения
        item("Volume").variableOptions.contents = v; // присвоение переменной тома нового значения
        item("Year").variableOptions.contents = y; // присвоение переменной года нового значения
        }
    s1[0].colorValue = s1[i]; s2[0].colorValue = s2[i]; s3[0].colorValue = s3[i]; s4[0].colorValue = s4[i]; // изменение цветовой схемы в соответствии с номером
    }
}

psy_colour();

При каждом запуске скрипта из файла верстки (подойдет и выкладывавшийся ранее psy.zip) берется прошлый номер журнала и увеличивается на 1. А если это последний номер года, то счетчик номеров сбрасывается к "1", и значения тома и года увеличиваются на 1. Можно кликать все выходные.
В зависимости от номера журнала еще меняется и цветовая схема. Красота. Вот наглядный пример еще одного плюса от использования переменных.
 
Последнее редактирование:
  • Спасибо
Реакции: boriskasmoscow