Expressão de procura de caractere curinga que corresponde à string mais longa possível, aplicando um determinado estilo de caractere a ela

0

Estou escrevendo uma macro para converter um documento do Word em LaTeX.

Tudo vai bem, exceto uma coisa: o documento faz uso pesado de modelos de estilo, na verdade, usando estilos de caractere para obter uma marcação funcional. Por exemplo, todos os nomes de autores que aparecem no texto usam o estilo de caractere "Nome do autor". Todas as palavras não inglesas ou (e isto onde se torna complicado) frases têm o estilo "Foreign word" aplicado a elas.

Vamos considerar o exemplo do estilo "Foreign word". Para convertê-lo em LaTeX, o que eu preciso fazer é criar uma pesquisa que busque o máximo possível para todos os caracteres que tenham o estilo "Foreign word" aplicado a eles, pegar essa string e envolvê-la em \ emph {\ 1} (\ 1 indicando a posição da string correspondente).

Usando o explicação muito modesta da sua sintaxe curinga, eu esperaria que uma busca pelo termo" * "(sem as aspas) e um estilo aplicado de" Foreign word "deveria fazê-lo, mas isso não. Não é suficientemente ganancioso, apenas encontrando personagens individuais. Eu posso tornar as buscas curinga mais gananciosas incluindo delimitadores na pesquisa --- "[] * []" encontra palavras inteiras ---, mas isso falharia na instância atual, porque, por exemplo, enquanto um termo como " ad-hoc "pode ser precedido e seguido por espaço, o espaço em si não terá o estilo" Foreign word "aplicado a ele e, portanto, será excluído da pesquisa (esqueça o fato de que há uma infinidade de possíveis bordas de string: palavra-frase estrangeira pode ser precedida e seguida por dois-pontos, ponto e vírgula, espaço, um entre seis caracteres de aspas em potencial, marca de parágrafo ou ...).

Essencialmente, estou procurando uma expressão de pesquisa de caractere curinga para o Word que corresponda à maior cadeia de caracteres ininterrupta possível que tenha um determinado estilo aplicado a ela.

Editado por barlop para adicionar o esclarecimento do OP.

'Como exemplo, dado este texto abaixo, que eu coloquei entre aspas.

"Além de seigneuries , havia também feudos nobres mais altos a serem concedidos, embora hoje em dia o único título remanescente de nobreza em Quebec que pode ser rastreado até o seigneurial sistema é o título de ' Barão de Longueuil ', da família Le Moyne "

Olhando para o texto citado acima. Todas as palavras em itálico têm o estilo "Foreign word" aplicado a elas. No caso do "Barão de Longueil", isso inclui os espaços entre "Barão", "de" e "Longueil". Estou à procura de uma pesquisa que capture cada um desses três termos em itálico como uma string, respectivamente.

O resultado deve ser "Além de \ emph {seigneuries}, há também feudos nobres mais altos a serem concedidos, embora atualmente o único título remanescente de nobreza em Québec que pode ser rastreado até o sistema \ emph {seigneurial} seja o título de '\ emph {Barão de Longueuil}', da família Le Moyne '

    
por jjbornheim 02.01.2014 / 14:55

1 resposta

3

Aqui está o princípio. Isso substitui qualquer texto em itálico por alguma marcação em torno do texto normal.

^& significa substituir pelo original.

e para especificar itálico ou regular, eu escolhi format..font .. depois, selecione italic ou regular no menu suspenso da caixa de diálogo de fontes que apareceu.

Observe que a caixa de busca está realmente em branco, mas abaixo dela está a formatação / estilo que está procurando, (itálico)

Observe que a substituição especifica o que substituir por e abaixo, especifica a formatação / estilo (regular neste caso)

Sobreaescolhadafonte/estilos,aquiestácomoeufizisso,comscreenshotsincluídos.

Naparteinferioresquerdadateladelocalização/substituição,escolhaformat..font

E escolha Itálico. Eu ignoro todas aquelas caixas de seleção como coisas sob 'efeitos'. São as seleções nessa área da caixa de texto (itálico, regular, ..), que eu circulei em preto que são as que você usa, para selecionar regular ou itálico, etc., que funcionou.

    
por 02.01.2014 / 15:54