MSWord: Форматирование гиперссылок-перекрестных ссылок

MSWord: Форматирование гиперссылок-перекрестных ссылок

Я пытаюсь изменить формат гиперссылки перекрестной ссылки на типичный синий подчеркнутый текст. Я попытался следовать инструкциям на этом сайте:http://wordfaqs.mvps.org/formatcrossreferences.htmкоторый рекомендует использовать переключатель \*Charformat.

Для внесения глобальных изменений сайт рекомендует использовать функцию «Найти и заменить» со следующими параметрами: Найти: REF * \\h
Заменить: ^&^c (где *Charformat был ранее скопирован в буфер обмена, а нужный формат выбран в раскрывающемся списке «Формат»)

Когда я следую этим инструкциям, поле Ref приобретает нужный мне подчеркнутый синий формат, но когда я нажимаю Alt+F9, чтобы скрыть коды полей, результатом по-прежнему остается обычная текстовая перекрестная ссылка.

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

решение1

Если все ваши поля REF были вставлены стандартным способом, т. е. с пробелом между { и "REF", то повторите процесс еще раз, но в поле FInd: поставьте пробел перед REF, т. е. используйте

" REF * \\h"

(но без двойных кавычек)

Это должно применить нужное вам форматирование (почти) ко всему тексту, начиная с первого пробела.

Эта проблема является результатом странности, которая появилась в Windows Word 2007, я думаю. Если у вас включены только (скажем) английский и другие западноевропейские языки в Word, применения форматирования к "R" в "REF" должно быть достаточно. Однако если вы включаете некоторые другие языки, у вас должен быть пробел перед "REF", и вы должны отформатировать этот пробел так, как вам нужно (форматирование "R" игнорируется". ТАК ЧТО использования "REF" и обеспечения того, чтобы и пробел, и R были отформатированы как требуется, должно быть достаточно. Обычно проще всего выбрать все поле и применить форматирование.

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

Определение того, как должен работать \*Charformat, всегда было неоднозначным. Ранняя документация Word говорила о применении форматирования к первому символу в поле, но в то время Word не вставлял пробел перед кодовым именем поля по умолчанию. Поэтому первым символом была бы R. Даже стандартные документы .docx не проясняют это полностью (если только они не сделали это в версии 2012 года).

решение2

Я столкнулся с этой проблемой у нового работодателя.

Сохраните лишние пробелы в полях поиска/замены. Они нужны для правильной работы.

Найти то, что: ( REF )(_Ref[0-9]{1,9})( \h )

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

Заменить: \1 ^92*Формат символа \2\3

Примечание: перед REF есть лишний пробел, поэтому на самом деле это «REF».

^92 — это обязательная обратная косая черта, необходимая для работы *Charformat.

УстановитьСтильпринадлежащийНайти то, чтона цвет шрифта и подчеркивание из Формат>Шрифт. Не используйте определенный стиль.

См. изображение

Диалоговое окно «Найти и заменить» в MS Word с примерами настроек

Работает в MS Word 2013 и выше, а также, вероятно, в 2010.

Примечание: Если вы применили форматирование и оно не работает, убедитесь, что в поле нет *MERGEFORMAT. Это предотвращает появление форматирования.

Связанный контент