![]() |
|
#1
|
|||
|
|||
|
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 |