diff --git a/Makefile b/Makefile
index 200360f0a..c731eac92 100644
--- a/Makefile
+++ b/Makefile
@@ -83,6 +83,7 @@ OPTIONS := --trace \
-a mathematical-format=svg \
-a pdf-fontsdir=docs-resources/fonts \
-a pdf-theme=docs-resources/themes/riscv-pdf.yml \
+ -a docinfo=shared \
$(XTRA_ADOC_OPTS) \
-D build \
--failure-level=ERROR
diff --git a/src/docinfo.html b/src/docinfo.html
new file mode 100644
index 000000000..ac70253be
--- /dev/null
+++ b/src/docinfo.html
@@ -0,0 +1,22 @@
+
diff --git a/src/rv32.adoc b/src/rv32.adoc
index 86f636ec9..0bbedb3cb 100644
--- a/src/rv32.adoc
+++ b/src/rv32.adoc
@@ -40,7 +40,8 @@ Most of the commentary for RV32I also applies to the RV64I base.
<> shows the unprivileged state for the base
integer ISA. For RV32I, the 32 `x` registers are each 32 bits wide,
-i.e., `XLEN=32`. Register `x0` is hardwired with all bits equal to 0.
+i.e., `XLEN=32`.
+[#qx_x0_is_zero]#Register `x0` is hardwired with all bits equal to 0.#
General purpose registers `x1-x31` hold values that various
instructions interpret as a collection of Boolean values, or as two's
complement signed binary integers or unsigned binary integers.