Skip to main content

How to Automatically Change Citation Color in Word (e.g., Blue) Using Zotero + Macro

 


Hi everyone ๐Ÿ‘‹

I’ll be honest upfront: I’m not a huge fan of Microsoft Word — I usually work in LaTeX, where formatting and citations behave exactly the way I want without any hacks ๐Ÿ˜„
That said, we all occasionally find ourselves back in Word, whether for collaborations, journal templates, or institutional requirements.

And when that happens, a few quirky tricks can go a long way.

If you’re using Zotero with Microsoft Word and want to improve the visual style of your document, this small trick can be surprisingly useful.

In many scientific papers and technical documents, in-text citations appear in blue, similar to hyperlinks. Unfortunately, Zotero does not provide a built-in option to automatically change citation colors in Word.

The good news?


You can achieve this easily using a simple Word VBA macro no need to abandon Zotero or manually format citations one by one. i originally found this in zotero forms this > Post <

Below is a simple, safe method to automatically turn all Zotero in-text citations blue—while keeping them fully editable.


Why use this approach?

  • ✅ Keeps Zotero citations active (not unlinked)

  • ✅ Works on the entire document at once

  • ✅ Fully customizable color (RGB)

  • ✅ No external plugins required


Step-by-step: Make Zotero citations appear in blue

1. Open the VBA Editor in Word

In Microsoft Word, press:

Alt + F11

This opens the Visual Basic for Applications (VBA) editor.


2. Insert a new module

In the VBA editor menu:

Insert > Module

A new blank module window will appear.


3. Paste the macro code 

Copy and paste the following code into the module:

Sub HighlightZoteroReferences() Dim f As Field Dim blueColor As Long ' Define citation color blueColor = RGB(0, 102, 204) For Each f In ActiveDocument.Fields ' Identify Zotero citation fields If f.Type = wdFieldAddin Then If InStr(1, f.Code.Text, "ZOTERO_ITEM", vbTextCompare) <> 0 Then f.Result.Font.Color = blueColor End If End If Next f MsgBox "Zotero citations have been updated successfully.", vbInformation
End Sub

This macro scans all Word fields and detects Zotero citations using the ADDIN ZOTERO_ITEM identifier.

4. Close the VBA editor

Press:

Alt + Q

You’ll return to Word.


5. Run the macro

In Word, go to:

View > Macros > View Macros
  • Select ColorZoteroCitationsBlue

  • Click Run

๐ŸŽ‰ All Zotero in-text citations in your document will instantly turn blue.


Optional: Add the macro to the Word ribbon

For frequent use, you can assign this macro to:

  • A custom ribbon button, or

  • The Quick Access Toolbar

This allows you to recolor citations with one click after refreshing Zotero fields.


Notes & Tips

  • ๐ŸŽจ Customize the color
    You can change the RGB values to any color you like.
    Example:

    RGB(102, 178, 255) ' Light blue
  • ๐Ÿ“š Bibliography is not affected
    This macro only changes in-text citations, not the reference list.

  • ๐Ÿ”„ Re-run after Zotero refresh
    When you click Refresh in Zotero, Word may reset formatting.
    Simply run the macro again.

  • ⚠️ Do NOT unlink citations
    Keep Zotero fields active until you are completely done editing.


Final thoughts

This small macro can significantly improve the readability and professional appearance of your documents, especially for theses, journal papers, and technical reports.

If you work regularly with Zotero and Word, it’s a great addition to your workflow.

Hope this helps others looking to polish their documents ๐Ÿš€

Comments

Popular posts from this blog

What is the ESP32 VSPI / HSPI

 The ESP32 integrates four SPI peripherals. SPI0 and SPI1 are used to access the ESP32’s attached flash memory and thus are currently not open to users to be used . They share one signal bus via an arbiter. SPI2 and SPI3 are general purpose SPI controllers, sometimes referred to as HSPI and VSPI, respectively. They are open for use. SPI2 and SPI3 have independent signal buses with the same respective names. Each bus has three CS lines to drive up to three SPI slaves.  

How to program 8051 based MCU using Ptroteous Schematic capture and Source code editor to use timers using AT892051 + project files

 This tutorial is dedicated to use a 8051 based Microcontroller core and program it using keil's C51 tools on the Proteus Source code editor.  1- Brief History of 8051 one of the first microprocessors 4004 was invented by Intel Corporation as well as  8085 and 8086 microprocessors back in 1981,shortly after Intel introduced an 8-bit microcontroller called the 8051 . It was referred to as system on a chip because it had 128 bytes of RAM, 4K byte of on-chip ROM, two timers, one serial port, and 4 ports (8-bit wide), all on a single chip. When it became so widespread, Intel allowed other manufacturers to make and market different flavors of 8051 with its code compatible with 8051. It means that if you write your program for one flavor of 8051, it will run on other flavors too, regardless of the manufacturer. This has led to several versions with different speeds and amounts of on-chip RAM. 2- Features of AT892051 Microcontroller Compatible with MCS®-51Products 2K ...

Most common baud rates table

  The following table shows the most used baud rates. The left side part of the table shows speed and bit duration. The right part shows real transmission speed assuming there is no parity, 8 data bits and one stop bit.   Bauds Bits/s Bit duration Speed Actual speed Actual byte duration 50 bauds 50 bits/s 20.000 ms 6.25 bytes/s 5 bytes/s 200.000 ms 75 bauds 75 bits/s 13.333 ms 9.375 bytes/s 7.5 bytes/s 133.333 ms 110 bauds 110 bits/s 9.091 ms 13.75 bytes/s 11 bytes/s 90.909 ms 134 bauds 134 bits/s 7.463 ms 16.75 bytes/s 13.4 bytes/s 74.627 ms 150 bauds 150 bits/s 6.667 ms 18.75 bytes/s 15 bytes/s 66.667 ms 200 bauds 200 bits/s 5.000 ms 25 bytes/s 20 bytes/s 50.000 ms 300 bauds 300 bits/s 3.333 ms 37.5 bytes/s 30 bytes/s 33.333 ms 600 bauds 600 bits/s 1.667 ms 75 bytes/s 60 bytes/s 16.667 ms 1200 bauds 1200 bits/s 833.333 ยตs 150 bytes/s 120 bytes/s 8.333 ms 1800 bauds 1800 bits/s 555.556 ยตs 225...