Я пишу макрос для преобразования документа Word в LaTeX.

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

Давайте рассмотрим пример стиля "Иностранное слово". Чтобы преобразовать его в LaTeX, мне нужно создать поиск, который как можно более жадно ищет все символы, к которым применен стиль "Иностранное слово", возьмите эту строку и оберните ее в \emph {\1} (\1 указывает положение совпадающей строки).

Используя очень скромное объяснение Microsoft о его синтаксисе с подстановочными знаками, я ожидаю, что поиск по термину «*» (без кавычек) и применяемому стилю "иностранного слова" должен это делать, но это не так. Это не достаточно жадный, только поиск отдельных персонажей. Я могу сделать поиск с подстановочными знаками более жадным, включив в поиск разделители --- "[] * []" действительно находит целые слова ---, но в текущем случае это не получится, потому что, например, при использовании термина "" ad-hoc "может предшествовать и сопровождаться пробелом, к самому пространству не будет применен стиль" Иностранное слово ", и, таким образом, он будет исключен из поиска (не говоря уже о том, что существует множество потенциальных границ строк: иностранной фразе перед словом может предшествовать двоеточие, точка с запятой, пробел, один из шести символов потенциальной кавычки, знак абзаца или ...).

По сути, я ищу подстановочное поисковое выражение для Word, которое соответствует самой длинной непрерывной строке, к которой применен определенный стиль.

Отредактировано barlop, чтобы добавить разъяснения ОП.

`В качестве примера, приведенного ниже текста, который я поместил в кавычки.

«Помимо seigneuries, были также присуждены более высокие дворянские владычества, хотя в настоящее время единственным оставшимся титулом дворянства в Квебеке, который можно проследить до церковной системы, является титул« Барон де Лонгёй »в семье Le Moyne»

Глядя на этот текст, приведенный выше. Все слова, выделенные курсивом, имеют к ним стиль "Иностранное слово". В случае "Барон де Лонгвейл" это включает пробелы между "Барон", "де" и "Longueil". Я ищу поиск, который бы улавливал каждое из этих трех выделенных курсивом слов в одну строку соответственно.

Результат должен быть следующим: «Помимо \emph {seigneuries}, были также присуждены более высокие дворянские владения, хотя в настоящее время единственным оставшимся дворянским титулом в Квебеке, который можно отследить до системы \emph {seigneurial}, является титул« \emph {Baron de Longueuil} ', в семье Ле Мойн`

1 ответ1

3

Вот принцип. Это заменяет любой текст курсивом с некоторой разметкой вокруг обычного текста.

^& означает заменить на оригинал.

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

Обратите внимание, что поле поиска на самом деле пустое, но под ним написано форматирование / стиль, которое оно ищет, (курсив)

Обратите внимание, что замена указывает, что заменить, и ниже, определяет форматирование / стиль (обычный в этом случае)

Что касается выбора шрифта / стилей, вот как я это сделал, включая скриншоты.

В левом нижнем углу экрана поиска / замены выберите формат. Шрифт

И выберите курсив. Я игнорирую все эти флажки, как вещи под «эффектами». Это выбор в этой области текстового поля (курсив, обычный, ...), который я обведен черным, которые используются для выбора обычного или курсива и т.д., Которые работали.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .