Статьи из блога

Статьи из блога

Способ автоматической нумерации таблиц, рисунков, формул и ссылок

Спустя год после публикации заметки Как автоматически вставить подпись к рисунку или таблице, предлагаю вашему вниманию альтернативный (в какой-то мере) совет от читательницы Ирины. Возможно это решение кому-то пригодится.

 

Ирина пишет:

Нумерацию таблиц, рисунков и формул я провожу с помощью команды "Название" (меню Вставка-Ссылка), выбираю соответствующее значение в выпадающем списке "Подпись" и устанавливаю флажок на параметре "Исключить подпись из названия". Опцию "Автоназвание" я не использую.
 
Рисунки и таблицы
Слова "рисунок" или "таблица" пишу руками, точнее создала макрос для вставки рисунков и таблиц. С помощью клавиши «Enter» переношу номер рисунка или таблицы на следующую строку (в строке оказывается только номер), затем в нужном месте с помощью команды "Перекрестная ссылка" (меню Вставка-Ссылка) ссылаюсь на него (вставляется только номер, а слова "рисунок" или "таблица" пишу самостоятельно в нужном падеже).
Перехожу обратно к рисунку и возвращаю номер на свое место.
Если нужно сослаться несколько раз на один и тот же рисунок или таблицу, то повторяю операцию, либо копирую уже сделанную ссылку. Таким образом, ссылки соответствуют ГОСТу и проблем с обновлением полей не возникает.
 
Формулы
Формулы я вставляю в таблицу с невидимыми границами с одной строкой и двумя столбцами. Делаю это с помощью макроса и в итоге получаю таблицу, в первом столбце которой по центру стоит запятая, а во втором - по центру находятся круглые скобки. В первый столбец заношу формулу, во второй с помощью команды "Название" ее номер. Ссылаюсь на формулу с помощью команды "Перекрестная ссылка" и получаю при этом номер формулы в круглых скобках (ячейка таблицы воспринимается программой как новая строка).

Если у кого-то есть вопросы к Ирине по предложенному способу, задавайте в комментариях.

]]> twitter.com facebook Вконтакте Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>


Понравилась статья, проголосуй:



Комментариев: 78

  1. Павел
    06.12.2007 в 02:57 | #1

    На мой взгляд описаный способ не совсем удобен.

    Сам использую следующий метод.

    Вставляю название к рисунку с помощью "Вставить название". При этом использую подпись, т.е. например рисунки вставляются с названием "Рисунок 1. Рога и копыта".

    Когда нужно вставить ссылку на рисунок делаю очень просто. Вставляю ссылку с помощью "Перекрестная ссылка". Вставляется, естественно, "Рисунок 1". Потом я выделяю часть вставленого текста "Рисунок " и нажимаю комбинацию , тем самым делая ее скрытой (тоже самое можно сделать через меню Формат -> Шрифт). потом дописываю перед номером слово в нужном падеже. При обновлении поля, скрытая часть текста остается скрытой.

    Описаный способ на мой взгляд самый удобный и не раздражающий.

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

    При этом правда в Ворд 2007 возникает проблема: формулы становятся очень маленькими (меняют стиль на встроеный).

  2. Ирина
    06.12.2007 в 10:41 | #2

    Спасибо Павел.

    Попробовала ваш способ, делать скрытый текст гораздо удобнеее.

  3. 08.12.2007 в 20:04 | #3

    Все очень хорошо и такой способ нумерации и ссылок я тоже использую (где-то в Интернет прочитал год назад и взял на вооружение). Есть правда одна заковыка, с которой я еще не смог толком разобраться.

    Согласно ДСТУ3008-95 (государственный стандарт Украины), если таблица переносится на другую страницу, то заголовок на продолжении должен быть вида: "Продолжение таблицы..." Но ни одна версия ворда не вставляет новый заголовок в разорванную таблицу и никакой комитет еще не отменил это правило, а балл снижают за неточное соответствие стандартам.

    Я делаю так:

    1.Разбиваю таблицу.

    2.Над той частью, которая перенеслась на другую страницу вставляю Перекрестную ссылку, слово Таблица в перекрестной ссылке делаю невидимым и руками дописываю "Продолжение таблицы ".

    Проблема в том, что если таблица сместится, то приходится все переделывать.

    Что делать?

    А по поводу вставки формул, есть макрос, который все это делает: и таблицу без рамки вставляет, и нумерацию проставляет с учетом номера раздела

  4. Павел
    11.12.2007 в 13:15 | #4

    А можно научить Ворд склонять слова? smile

    Например, что бы вместо "рисунок" он писал "рисунке".

  5. 11.12.2007 в 22:33 | #5

    По поводу склонений в ворде - это вопрос к разработчикам. Я думаю, что это вполне возможно. Вообще за этим должна следить служба локализации программных продуктов. Ведь в том же английском склонение производится предлогами of, in, for; во французском частицей de артиклем соответствующего рода; в немецком склоняется по падежам сами артикли; и я подозреваю, что во всех романских языках такая ситуация.

    Т.е. в английском table всегда будет table, во французском tableau будет tableau, а вот в "великом и могучем" таблица, таблицы, таблице, таблицу, таблицей.

    Предлагаю от имени сайта инициировать прошение к российскому отделению Microsoft о введении возможности склонения перекрестных ссылок. Я согласен подписаться ;)

  6. Павел
    12.12.2007 в 17:52 | #6

    Я тоже согласен ))

  7. Владимир
    18.12.2007 в 22:45 | #7

    ГОСТ 2.105-95 (утвержденный, как я понимаю, в качестве межгосударственного стандарта, за который проголосовал и Госстандарт Украины), действительно, требовал указывать заголовок "Продолжение таблицы..."

    В новой редакции этого ГОСТ от 2006 года есть фраза: «При подготовке текстовых документов с использованием прикладных программных средств надпись «Продолжение таблицы» допускается не указывать»

    Вроде бы эти изменения утвержены решением №23 Межгосударственного Совета по стандартизации от 28 февраля 2006 г. (http://www.easc.org.by). - у меня неофициальная версия этих изменений, поэтому желательно уточнить информацию

  8. 18.12.2007 в 22:50 | #8

    Владимир, вот заметка об этом ГОСТе (http://wordexpert.ru/page/nadpis-prodolzhenie-tablitsyi-v-dokumentah-po-gost), а вот ссылка на официальный текст в базе КонсультантПлюс - http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=EXP;n=371587;dst=100194;offs=3;last=1

  9. Владимир
    19.12.2007 в 18:41 | #9

    Антон, ссылка на заметку о ГОСТ не работает

  10. Владимир
    19.12.2007 в 19:14 | #10

    Уважаемые коллеги!

    Подскажите, плз, каким образом вам удается выделить часть перекрестной ссылки (слово "Рисунок")? "исунок" выделить еще получается, а вот как только при выделении захватываются крайние символы, автоматически выделяется вся перекрестная ссылка.

    Настройка параметров редактирования никак не помогает.

  11. 19.12.2007 в 19:56 | #11

    Поправил ссылку в комментарии.

    Что касается выделения всего слова, то лучше действовать не мышкой, а клавишами со стрелками и клавишей Shift.

  12. Владимир
    19.12.2007 в 20:09 | #12

    Понятно, что лучше стрелками и shift-ом, все равно не помогает, при захвате крайнего символа выделяет всю перекрестную ссылку

  13. Владимир
    20.12.2007 в 19:52 | #13

    Три часа потратил на изучение проблемы: почему все-таки при захвате крайних символов ссылки выделяется вся ссылка целиком (причем это относится не только к гиперссылкам, но и к любым полям)

    Диагноз получился следующий: это происходит при работе в среде Word 2000, либо в среде Word 2003 с документами, созданными на основе шаблонов, сделанных в среде Word 2000 (2007 не тестировал)

    А если шаблон сделан в среде Word 2003, все нормально

  14. Валерий Фетисов
    28.12.2007 в 07:14 | #14

    Извините, так и не смог разобраться, как зайти на форум, поэтому пишу прямо Вам.

    Мне приходится довольно много работать с формулами и меня заинтересовал Александр Витер , который пишет "А по поводу вставки формул, есть макрос, который все это делает: и таблицу без рамки вставляет, и нумерацию проставляет с учетом номера раздела".

    Можно ли заполучить такой макрос?

  15. 06.01.2008 в 05:09 | #15

    Уважаемый Валерий. Макрос я вам передам, но напишите мне со своего почтового ящика. Мой адрес: viter.alex@gmail.com. Кстати макрос не мой, а Н.Н. Воронина. Где я его нашел уже не помню. Недавно с помощью Антона Кокина я его адаптировал для Office2007

  16. Oleg
    07.01.2008 в 23:06 | #16

    Александр, если несложно, вышлите этот макрос и мне. Спасибо.

    hurtov@gmail.com

  17. 16.01.2008 в 03:58 | #17

    Больше года пользовался макросом Н.Н. Воронина для вставки формулы с номером. Но со временем заметил некоторые его особенности:

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

    2. Строго говоря, формула центрируется не по центру страницы, а по центру ячейки, и при вставке длинных формул это становится заметным;

    3. При вставке нескольких формул подряд расстояние между формулами меньше расстояния между текстом и первой формулой.

    Поэтому я решил макрос немного модернизировать. Сначала я добавил в него строки, которые отключают нумерацию таблиц и включают ее после вставки формулы. Но работой макроса все равно не был доволен.

    В конце концов решил полностью переделать макрос и вместо таблицы воспользоваться для выравнивания табуляцией. Результат меня полностью устроил.

    Работает макрос следующим образом:

    - создает 2 позиции табуляции: одну для формулы с выравниванием по центру в позиции 82,5 мм и другую с выравниванием по правому краю в позиции 165 мм.

    - затем вставляет номер формулы в один табулятор, а саму формулу в другой.

    Недостаток у макроса я заметил один:

    - выравнивание зависит от установок полей страницы. Так вышеназванные установки позиций табуляции подходят для полей: левое - 30 мм, правое - 15 мм. Такие поля рекомендуются стандартом ДСТУ 3008-95, поэтому я думаю, большинству они подойдут.

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

    Текст макроса следующий:

    Sub Формула_с_номером()
    '
    ' Формула_с_номером Макрос
    ' Вставка формулы с номером
    ' Макрос записан 24.08.00 Н.Н. Воронин видоизменен 15.01.08 Витером А.А.
    '
        Selection.TypeParagraph
        Selection.MoveUp Unit:=wdLine, Count:=1
        With CaptionLabels("(")
            .NumberStyle = wdCaptionNumberStyleArabic
            .IncludeChapterNumber = False
        End With
        Selection.InsertCaption Label:="(", TitleAutoText:="InsertCaption1", Title _
            :="", Position:=wdCaptionPositionBelow, ExcludeLabel:=0
        Selection.HomeKey Unit:=wdLine
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        Selection.Delete Unit:=wdCharacter, Count:=1
        Selection.HomeKey Unit:=wdLine
        Selection.ParagraphFormat.TabStops.ClearAll
        ActiveDocument.DefaultTabStop = MillimetersToPoints(12.7)
        Selection.ParagraphFormat.TabStops.Add Position:=MillimetersToPoints(82.5) _
            , Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
        Selection.ParagraphFormat.TabStops.Add Position:=MillimetersToPoints(165), _
             Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
        Selection.TypeText Text:=vbTab & vbTab
        Selection.MoveLeft Unit:=wdCharacter, Count:=1
        Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", LinkToFile:= _
            False, DisplayAsIcon:=False
    End Sub

  18. Сергей
    18.01.2008 в 23:36 | #18

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

  19. Сергей
    19.01.2008 в 12:16 | #19

    Способ нумерации средствами Word:

    1. В новой строке вставляем формулу

    2. Делаем позиции табуляции одну по центру другую с правого края страницы

    3. Перед формулой вставляем табуляцию, в результате чего формула перемещается по центру

    4. Устанавливаем курсор после формула и нажимаем Ctrl+Alt+Enter, в результате после знака конец абзаца НА ЭТОЙ ЖЕ СТРОКЕ появляется пробел и еще один знак конца абзаца.

    5. Убираем пробел и делаем табуляцию. Курсор перемещается в правую позицию строки.

    6. Ставим открывающую и закрывающую кавычки и перемещаем курсор между ними.

    7. Переходим в меню «Вставка->Ссылка->Название» выбираем подпись «формула» и «Исключить подпись из названия». Получаем формулу с номером.

    8. Для ссылки на формулу переходим в меню «Вставка->Ссылка->Перекрестная ссылка» указываем «Название целиком». За счет того, что в п.4 в эту строку вставили знак нового абзаца в ссылке не появляется сама формула.

  20. 20.01.2008 в 00:30 | #20

    Совершенно прав был Сергей в 23:36, я действительно не заметил этой особенности.

    Совет Сергея в 12:16 помог исправить этот недостаток. Честно говоря, не знал о возможности вставки разделителя стилей в одну строку.

    А почему не ставит закрывающую скобку, честно не знаю. У меня ставит.

    Вот исправленный вариант макроса:

    Selection.TypeParagraph
        Selection.TypeParagraph
        Selection.MoveUp Unit:=wdLine, Count:=2
    'Установить позиции табуляции в абзаце
        Selection.ParagraphFormat.TabStops.ClearAll
        ActiveDocument.DefaultTabStop = MillimetersToPoints(12.7)
        Selection.ParagraphFormat.TabStops.Add Position:=MillimetersToPoints(82.5) _
            , Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
        Selection.ParagraphFormat.TabStops.Add Position:=MillimetersToPoints(165), _
             Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
    'Сделать один отступ табуляцией
        Selection.TypeText Text:=vbTab
    'Вставить разделитель стилей
        Selection.InsertStyleSeparator
    'Удалить пробел
        Selection.TypeBackspace
    'Еще один отступ табуляции
        Selection.TypeText Text:=vbTab
    'Вставить номер формулы
        With CaptionLabels("(")
            .NumberStyle = wdCaptionNumberStyleArabic
            .IncludeChapterNumber = False
        End With
        Selection.InsertCaption Label:="(", TitleAutoText:="InsertCaption1", Title _
            :="", Position:=wdCaptionPositionBelow, ExcludeLabel:=0
    'Удалить пробел после открывающей скобки
        Selection.HomeKey Unit:=wdLine
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "( "
            .Replacement.Text = "("
            .Forward = True
            .Wrap = wdFindStop
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.HomeKey Unit:=wdLine
        Selection.MoveRight Unit:=wdCharacter, Count:=1
    'Вставить формулу
        Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", LinkToFile:= _
            False, DisplayAsIcon:=False

  21. Сергей
    20.01.2008 в 11:32 | #21

    Привожу свой вариант макроса для вставки формул с нумерацией

    Sub Формула_с_нумерацией()
    '
    ' Макрос записан 20.01.2008 Максимов
    '
        With Selection.ParagraphFormat
            .SpaceBeforeAuto = False
            .SpaceAfterAuto = False
            .FirstLineIndent = CentimetersToPoints(0)
        End With
        Selection.ParagraphFormat.TabStops.ClearAll
        Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(8.25) _
            , Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
        Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(16.5) _
            , Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
        Selection.TypeText Text:=vbTab
        Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", FileName:="", _
             LinkToFile:=False, DisplayAsIcon:=False
        Selection.InsertStyleSeparator
        Selection.TypeBackspace
        Selection.TypeText Text:=vbTab & "("
        Selection.InsertCaption Label:="Формула", TitleAutoText:="InsertCaption1", _
             Title:="", Position:=wdCaptionPositionAbove, ExcludeLabel:=1
        Selection.TypeText Text:=")"
    End Sub

    Наверно проблему можно считать решенной.

  22. Сергей
    20.01.2008 в 12:11 | #22

    Ну и наконец, для достижения полной нирваны, автоматически вычисляем середину страницы и ее правый край, тот недостаток о котором говорил Александр 16 января 2008 в 03:58.

    Sub Формула_с_нумерацией()
    '
    ' Макрос записан 20.01.2008 Максимов
    '
        With Selection.ParagraphFormat
            .SpaceBeforeAuto = False
            .SpaceAfterAuto = False
            .FirstLineIndent = CentimetersToPoints(0)
        End With
        With ActiveDocument.PageSetup
        Selection.ParagraphFormat.TabStops.ClearAll
        Selection.ParagraphFormat.TabStops.Add Position:=(.PageWidth - .LeftMargin - .RightMargin) / 2 _
            , Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
        Selection.ParagraphFormat.TabStops.Add Position:=(.PageWidth - .LeftMargin - .RightMargin) _
            , Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
        End With
        Selection.TypeText Text:=vbTab
        Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", FileName:="", _
             LinkToFile:=False, DisplayAsIcon:=False
        Selection.InsertStyleSeparator
        Selection.TypeBackspace
        Selection.TypeText Text:=vbTab & "("
        Selection.InsertCaption Label:="Формула", TitleAutoText:="InsertCaption1", _
             Title:="", Position:=wdCaptionPositionAbove, ExcludeLabel:=1
        Selection.TypeText Text:=")"
    End Sub

  23. Сергей
    20.01.2008 в 12:19 | #23

    Тот же макрос, что и предыдущий, но с устраненией недостатка о котором говорил Александр 16 января 2008 в 03:58, т.е с автоматическим определением середины и правого поля страницы.

    Sub Формула_с_нумерацией()
    '
    ' Макрос записан 20.01.2008 Максимов
    '
        With Selection.ParagraphFormat
            .SpaceBeforeAuto = False
            .SpaceAfterAuto = False
            .FirstLineIndent = CentimetersToPoints(0)
        End With
        With ActiveDocument.PageSetup
        Selection.ParagraphFormat.TabStops.ClearAll
        Selection.ParagraphFormat.TabStops.Add Position:=(.PageWidth - .LeftMargin - .RightMargin) / 2 _
            , Alignment:=wdAlignTabCenter, Leader:=wdTabLeaderSpaces
        Selection.ParagraphFormat.TabStops.Add Position:=(.PageWidth - .LeftMargin - .RightMargin) _
            , Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
        End With
        Selection.TypeText Text:=vbTab
        Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", FileName:="", _
             LinkToFile:=False, DisplayAsIcon:=False
        Selection.InsertStyleSeparator
        Selection.TypeBackspace
        Selection.TypeText Text:=vbTab & "("
        Selection.InsertCaption Label:="Формула", TitleAutoText:="InsertCaption1", _
             Title:="", Position:=wdCaptionPositionAbove, ExcludeLabel:=1
        Selection.TypeText Text:=")"
    End Sub

  24. Наталья
    07.06.2008 в 10:11 | #24

    А как быть с автоматической нумерацией рисунков в 2008 офисе?

  25. 07.06.2008 в 10:52 | #25

    Наталья, в Word 2007 практически все обстоит аналогично, за исключением лишь того, что вам нужно перейти на вкладку "Ссылки" и в группе команд "Название" нажать на кнопку "Вставить название".

  26. Наталья
    07.06.2008 в 11:14 | #26

    А как-нибудь макросом записать, чтобы автоматически вставлялись по центру и подписывались. Кнопка Автоназвание работает только для точечных рисунков и то, не очень хочется сохранять bmp - шные рисунки.

  27. 07.06.2008 в 12:32 | #27

    Теоретически можно написать макрос вставки рисунка и подписи. Но вы же должны выбирать, какой именно рисунок вставлять. У меня например, сделаны два стиля: для рисунка и для подрисуночной подписи. Перед тем, как вставить рисунок, я применяю стиль Рисунок и вставляю картинку (любую, поддерживаемую редактором). Автоматически под рисунком вставляется подрисуночная подпись. К ней я применяю тоже применяю свой стиль для подписи.

  28. Наталья
    09.06.2008 в 14:04 | #28

    А почему не работает Автоеазвание?

    Из рисунков указан только тип Точечный рисунок, что не совсем удобно.

    Читала, что в Автоназвании есть еще Microsoft Word Picture, чего у себя не вижу...а кто-нибудь видел?

  29. Наталья
    09.06.2008 в 14:53 | #29

    И еще вопрос: номера рисунков созданы с помощью команды Вставить название. Когда вставляю новый рисунок, номера не обновляются. Документ большой (около 200 стр), делаю новый, в нем обновляются.

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

    Кто-нибудь может что-нибудь посоветовать?

  30. 09.06.2008 в 20:07 | #30

    Наталья, в списке автоназваний есть элемент "Рисунок Microsoft Word". Если у вас его нет, могу предположить, что имеет место небольшой сбой. У меня также однажды в одном документе, над которым я долго работал, пропал этот элемент. Помогла перезагрузка редактора, удаление временных файлов Ворда.

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

    А обновить нумерацию можно и вручную, выделив весь документ (Ctrl+A) и нажав клавишу F9.

  31. Sergey G.
    01.08.2008 в 11:18 | #31

    Центрирование независимое от ширины страницы просто осуществить так:

    в одной строке:

    [неразрывный пробел] [пробел] [Формула] [пробел] [неразрывный пробел или номер]

    и включить выравнивание по ширине. Перенос на другую строку осуществить с помощью разрыва строки (Shift+Enter), а не конца абзаца.

    Не нужно многочисленных табуляторов.

    Можно записать и макрос, но их не люблю smile

    P.S. Неразрывный пробел, как известно, вводится: Ctrl+Shift+Enter

  32. 01.08.2008 в 19:39 | #32

    [Неразрывный пробел][пробел] для меня неприемлим по этическим соображениям: два пробела не могут идти друг за другом, т.к. пробелы служат для отделения слов друг от друга, а не пробелов.

    Табуляция и таблицы — это стандартный способ сохранять положение текста на странице.

  33. Sergey G.
    02.08.2008 в 17:42 | #33

    [quote comment="20993"]... для меня неприемлим по этическим соображениям..

    Я всегда говорил, что рассовые и этические предрассудки тормозят развитие человечества ;)

    Хотя по сути различие мыжду пробелом и неразрывным пробелом не меньше чем между оным и табулятором (как говорят: сравнил ...).

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

    потянуть край страницы, как сразу проглянет их "гнилое буржуазное нутро". Неразрывный пробел, по сути говоря якорь, он может быть заменен любым другим символом.

  34. Гость
    22.09.2008 в 20:57 | #34

    немного не по теме. но совсем уже пал духом. Ворд 2007, в содержании сделал закладки, само содержание ввиде таблицы, потом содержание отредактировал как надо, ссылки все работают (зажимаю Ctrl жму мышкой и попадаю в нужный пункт), но при печати проблема, меняется шрифт,интервал и т.д.может кто сталкивался?

  35. 23.09.2008 в 02:09 | #35

    потом содержание отредактировал как надо

    Смущает меня эта фраза. Как надо? Что не удовлетворяет в содержании, которое создается автоматически?

    Пишите. Желательно пример файла.

  36. Леонид Бродский
    24.09.2008 в 10:19 | #36

    ...содержание отредактировал как надо, ... но при печати проблема, меняется шрифт,интервал и т.д.может кто сталкивался?

    Думаю, в Настройках в разделе Печать отключить "Обновлять поля".

  37. 24.09.2008 в 15:32 | #37

    Думаю, в Настройках в разделе Печать отключить "Обновлять поля".

    Это может помочь, но проблему не решит. Зачем редактировать содержание после его создания? Если содержание не совсем такое, как хочется, то нужно добиться, чтобы оно автоматически создавалось таким, какое требуется.

    Смотрим настройки стилей «Оглавление» с соответствующим номером. Кстати, если меняем что-либо в форматировании содержания, то стиль должен обновляться автоматически, по умолчанию. Нужно проверить стоит ли в стилях «Оглавление» галочка «Обновлять автоматически»

  38. Владимир
    11.01.2009 в 15:15 | #38

    Судя по количеству отзывов это наиболее болезненная тема среди других прочих по работе в Word. Действительно встроенные в Word средства автоматической нумерации рисунков, таблиц, формул и ссылок работают плохо. На мой взгляд прекрасной альернативой этим средствам является утилита "Disser" (http://www.offext.ru/Library/Science/Development/Downloads_GetFile.aspx?id=152 или на сайте разработчика http://www.kankowski.narod.ru/soft/disser.htm).Она сразу решит те проблемы, о которых говорилось в отзывах выше.

    Я сам пользуюсь утилитой третий год и очень доволен.

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

    Dissr устанавливается и прерасно работает в Word 2003.

    Для установки в Word 2007 необходимо файл disser_setup.exe распаковать WinRar в отдельную папку(если устанвлен WinRar кликнуть правой кнопкой на файле и выбрать, например, "Извлечь в disse_setup\"). После распковки запистить DisserSetupWiz.doc, который и установит утилиту. Конечно функциональность утилиты в Word 2007 будет ограничена, поскольку она все-таки разрабатывалась для 97/2000/2002 офиса, но та функция о которой идет здесь речь работает замечательно.

  39. Андрей
    23.09.2009 в 13:04 | #39

    Добрый день.

    Успешно использовал советы "Павел: 6 декабря 2007 г. в 02:57" и "Сергей: 19 января 2008 г. в 12:16".

    Столкнулся с следующей проблемой: в документе есть:

    - основные разделы (заголовки отформатированы стилем "Заголовок 1" с численной нумерацией, например " 1 Заголовок...)

    - приложения, заголовки которых отформатированы стилем, созданным на базе "Заголовок 1" с буквенной нумерацией пусть, Прил. (например "Приложение А". (все в угоду ГОСТ 7.32-2001).

    Появилось 2 проблемы с автоматической нумерацией объектов:

    1. Нумерация в приложениях. Решена, путем замены стиля (в первом поле номера рисунка, например А.1 (Заголовок

    1 -> Прил.). Но при вставке-ссылка-название нового элемента измененное выше поле !вновь! принимает формат 1.1.

    2. Нумерация в приложении следующем за А, т.е. Б. В нем при вставке измененного поля (см.проблема 1) первая часть номера изменяется, т.е. Б, но порядковый номер продолжается. Помогает игра с ключами (\s1->\r1), но не сложно ли это?

    Итоговый вопрос, как реализовать авт.нум. в основной части документа (Рисунок 1.1), и в приложениях (Рисунок А.1, Б.1 и т.д.).

  40. Андрей
    23.09.2009 в 13:09 | #40

    Добавлю. MSO Word2003.

    Дополнительная задача - возможная перестановка приложений с сохранением нумерации объектов. Все это нужно реализовать в 1 документе.

    Спасибо за помощь.

  41. 23.09.2009 в 14:55 | #41

    Андрей, если замена стиля в поле STYLEREF помогла, то просто копируйте это поле в каждую подпись к рисунку.

    А то, что нумерация продолжается, то в поле { SEQ Рисунок \* ARABIC \s 1 }, которое стоит во второй позици, обязательно должен быть ключ \s 1, который и показывает, что нужно сбрасывать нумерацию

  42. Андрей
    23.09.2009 в 15:14 | #42

    Александр, 1. Так и делаю, но боюсь, что кто-то "вставит" новое название, все поля обновятся и придется !заново! все менять (автоматизация умерла на корню). Надеялся, что есть другое решение.

    2. При "\s 1" продолжается нумерация формул от последнего заголовка стиля "заголовок 1" (т.е. одного из основных разделов документа, а не конкретного приложения=другой стиль). Помогает замена в !первом! названии \s 1 на \r 1. Но если первое станет не первым? (автоматизация умирает на корню)

    Мечта: два равных по своему "весу" "Заголовка 1" с разным форматированием.

  43. Андрей
    28.09.2009 в 14:11 | #43

    М.б. у кого-то есть решение? Пометка о "не изменении поля при обновлении" тоже не помогает.

  44. Алексей
    30.12.2009 в 13:49 | #44

    Добавлю к комментарию Владимира (коммент №13) - может, кому поможет: можно создать новый документ в 2003 Word, перенести туда все содержимое, и тогда выделение "Рисунок" уже работает нормально.

  45. Наталья
    27.01.2010 в 16:09 | #45

    У меня при создании перекрестной ссылки Заголовок, на который требуется создать ссылку, отсутствует в перечне диалогового окна "Перекрестные ссылки".

    Т.е. у меня есть три талицы, для них созданы названия (формат и стиль абсолюно одинаковый). Мне нужно сделать три перекрестные ссылки на названия этих таблиц, но в списке я вижу только ОДНО из трех названий таблиц (((

    Причем, с рисунками и абзацами такого глюка нет...

    Может знаете, в чем может быть подвох?

  46. 27.01.2010 в 16:15 | #46

    Надо видеть ваш документ, чтобы понять, в чем там дело. Выложите ваш документ (если можете, конечно) на хостинг какой-нибудь для скачки и дайте ссылку.

  47. Наталья
    27.01.2010 в 16:44 | #47

    А без просмотра никаких вариантов? (обнародовать ну крайне нежелательно)

  48. 27.01.2010 в 16:55 | #48

    Вполне вероятно, что для остальных двух таблиц у вас не сделаны названия. У вас названия для таблиц вставляются автоматически при вставке таблицы? Проверьте.

  49. Наталья
    28.01.2010 в 08:20 | #49

    Названия таблиц вставляются по команде "Вставить название", нумерация правильная.

  50. Наталья
    28.01.2010 в 08:35 | #50

    самое интересное, что все было нормально, а потом я в очередной раз обновила все поля и с таблицами вылезла эта хрень

    (прям закон подлости - 4 дня все было нормально, на 5-й день - документ решил свести меня с ума)

    Я уже удаляла и создавала названия заново - названия создаются, а в оглавлении и перекрестных сслылках - только одно значение ((((

  51. Наталья
    28.01.2010 в 09:22 | #51

    В общем, разумного объяснения этого глюка я не нашла.

    Просто тупо скопировала весь текст и вставила в новый документ - и там все заработало ))))

    Microsoft... мать его....

  52. 28.01.2010 в 11:27 | #52

    Как вы вставляете перекрестные ссылки? Надо так: Вставка - Ссылка - Перекрестная ссылка - Тип ссылки: Таблица - выбираете нужное название. При корректной вставке автоназвания для таблиц, в этом поле должны быть все ваши названия таблиц.

  53. 28.01.2010 в 14:03 | #53

    А можно сделать такой же макрос, который обсуждался тут в середине темы, но со вставкой формулы Word 2007 (не знаю, может они как-то называются), а на Microsoft Equation?

    Полагаю нужно заменить буквально несколько строчек в макросе, но сам ничего не знаю о них, к сожалению.

  54. 28.01.2010 в 14:05 | #54

    Прошу прощения, читать следует:

    "...но со вставкой формулы Word 2007 (не знаю, может они как-то называются), а не Microsoft Equation?"

  55. Nadin
    15.03.2010 в 12:43 | #55

    ПОМОГИТЕ!!! как можно нумеровать по тексту приложения автоматически?

    Например пишу Приложение №1. а в следующем разделе при написании Приложение № хотелось бы что бы номер появился самостоятельно.

  56. 15.03.2010 в 15:57 | #56

    Nadin, прочитайте эту заметку

    Вам нужно создать соответствующий стиль заголовка.

    Чтобы слово "Приложение" тоже писалось автоматически, его нужно указать в формате номера.

  57. Дмитрий01
    12.05.2010 в 22:35 | #57

    Спасибо большое Павлу, при вставке ссылки на рисунок или таблицу вставляю постоянную часть и номер, затем просто постоянную часть (таблица, рисунок и т.д.) просто делаю невидимым, другого способа пока не нашел (((

  58. Konstantin
    13.05.2010 в 14:28 | #58

    Просветите пожалуйста как создавать ссылки на заголовки документа. Чтоб бы ло примерно так:

    1. Глава 1

    текст главы 1

    2. Глава 2

    ...текст главы 2 (см. главу 1).

    Спасибо.

  59. 13.05.2010 в 20:19 | #59

    Это называется "перекрестные ссылки".

    Почитайте, например, эту заметку: Как вставить название главы в колонтитул.

  60. 13.05.2010 в 20:32 | #60

    Дмитрий01 - Следите за форумом. В ближайшие дни будет выложен макрос, который автоматически нумерует объекты (таблицы, рисунки, формулы) и сразу ставит закладки на номера объектов. В тексте остается только написать слово "таблице, таблица, таблицей" и вставить перекрестную ссылку на номер объекта.

    Ну а без макроса это делается так - выделяете в подписи к рисунку только поле(поля) номера, и создаете закладку с понятным вам именем.. Потом в тексте на эту закладку делаете перекрестную ссылку.

  61. Дмитрий01
    13.05.2010 в 21:43 | #61

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

  62. 13.05.2010 в 21:51 | #62

    Проще или нет, это еще вопрос. Но вы забываете о самом главном преимуществе закладок и других средств - автоматизация. Вот изменилась у вас нумерация таблиц и что теперь вы будете делать? Вручную отслеживать и изменять ссылки на номера таблиц?

  63. 14.05.2010 в 04:49 | #63

    Дмитрий, поверьте - очень экономится время. Вставив закладку на автоматически полученный номер и сделав ссылку по тексту на нее, про них вообще забываешь. Можно удалять объекты с нумерацией или добавлять. Потом достаточно просто обновить поля. А за 15 лет сделано уже не одна тысяча документов, так что есть из чего сделать вывод!

  64. Иван
    02.07.2010 в 07:32 | #64

    Скопировал код Максимова Сергея из сообщения от 20.01.2008 в 12:19 и вставил в свой макрос. Выдает ошибку на строке:

    Selection.TypeText Text:=vbTab & "("

    Ему не нравится ";", выдает ошибку: Expected: end of statment

    Что не так?

  65. 02.07.2010 в 08:00 | #65

    Это наша вина, знак "&" заменился на & amp;. В оообщениях исправил, исправьте и Вы у себя

  66. Иван
    02.07.2010 в 09:34 | #66

    Да ладно вам, "вина". Вас никто не винит. А макрос явно требует доработки. Попробовал вставить его в свое РЭ, работает коряво. Если располагать две формулы друг под другом, какую-то абра-кадабру выдает, то же самое, если формулу ставить перед каким-нибудь заголовком. В нумерацию включает только номер заголовка 1-го уровня, а если таких вообще в тексте нет или они не нумеруются, как сделано в моем РЭ? Пробовал делать заголовки 1-го уровня, он почему-то нумерует формулы с нулем (0.1). В общем, нужно писать свой, как ни крути.

  67. 02.07.2010 в 16:19 | #67

    Иван, а на форуме в разделе готовые решения можете посмотреть? Уже готовый макрос.. Можете попробовать:

    http://wordexpert.ru/forum/viewtopic.php?id=281

    Буду только рад вопросам и замечаниям!!

  68. 18.08.2010 в 09:40 | #68

    И даже в Word 2010 разработчики не смогли или не захотели сделать одну простую вещь, которая бы облегчила жизнь многим - вставка ссылки только на номер.

    Почему на номер заголовка можно сослаться, а просто на номер рисунка или таблицы нельзя? Не понимаю я этого.

  69. Роман
    23.08.2010 в 13:48 | #69

    Макрос Сергея от 20.01.2008 в 12:19 мне так помог и вдохновил, что я решил переработать его и адаптировать для вставки названий рисунков (делал в MS Word 2007).

    Все просто:

    1) Вставляете рисунок на пустой строке (ничего выравнивать не нужно);

    2) Запускаете макрос (можно с помощью процедуры записи макроса назначить ему комбинацию, например, Alt+P);

    3) Дописываете название рисунка.

    Готово.

    Чтобы вставить ссылку на рисунок:

    1) Нажимаете кнопку "Перекрестная ссылка"

    2) Выбираете тип ссылки "Рис."

    3) В списке "Вставить ссылку на:" выбираете "Постоянная часть и номер"

    4) Нажимаете кнопку "Вставить"

    Готово.

    При желании можно легко переработать и подогнать под себя.

    Sub Picture_insert()
    '
    ' Picture_insert Макрос
    '
    With Selection.ParagraphFormat
    .SpaceBeforeAuto = False
    .SpaceAfterAuto = False
    .FirstLineIndent = CentimetersToPoints(0)
    .Alignment = wdAlignParagraphCenter
    End With
    Selection.EndKey
    Selection.InsertParagraphAfter
    Selection.MoveRight
    Selection.TypeText Text:="Рис." & Space(1)
    Selection.InsertStyleSeparator
    Selection.TypeBackspace
    Selection.InsertCaption Label:="Рис.", TitleAutoText:="InsertCaption1", _
    Title:="", Position:=wdCaptionPositionBelow, ExcludeLabel:=1
    Selection.TypeText Text:="." & Space(1)
    Selection.InsertParagraphAfter
    Selection.MoveLeft
    End Sub

  70. Роман
    23.08.2010 в 13:50 | #70

    Смысл макроса именно в том, что вставляется ссылка только на номер рисунка.

  71. Роман
    24.08.2010 в 09:44 | #71

    Обнаружил ошибку в своем коде от 23.08.2010 в 13:48, почему-то после добавления новых рисунков и ссылок нумерация предыдущих иногда сбивается. Видимо, это связано с полями Label и Title, нужно разобраться.

    Если у кого есть идеи, прошу поделиться. А то такая удобная штука пропадает.

  72. Роман
    24.08.2010 в 11:04 | #72

    Перепроверил - все работает, просто обновлять ссылки иногда приходится 2 раза подряд, чтобы предыдущие все тоже сменились.

  73. Аноним
    17.06.2011 в 10:09 | #73

    У меня вопрос к Павлу. что за комбинация?

    Вставляется, естественно, "Рисунок 1". Потом я выделяю часть вставленого текста "Рисунок " и нажимаю комбинацию , тем самым делая ее скрытой

  74. Анатолий Мелентьев
    16.03.2012 в 15:53 | #74

    Замечания к методу "Ирины"

    1. Формулы лучше вставлять с помощью MathType 6.5, у них и работа со ссылками удобней, и формулы вставляются сразу в центр с номером справа автоматически.

    2. Рис. и Таблица можно поставить в скрытый текст, тогда не надо будет "переносить номер на другую строку, ставить ссылку, переносить обратно". Перед печатью достаточно снять скрытый текст со всего документа.

  75. Александр Б.
    23.02.2013 в 13:54 | #75

    Замечания к #74

    1) MathType можно использовать в домашних условиях, а на работе - нежелательно, поскольку он есть не у всех. При совместной работе или представлении презентаций на других компьютерах возможны проблемы: невозможность редактирования, абракадабра вместо символов...

    2) Этот способ лень тестировать, но не поплывет ли нумерация страниц в автоматическом оглавлении? Когда вы раскроете часть ранее скрытого текста, то он теоретически может занять больше страниц. Так что надо не забыть отдельно обновить оглавление, на всякий случай. А если у вас в документе перечни рисунков и таблиц? Их тоже надо обновлять отдельно...

  76. Александр Б.
    04.03.2013 в 22:03 | #76

    Замечание к #74

    2) Проверил способ. Даже при полной автоматизации результат меня не устроил, поскольку при таком способе нельзя менять принцип нумерации со сквозной на в пределах раздела (это сломает все ссылки). Наоборот можно, но все равно неприятно работать когда не все контролируешь... Рекомендую скрытие постоянной части перекрестных ссылок - это проверенный надежный метод, полное спокойствие и контроль.

  77. Maxim R.
    20.05.2013 в 19:01 | #77

    Уважаемые, вопрос по автовставке такой:

    Есть большой документ (руководство пользователя с картинками), авто оглавление, автонумерация для рисунков и таблиц ... все есть и работает, причем сделан документ в Word XP/2003.

    Потом пытаюсь вставлять рисунки в этот же документ под 2007/2010 вордом ... никаких тебе автоподписей((.

    Иду в Ссылки->Вставить название ... там есть сам шаблон вставки (у меня это - Рис.Х ), но когда открывают подменю Автоназвание, там есть только Bitmap Image, а того самого нужного "Рисунок Microsoft Word" нету. Соответственно, ничего не вставляется автоматом.

    Тут похожую ситуацию описывала Наталья (комент 09.06.2008 в 14:04 | #28). Облазил уже все менюшки ворда ... как быть? кто победил этот баг, поделитесь плз рецептом!

  78. Izekbis
    19.12.2013 в 17:14 | #78

    Как отключить принудительную нумерацию?

Оставьте комментарий!

(обязательно)

^ Наверх