Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 07-30-2018, 10:55 AM
slaycock slaycock is offline Figures and equations numbering Windows 7 64bit Figures and equations numbering Office 2016
Expert
 
Join Date: Sep 2013
Posts: 255
slaycock is on a distinguished road
Default



Quote:
It seems a lot of "manual" work for something that looks simple if you consider that i now have to go through 200 pages of dissertation to fix all figures and equations.
You can do it the hard way or follow my advice.

Quote:
You'll probably also want a macro that can scan through existing text and revise captions based on the preceding heading, just in case after editing the heading level has changed.
Reply With Quote
  #2  
Old 07-30-2018, 01:51 PM
slaycock slaycock is offline Figures and equations numbering Windows 7 64bit Figures and equations numbering Office 2016
Expert
 
Join Date: Sep 2013
Posts: 255
slaycock is on a distinguished road
Default

As usual word can deliver most of what we want but not all.

The advice I provided above works BUT is not satisfactory as it is not possible to separate the label text from what appears in the caption.

E.g. if you define a caption with Label 'Figure2' then what appears in the caption is 'Figure2' so you will get

Figure2 1: Caption text blah blah blah

So as I appear to have misled you please find below a macro that will go through your dissertationand insert the correct styleref in any Table/Figure/Equation caption. Word then correctly reproduces the additional numbering in cross references and TOC.

Code:
Sub update_captions()

Dim my_field                                    As Word.Field

    
    For Each my_field In ActiveDocument.Fields
        If my_field.Type = wdFieldSequence Then
            insert_previous_heading_number my_field
        End If
    Next
    
End Sub

Sub insert_previous_heading_number(this_field As Word.Field)

Const styleref_text                             As String = "Styleref ""XX""  \r "
Dim styleref_range                              As Word.range

    Set styleref_range = this_field.result
    
    With this_field.Code
        If InStr(.Text, "Table") = 0 And InStr(.Text, "Figure") = 0 And InStr(.Text, "Equation") = 0 Then
            Exit Sub ' DO nothing
            
        End If
        
    End With
    
    If this_field.result.Previous(unit:=wdCharacter).Text = "-" Then
        styleref_range.MoveStart Count:=-2
        styleref_range.Fields(1).Delete
        styleref_range.Collapse Direction:=wdCollapseStart
    Else
        styleref_range.Move Count:=-1
        styleref_range.InsertBefore Text:="-"
        styleref_range.Collapse Direction:=wdCollapseStart
    End If
    
    styleref_range.Fields.Add _
            range:=styleref_range, _
            Type:=wdFieldEmpty, _
            Text:=replace(styleref_text, "XX", CStr(get_previous_heading_level(this_field.result))), _
            PreserveFormatting:=False

End Sub

Function get_previous_heading_level(ByVal this_range As Word.range) As Long

    Do While this_range.ParagraphFormat.OutlineLevel = wdOutlineLevelBodyText
        Set this_range = this_range.Previous(unit:=wdParagraph)
    Loop
    
    get_previous_heading_level = this_range.ParagraphFormat.OutlineLevel
End Function
After running the macro please be sure to select the whole document and update all to make sure that all cross references and TOC's are updated correctly.

And of course, please test the macro on a COPY of your dissertation.
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
List of figures with several labels (caption) - Table of Figures sorting ibra_ca Word 2 10-11-2017 07:02 AM
Figures and equations numbering Automated numbering for Figures in Word 2010? JJH Word 4 04-14-2016 08:39 AM
Automatic table of figures includes one of the figures, not just the caption - help! sarahlt Word 1 09-28-2014 09:34 AM
Figures and equations numbering Problem with captions for equations and figures in my Ph.D thesis. NoBolts Word 1 12-08-2012 09:58 PM
Numbering equations Yonnif Word 1 12-01-2010 03:37 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 05:19 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft