2015-11-13 6 views
1

Как получить интеллектуальную систему нумерации, как показано ниже? Всякий раз, когда у меня есть новая таблица, я хочу, чтобы нумерация поднялась. Если, с другой стороны, я добавляю строку в таблицу, я бы хотел добавить письмо за нумерацией. Возможно ли это?Число и нумерация букв таблиц в слове с перекрестными ссылками

Picture showing the idea behind the numbering

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

Я знаю, что нумерация без букв может быть получена

Number #{ STYLEREF 1\s}{SEQ Table \# "00"} 

Я также знаю, что алфавитный порядок может быть сделано с помощью алфавитной команды \.

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

ответ

0

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

Я собираюсь обрисовать очень комплексный подход ...

  1. На вкладке Главная: Пункт/Многоуровневый список/Определить новый стиль списка.
  2. Введите имя стиля, затем с помощью кнопки Формат выберите Нумерацию; нажмите «Дополнительно».
  3. С выбранным уровнем 1 выберите стиль, с которым вы хотите связать нумерацию (например, заголовок 1)
  4. В поле «Введите форматирование для числа» введите текст, который вы хотите видеть до или после каждого номер. (Согласно вашей картинке: Заголовок перед номером 1 с серым оттенком уже в коробке.)
  5. Выберите уровень 2, выберите стиль, с которым вы хотите связать нумерацию (например, заголовок 2)
  6. В поле «Введите форматирование для числа» введите перед номером (2, серое затенение): Номер № 00
  7. Из раскрывающегося списка «Включить номер уровня из» выберите уровень 1. Будет добавлено число с уровня 1 между последними 0 и серо-серым цветом.
  8. При необходимости измените настройки выравнивания (вы, вероятно, не хотите, чтобы отступ внутри ячейки таблицы?)

Теперь, когда вы применяете стили заголовка, нумерация будет применяться автоматически. Если вам не нравится форматирование стилей заголовка, вы можете изменить определение (ы) стиля. Поскольку вы создали стиль нумерации, вы также можете изменить эти параметры, перейдя в диалоговое окно многоуровневой нумерации, щелкнув правой кнопкой мыши нужный формат нумерации и выбрав «Изменить».

+0

Благодарим за ответ. Я только что добавил еще одну иллюстрацию к этой теме, так как первая вы полностью продемонстрировали идею. 1. Сначала он должен начинаться с номера главы 2. Нумерация должна быть формата 01, 02 и т. Д. 3. Если таблица содержит больше, чем несколько строк, это будет потому, что несколько строк являются частью такой же состояние. В этом случае мне понадобится поднабор в форме a, b, c и т. Д. Исправьте меня, если я ошибаюсь, но я не вижу, чтобы эта способность автоматически создавалась в нумерации Word. –

+0

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

+0

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

0

Я считаю, что следующий подход кода поля даст вам нумерацию, указанную в образце образца (где нумерация таблиц перезапускается для каждого пункта заголовка 1. Тем не менее, это, вероятно, будет работать только для «встроенных» таблиц, а не плавающих таблиц или таблиц в текстовых полях и т. д.

Основная цель здесь - обеспечить возможность вставки точно таких же кодов полей для каждого нового «Номер #», который вам нужен, но для этого вам также необходимо поместить некоторые коды в начале и конце каждой таблицы.Вам также необходимо будет выбрать и повторно выполнить все коды полей дважды, чтобы обеспечить их правильное обновление - это тот недостаток, который упоминается в ответе Синди Майстер.

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

{ SEQ tbl \s 1 \h }{ SEQ ltr \r0 \h } 

Это увеличивает номер таблицы, сбрасывая на каждом пункте Heading 1, и сбрасывает номер письмо на 0 .

Для каждого «номер #» вы хотите в таблице, используйте следующие поля:

Number #{ STYLEREF 1 \s }{ SEQ tbl \C#00 }{ SEQ ltr \h }{ IF { REF "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" } > 1 "{ SEQ ltr \c \*alphabetic }" "" } 

Это вставляет соответствующее количество заголовков и номер таблицы, а также увеличивает количество букв. Затем он просматривает закладку, содержащую количество записей «Number #» в этой таблице. Например, если заголовок 1 пронумерован 4, и это третья таблица под этим заголовком, закладка будет называться «chap1tbl4». Если значение закладки больше 1, будет добавлена ​​соответствующая буква.

Но мы должны создать эту закладку и значение, которое мы можем сделать только после полей «Number #» для этой таблицы. Поэтому в конце каждой таблицы или сразу после таблицы и перед любым новым пунктом заголовка 1 вам понадобятся следующие коды полей:

{SET "chap {STYLEREF 1 \ s} tbl {SEQ tbl \ c} "{SEQ ltr \ c}}

Дело в том, что Word оценивает коды полей в последовательности, которую они отображают в документе. Поэтому, когда Word впервые встречает поле {REF} в таблице, закладка не будет иметь значения. Поэтому при первом выборе всех полей и их выполнении вы можете увидеть неправильный ответ. После того, как вы это сделали, создается закладка. Word будет использовать значение, недавно назначенное для закладки, поэтому при следующем запуске полей «Число #» они должны работать исправно.

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

Может быть более простая формулировка на основе полей, но основная проблема заключается в том, что вы не можете проверить «окончательное значение» поля SEQ или SET, только значение, которое оно имеет в момент выполнения. Например, если существует A \ F флаг, который позволит вам проверить конечное значение поля SEQ, можно использовать

{ IF { SEQ "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" \f } > 1 .... } 

, чтобы проверить количество «Номер #» записей в каждой таблице, без необходимости иметь это неудобное поле SET SET.

+0

Спасибо! Кажется, это работает (почти). Использование {SEQ tbl \ c} дает мне правильную нумерацию, но при потере формата «00». Я знаю, что могу использовать {SEQ tbl \ # "00"} и получить нужный формат нумерации. Я также пробовал {SEQ tbl \ c "00"}, но это не работает. Как я могу это преодолеть? –

+0

И во-вторых. Как сделать перекрестную ссылку на весь заголовок? –

+0

Для вашего первого вопроса код поля, который я предоставил, уже использует {SEQ tbl \ # 00}. Здесь, похоже, работает ОК. Что там не работает? (Кстати, {SEQ tbl \ c} в имени закладки не требуется \ # 00, хотя вы можете включить его везде SEQ tbl \ c}, если хотите. Я бы не ожидал {SEQ tbl \ c "00 »}, чтобы помочь. –

Смежные вопросы