In Duffett-Smith, this is section 25.
Here are the equations defining the transformation:

For the definitions of the symbols, see Section 15.2, “AltAz.raDec(): Horizon to equatorial
coordinates”.
# - - - R A D e c . a l t A z
def altAz ( self, h, lat ):
"""Convert equatorial to horizon coordinates.
[ (h is an object's hour angle in radians) and
(lat is the observer's latitude in radians) ->
return self's position in the observer's sky
in horizon coordinates as an AltAz instance ]
"""
As in Section 15.2, “AltAz.raDec(): Horizon to equatorial
coordinates”, we will delegate most of
the work to Section 16, “coordRotate(): Rotation of spherical
coordinates”.
#-- 1 --
# [ alt := altitude of self as seen from latLon at utc
# az := azimuth of self as seen from latLon at utc ]
alt, az = coordRotate ( self.dec, lat, h )
#-- 2 --
return AltAz ( alt, az )