#1
|
|||
|
|||
Figures and equations numbering
Hi all, I am writing my dissertation and i have an issue with numbering on figures and equations. I want them to include the chapter number which means that for sub-chapter 1.2.1 figure 2 will be shown as Figure 1.2.1-2 and so as the equation which was created using the Seq Eq method. However under References when i select insert caption under numbering on the point where Chapter Starts with Style, if i select Heading 1 the result will be Figure 1-5 and when i select another level, like Heading 4 the result will be again invalid such as 1.2.1.1-1. Is there anyway i can troubleshoot and fix this situation? Thank you |
#2
|
||||
|
||||
It seems to me that you want Word to include the "current" heading number with a caption? In other words, if a Figure follows a Heading 2 whose numbering is "1.2" you want the caption to be "Figure 1.2-1" and if the figure follows a Heading 1 whose number is 4 you expect the number to be "Figure 4-1"? Unfortunately, Word isn't that clever...
You have to pick a specific level to include with the chosen caption label.
__________________
Stefan Blom Microsoft Word MVP Microsoft 365 apps for business Windows 11 Professional |
#3
|
|||
|
|||
Quote:
|
#4
|
|||
|
|||
For captions, each label is linked to a single heading style, and the chapter numbering for the caption is obtained from the linked heading style.
If you want your captions to follow a legal heading numbering system then you will have to create a set of caption labels that link a set of caption labels to the relevant heading styles. E.g.heading Figure links to Heading 1 Figure2 links to Heading 2 Figure3 Links to Heading 3 Figure4 links to Heading 4 and likewise for equations equation links to Heading 1 equation2 links to Heading 2 equation3 links to Heading 3 equation4 links to Heading 4 You then need to apply the caption label that reflects the preceding heading style. Alternatively write a couple of macros that look backwards from the caption insertion point and inserts the relevant equation or figure caption based on the first heading style that is found. 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. You create new labels using References.Insert Caption.New Label You link to the appropriate heading level by selecting (from the 'Insert Caption' dialog box) Numbering Tick the include numbering box Use the pull down menu to select the heading style that will provide the chapter numbering for your figure/equation caption label. |
#5
|
|||
|
|||
Quote:
Anyway thanks again. |
#6
|
|||
|
|||
Quote:
Quote:
|
#7
|
|||
|
|||
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 And of course, please test the macro on a COPY of your dissertation. |
#8
|
||||
|
||||
Quote:
As I wrote, you can't do that via the Caption dialog box. The heading level you choose applies to the whole document (for the selected caption). Any attempt to do what you are asking would require some sort of workaround.
__________________
Stefan Blom Microsoft Word MVP Microsoft 365 apps for business Windows 11 Professional |
|
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 |
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 |
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 |