Controlando a formatação de campos seq dentro de equações de palavras

1

Então eu tenho vários apêndices parecidos com isto:
Apêndice A: Equações
Apêndice B: Exemplos de cálculos
etc.

A carta é controlada como tal:

Appendix [{seq AppL \*ALPHABETIC}]: Example

Onde os colchetes representam o marcador que faz referência a esse valor. Isso significa que posso colocar mais apêndices antes, depois, qualquer coisa e as letras serão atualizadas.

Cada apêndice também contém várias equações, que fazem referência à letra do apêndice, e o número da equação, assim:

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

O problema é que sempre que eu atualizo tudo (ctrl + A, f9), as letras na numeração da equação são revertidas para negrito. A opção * MERGEFORMAT deve evitar isso, mas não parece funcionar dentro de equações (funciona nos meus cabeçalhos e eu testei para trabalhar no corpo).

Existe alguma maneira de corrigir isso, alguma maneira alternativa de abordá-lo, ou pelo menos alguma maneira de reduzir o incômodo que isso causa?

    
por Aze 18.02.2018 / 02:46

2 respostas

1

Não consegui encontrar uma solução para o problema. Acredito que isso seja um bug no Word. No entanto, eu encontrei uma solução viável usando uma macro para atualizar os campos em vez de fazê-lo manualmente. Essa macro mostrará os códigos de campo, desdobrará qualquer um que comece com "^ d seq AppL", atualizará todos os campos no documento, depois redobra os campos corretos e oculta os códigos de campo. Eu não posso afirmar que é robusto ou eficiente - mas talvez ajude alguém abaixo da linha:

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
    
por 19.02.2018 / 01:23
1

Em vez de usar um campo SEQ que você, em seguida, manualmente bookmark, você poderia simplesmente criar estilos numerados da estrutura de tópicos para sua numeração principal do Apêndice.

Você pode então usar:

  • um campo LISTNUM (que será automaticamente numerado seqüencialmente no apêndice);
  • uma combinação do campo STYLEREF (para o número do apêndice - automaticamente selecionado com base no apêndice em que você está) e o campo SEQ existente (para o número da equação); ou
  • uma referência cruzada (para o número do apêndice) e o campo SEQ existente (para o número da equação).

Observe que, se você usar os campos STYLEREF ou de referência cruzada, adicione a opção "\ t" para que mostre apenas a letra do apêndice (ou seja, "A" e não "Apêndice A" - como ao definir a numeração do seu esboço você terá digitado o Apêndice na caixa de texto "Inserir formatação para número" antes de adicionar o campo).

Eu usaria um campo LISTNUM (em vez das combinações de campos). Para esta opção, a carta do apêndice será configurada para aparecer automaticamente usando a opção "Incluir número de nível de" Nível 1.

    
por 20.02.2018 / 02:03