Автоматическая нумерация рисунков и формул в Word’е

Автоматическая нумерация рисунков и формул в Word'е

Я поражаюсь разработчикам, которые делали в Ворде автоматическую нумерация формул, рисунков и всех остальных объектов. Это ж надо было додуматься сделать так, что возможность вроде как есть, но пользоватья ей невозможно без плясок с бубном и дубины шамана. Сразу предупреждаю, что я сейчас говорю про Ворд из Office 2003 , не знаю может быть в 2007 или 2010 что-то и изменилось.

Итак, что нам нужно от Ворда? Вот, допустим, есть у нас такой текст:

Текст с рисунком

Мы хотим сделать так, чтобы рисунки автоматически перенумеровывались, если перед ними добавляются новые рисунки, и чтобы при этом все упоминания номера рисунка в тексте тоже автоматом исправлялись.

В принципе, в ворде есть такая возможность. Сначала вставим номер рисунка. Для этого удаляем единицу, которую мы уже написали в подрисуночной подписи, выбираем пункт меню «Вставка — Ссылка — Название», затем выбираем в поле «Подпись» «Рисунок», ставим галку «Исключить подпись из названия», потому что слово «Рисунок» мы уже и так написали.

Вставка номера рисунка

Теперь у нас появилась другая единица — в виде поля, которая будет подкрашиваться серым (всегда или только, когда курсор находится рядом с ней в зависимости от настроек).

Подрисуночная подпись с полем

Теперь мы хотим сослаться на этот рисунок в тексте, чтобы эта ссылка всегда оставалась правильной независимо от того, какой номер этого рисунка станет в будущем. Казалось бы, в Ворде все для этого есть. Удаляем нашу единицу в тексте, ставим курсор на ее место и выбираем пункт меню «Вставка — Ссылка — Перекрестная ссылка».

Вставка ссылки на рисунок

Выбираем тип ссылки «Рисунок», находим в списке внизу наш рисунок, а вот список из «Вставить ссылку на:» вгоняет в ступор. Казалось бы, нам нужно просто вставить номер рисунка «А вот хрен вам», — говорят разработчики — «Мы лучше знаем, что вам надо вставлять. Вы хотите вставить ‘Рисунок 1’ «. Просто номер без постоянной части вставить нельзя, а постоянная часть — это все, что находится на этой же строке левее номера.

Ладно, мы не гордые,  мы можем для начала вставить все это безобразие полностью:

Полная ссылка на рисунок

А теперь назло разработчикам выделяем слово «Рисунок», выбираем пункт меню «Формат — Шрифт» и делаем выделенную область невидимой с помощью галки «скрытый». На первый взгляд мы получили, что хотели:

Автоматическая нумерация рисунков

Мы можем даже точно так же добавить рисунок выше, а наша ссылка останется верной:

Два рисунка с автоматической нумерацией

Для пересчета полей только понадобится выделить весь текст и нажать клавишу F9.

Все вроде бы работает, но появляется другая проблема — если включить отображение непечатных знаков, но все наши лишние «Рисунки» опять появятся. Больше того, такой же способ нумерации можно применять для формул, тогда при вставке ссылки на нее вместо относительно безобидного «Рисунок» будет втавлена целая формула, — я ведь выше писал, что постоянной частью считается все, что левее поля с номером.

Автоматическая нумерация с непечатными символами

Такой текст в режиме отображения непечатных символов читать просто невозможно, а этот режим, все-таки, очень уж полезен.

Кроме того, здесь есть еще один неприятный момент. Если документ создан в Ворде из Office 97 (есть еще такие, кто им пользуется) и старее, то будет невозможно выделить только слово «Рисунок» в поле без номера. Для обхода этой проблемы в более новом Ворде, достаточно создать новый документ и скопировать туда содержимое исходного файла.

К своему позору, в своем диссере я использовал описанный способ нумерации формул и рисунков (только не надо говорить про TeX), а когда все уже было оформлено, нашел другой способ автоматической нумерации, который не портит режим с непечатными знаками.

Для начала посмотрим, что делает ворд при вставке ссылки на рисунок (или формулу). Он создает закладку с незапоминающимся названием вроде «_Ref262659882», которая ссылается на текст «Рисунок N». Чтобы в этом убедиться, щелкните правой кнопкой на ссылку на рисунок и выберите пункт меню «Коды / значение полей». Вы увидите примерно следующее:

Коды полей

Мы можем поступить так же, но умнее. Мы выделим созданное поле с номером в подрисуночной подписи (только номер) и создадим свою закладку на это поле. Для этого надо выбрать пункт меню «Вставка — Закладка»

Создание закладки

Вводим имя закладки (пробелы в имени использовать нельзя)

А теперь, если мы хотим сослаться на рисунок, идем все в тот же пункт меню «Вставка — Ссылка — Перекрестная ссылка» и в качестве «Тип ссылки» выбираем «Закладка», в поле «Вставить ссылку на:» выбираем «Текст закладки», а внизу находим нашу только что созданную закладку:

Вставка ссылки на закладку

Ура! мы опять сделали ссылку на номер:

Результат ссылки на закладку

Можем еще раз проверить, что автонумерация работает, добавив еще один рисунок в начале.

Два рисунка с правильной нумерацией

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

Непечатные символы при использовании ссылки на закладку

А на следующем скриншоте показаны коды полей:

Коды полей при использовании ссылок на закладки

Так же можно нумеровать и формулы, правда, иногда для формул сложнее придумать осмысленное имя закладки, чтобы оно при этом было уникально, но, в конце концов, если даже вы забыли имя закладки на очередную 1357-ю формулу, то всегда можно добавить к ней еще одну закладку, ничего страшного не случится.

Эх, знать бы про этот способ хотя бы на год раньше…

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 68, средняя оценка: 4,69)
Загрузка...

комментариев 29

  1. Dalek:

    Спасибо, как раз в тему

  2. SW:

    то, что надо =)
    Спасибо!

  3. Павел:

    всё бы ничего, отличная функция в ворде, но у меня с дисером была запарка, у меня нумерация рисунков была привязана к номеру главы и разделу — возникали проблемы, например: во второй главе в 1 подразделе 12 рисунок по уму должен называться Рисунок 2.1.12, через многоуровневый список это помучившись возможно сделать, но после сохранения и повторного открытия файла сплошная «абра кадабра» и ошибки. (2007 офис)

  4. Anton:

    Насколько я знаю, нумерация в диссере идёт по главам, то есть рис. 1.2 — рис. 1.N, рис. 2.1- рис. 2.N. То есть, двухуровневая нумерация, а не рис. 2.1.12. У меня гемор, когда я сквозную нумерацию переделываю на нумерацию по главам… Абсолютно тупой ручной труд, не придумал как безболезненно автоматически перенумеровать.

  5. Дмитрий:

    Вот такая конструкция из двух полей, разделенных символом «точка»
    {STYLEREF 1 \s}.{SEQ Рисунок \s 1}
    создает нумерацию «номер главы».»сквозной номер рисунка в главе».
    Закладку для создания ссылки на эту нумерацию делать, выделив всю конструкцию (оба поля и точку).

  6. Anton:

    Спасибо, однако, сделал уже вручную: время не ждало.

  7. Наталья:

    Спасибо!
    Очень полезная информация. Только вот небольшая проблема: необходимо рисунок уже с созданной ссылкой перенести в другую главу, затем обновить значения полей. Но это можно сделать, только если рисунок перетаскивать. Если копировать-вставить, ничего не получается.

  8. Екатерина:

    НЕ МОГУ СОЕДИНИТЬ ссылки подрисуночную и в тексте((не работает перекрёстная ссылка

  9. Айгюль:

    Спасибо! Благодаря Вашим инструкциям навела порядок в этом бардаке)))

  10. Алексей:

    МЕГАспасибо! Очень хорошая и полезная информация. В 2007 ворде всё работает без проблем.

  11. Pobat:

    Есть отличный набор макросов для Word 2003 — Disser 5.1.2 (бесплатный). Там все это реализовано. И формулы, рисунки, таблицы и даже ссылки на литературу (в формате [#]). Мне пришлось (по собственному) его немного доработать в_плане оформительских штук (при вставке формул, рисунков, таблиц) для более точного соответствия госту по оформлению и советам верстальщиков текста, но суть работы макроса и принцип остался неизменным. нумерация ведется на основе SEQ полей.
    Сайт автора на котором он был выложен уже не работает. но я уверю это набор еще можно найти на просторах интернета.

  12. Анатолий Мелентьев:

    В 2007 и 2010 кое-что изменилось! Скрытый текст больше не попадает в перекрёстную ссылку, потому можно смело использовать старый (первый) метод, по которому «Рис.» и «Таблица» ставится в скрытый до самой печати, а перед печатью весь документ выделяем и убираем все скрытости шрифта через меню Шрифт (главное, чтобы при такой игре у вас не было других ненужных скрытых объектов). Рекомендую перед тем, как снять скрытость шрифта со всего документа скопировать версию со скрытыми объектами. Вдруг, понадобится дальше исправлять:)
    А представленный метод со ссылками довольно гибкий, но менее универсальный и поворотливый, да к тому же требует дополнительных операций по наименованию рисунков и прицеливания в номера рисунков мышкой — не самые приятные операции для юзера:)

  13. Молчун:

    Благодарен автору.

  14. Алексей:

    Автору спасибо за хорошое изложение актуального материала!
    Разработчики MS не подумали о возможных трудностях в ПО на языках в которых есть падежи. Ведь в оригенальном виде используется слово Figure, Picture, где в тексте достаточно указать предлог, поэтому сочетание «Рисунок 1» дублируется. А закладка — более общий инструмент для нумерации чего угодно. Спасибо, за совет!

  15. Ксения:

    Я решаю данную проблему иначе. И мне кажется вовсе без танца с бубнами. Для научных текстов или отчета по работе вполне хватает.
    Создаю собственную подпись » Рис.» и использую ее. Соответственно, вставляю в тексте ссылку типа «Постоянная часть и номер». В моем тексте будет написано так:
    На Рис.2 (Рис.2 — это поле) изображено жЫвотное.
    Аналогично с таблицами. Постоянная часть задается как «Табл.»

  16. Jenyay:

    Если можно использовать такие сокращения как Рис. Табл. и т.п., то все действительно становится проще, однако, это не по ГОСТу.

  17. Екатерина:

    В самом деле рисы и таблы не проходят — это не по ГОСТу

    Jenyay, спасибо за «методику», очень пригодилась.

  18. Слава:

    Большое спасибо за инструкцию. Наконец-то!
    С формулами попроще — в MathType «услуга» автоматической нумерации работает отлично.
    А вот с рисунками была бееееда. )))

    Может есть способ и список литературы автоматизировать?

  19. ромка:

    >Слава: ну, в общем то есть, конечно. Нужно оформить список литературы как список, просто. И вставлять перекрестные ссылки на номера абзацев списка.

  20. Сергей:

    Слава, Mendeley вам в помощь =)

    В инете для него есть гостовский стиль оформления ссылок.

  21. Слава:

    >Сергей:
    Менделей пару лет назад пробовал начать юзать. Взбесило меня, что он к себе в каталог копирует все пдф файлы статей, что он не понимает длинные названия файлов (а хранить и систематизировать на диске мне удобно именно так). И самое главное его идиотский автоматический анализ документов тогда сбоил. А поправить автоматически имена авторов или название статьи в базе было невозможно.
    Вообщем тогда не смог им пользоваться.
    Новые версии не отслеживал. Может сейчас все хорошо работает?

  22. Сергей:

    1) Пдфки к записям в базе можно и не цеплять
    2) Длинные названия файлов воспринимает. Я по крайней мере ограничений в этом плане никаких не почувствовал.
    3) Я редко поля ручками вбиваю. Чаще всего автоматически через PMID или doi. Но если что-то не понравится, вручную можно отредактировать любое поле. Хоть авторов, хоть название.

    В общем с вашими проблемами я не сталкивался. Бывало, плагин для ворда криво работал, но сейчас тьфу-тьфу-тьфу. Всё как надо =)

  23. Александр:

    Спасибо большое, пишу громоздкие отчёты не первый год и надоело переставлять кучу номеров таблиц и рисунков. Задался целью решить это «на автомате». Способ хорош. Посмотрим сколько времени будет экономить в процессе…

  24. Иринка:

    Спааааасибо!
    Как же этого не хватало и как приятно теперь это знать!!!!

  25. Илья:

    Спасибо!

  26. Федя:

    Из личного опыта и подсказки коллег получилось так:
    Если необходимо сделать ссылку на рисунок пронумерованный по номеру главы (раздела), например, Рисунок 1.1 (рисунок в документе нумеруется в пределах раздела, т.е. рисунки в разделе 1 будут иметь название Рисунок 1.1, рисунок 1.2 и т.д., в разделе 2 — рисунок 2.1, рисунок 2.2 и т.д.), необходимо
    1. Создать стили в документе многоуровневый список с заголовками (1 Заголовок 1, 1.1 Заголовок 2, 1.1.1 Заголовок 3 и т.д.), и оформить необходимые заголовки в этом стиле.
    2. Создать рисунок
    3. Выделить его правой кнопкой мыши и выбрать в контекстном меню «Вставить название»
    4. В появившемся окне «Название» нажать «нумерация» и установить галочку «включить номер главы», нажать «ОК». В строке «название» окна «название», к уже имеющемуся тексту (например, «Рисунок 1.1»), дописать название рисунка, далее — «ОК».
    В результате под рисунком получим название вида «Рисунок 1.1 — Животное»
    5. Чтобы создать ссылку, необходимо перед нумерованной частью рисунка нажать Enter, в результате получим слово «Рисунок» на одной строке,а номер рисунка и название («1.1 — Животное») — на другой.
    6. Далее, в тексте, где необходимо сделать ссылку, на вкладке «ссылки» выбираем «перекрестная ссылка», тип ссылки — «Рисунок», «Вставить ссылку на» — «Постоянная часть и номер», выбираем требуемое название из списка и жмём «Вставить». ГОТОВО!!!
    7. Убираем в названии рисунка Enter между словом «Рисунок» и «1.1 — Животное». Теперь Всё ГОТОВО.

  27. Владимир:

    Федя — гениально, действительно работает. Добавлю только что если после удаления перевода строки вставить пробел между словом «Рисунок» и номером, то при обновлении поляы будет добавляться вначале номера лишний пробел, поэтому сначала надо поставить пробел после слова «Рисунок», а потом убирать перевод строки.

  28. Звуколов:

    Евгений, огромное спасибо! Сейчас сидел с огромным документом на Word 2003, всю голову сломал, как бы на нем исхитриться и сделать автоматически исправляемые ссылки на номер рисунка. Предложенное Вами решение — то, что нужно!

  29. Ольга:

    Спасибо огромное! Это то, что я так долго искала…

Leave a comment

Subscribe without commenting