Управление форматированием полей seq внутри уравнений word

Так у меня есть несколько приложений, которые выглядят примерно так:

Приложение A: Уравнения

Приложение B: Примеры Расчетов


п.

буква управляется как таковая:

Appendix [{seq AppL *ALPHABETIC}]: Example

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

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

y = mx + b #({REF AppEq *MERGEFORMAT}.{seq AppEq})

проблема в том, что всякий раз, когда я обновляю все (ctrl+a, f9), Буквы в нумерации уравнений возвращаются к полужирному шрифту. Переключатель *MERGEFORMAT должен предотвратить это, но он, похоже, не работает внутри уравнений (он работает в моих заголовках, и я тестировал его для работы в теле).

есть ли способ исправить это, какой-то альтернативный способ приблизиться к нему или, по крайней мере, какой-то способ уменьшить раздражение, которое это вызывает?

17
задан Aze
11.01.2023 23:25 Количество просмотров материала 2510
Распечатать страницу

2 ответа

Я не смог найти решение проблемы-я считаю, что это ошибка со словом. Однако я нашел приемлемый обходной путь, используя макрос для обновления полей, а не вручную. Этот макрос будет показывать коды полей, разворачивать любые, которые начинаются с "^D seq AppL", обновлять все поля в документе, а затем повторно складывать правильные поля и скрывать коды полей. Я не могу утверждать, что он надежен или эффективен , но, возможно, это поможет кому-то в будущем:

Sub UpdateRefs()
'Setup / checks
If Documents.Count = 0 Then Exit Sub
Application.ScreenUpdating = False

'Show field codes
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True

'Unbold Appendix labels so they don't propagate.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "^d seq AppL"
    .Replacement.Text = ""
    .Replacement.Font.Bold = False
    .Forward = True
    .Wrap = wdFindContinue
    .MatchWholeWord = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

'Update all fields in document.
Dim oStory As Object
Dim oToc As Object
For Each oStory In ActiveDocument.StoryRanges
    oStory.Fields.Update
Next oStory
For Each oToc In ActiveDocument.TablesOfContents
    oToc.Update
Next oToc

'Rebold for looks.
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "^d seq AppL"
    .Replacement.Text = ""
    .Replacement.Font.Bold = True
    .Forward = True
    .Wrap = wdFindContinue
    .MatchWholeWord = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

'Hide field codes.
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

Application.ScreenUpdating = True
End Sub
1
отвечен Aze 2023-01-13 07:13

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

затем вы можете использовать:

  • A LISTNUM поле (которое будет автоматически последовательно номер в приложении);
  • сочетание поля STYLEREF (для номера приложения - автоматически подбирается на основе того, какое приложение вы находитесь в) и существующее поле SEQ (для номера уравнения); или
  • перекрестная ссылка (для номера приложения) и существующее поле SEQ (для номера уравнения).

Примечание. Если вы используете поля STYLEREF или перекрестной ссылки, вы хотите добавить переключатель "\t", чтобы он показывал только букву приложения (т. е." A", а не" приложение A "- так как при настройке нумерации контуров вы наберете приложение в текстовом поле" Введите форматирование для номера " перед добавлением поля).

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

enter image description here

1
отвечен Tanya 2023-01-13 09:30

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх