I don't know a reference, but there is a standard Hamiltonian path / cycle reduction to SAT that is fairly well known. The reduction from SAT to 3SAT is then implemented by introducing additional variables for breaking clauses, e.g.

$$ v_1 vee neg v_2 vee v_3 vee neg v_4 Rightarrow left (v_1 vee neg v_2 vee X right) Wedge left (v_3 vee neg v_4 vee neg X right) $$

To let $ n $ is the number of nodes in the graph. Then you define variables $ x_ {i, j} $ Where $ i, j in left {1 ldots n right } $, Where $ x_ {i, j} $ is true if knot $ i $ appears in position $ j $ on the Hamilton path.

Each node must appear somewhere on the path:

$$ bigwedge_ {i} left ( bigvee_ {j} x_ {i, j} right) $$

Every position in the path must be occupied:

$$ bigwedge_ {i} left ( bigvee_ {j} x_ {j, i} right) $$

No node appears on the path more than once:

$$ bigwedge_ {i} bigwedge_ {j ne k} left ( neg x_ {i, j} vee neg x_ {i, k} right) $$

No two different nodes are in the same position:

$$ bigwedge_ {i} bigwedge_ {j ne k} left ( neg x_ {j, i} vee neg x_ {k, i} right) $$

Non-adjacent nodes cannot be adjacent on the path. If $ E subseteq N times N $ is the set of edges:

$$ bigwedge_ {k ne left | N right |} bigwedge _ {(i, j) not in E} left ( neg x_ {k, i} vee neg x_ {k + 1, j} right) $$