Back to the 2000s
Motivated by the latest Discord community confusion, I am revamping and republishing my article from late 2007 which tackled properly explaining clipmaps following Nvidia's botched attempt at doing the same regarding this old, but still relevant, concept brought forward by Tanner et al. at SIGGRAPH of 1998.
As of February 2020, the original Nvidia whitepaper has still not received any revisions. Even the most glaring errors remain, such as incorrect usage of the *= multiply-assign operator: clipTexCoord.x *= scaleFactor.x + 0.5f, the mathematical equivalent of $c_x ( s_x + 1/2 )$. The author wanted to express $c_x s_x + 1/2$.
It is no secret that a part of Nvidia's hardware rollout ritual is to dig up previously difficult-to-implement techniques and write up a demo, alongside a whitepaper, showcasing how they managed it with their latest architecture. They don't make a habit out of completely dropping the ball on the whitepaper. Alas, the one on clipmaps from February 2007 was one of them. "A clipmap can be defined as a partial representation of a mipmap pyramid which holds all information needed for texturing at every single frame.", begins the Nvidia whitepaper on the subject from early 2007.
A valid definition. It is, however, slippery without proper elaboration. Each level of a clipmap does not cover the same extent of the "source" level of the mipmap which it is virtualizing. The extent varies as the clipmap has the same number of texels across most of the levels of a conventional mipmap pyramid. Thus, you can't just take screen-space derivatives to compute a mip level and sample into it blindly, as the whitepaper lazily and partially outlines. This is, in fact, a key aspect of clipmaps and a key failing of the Nvidia whitepaper.
Multum In Parvo
My preferred way of thinking about clipmaps is in line with Tanner et al. A clipmap is, for all intents and purposes, a virtual mipmap. Therefore, we shall first refresh ourselves on the merits of mipmaps and smoothly transition from there.
As you probably know, textures slapped across geometry come in a variety of sizes. Even the practical upper limit for non-virtual, fully resident textures is a staggering 16384x16384. These objects often end up projected to a very small area on the screen, invariably leading to aliasing as there may be thousands of texels competing for a single screen pixel. One could, ludicrously, filter this at runtime every single time... Or realize all of this can be precomputed at texture creation. Enter the mipmap.

A mipmap ("Multum In Parvo" means "much in little space") is a hierarchical structure representing a source texture (conventionally and historically, a "bitmap"). Each level is half the resolution of its predecessor, all the way down to 1x1. Any filter can be used to perform the downsampling, even a 2x2 box filter. A precomputed solution to avoiding aliasing. Mipmaps also have secondary interpretations which are equally valid. One is that they inherently serve as a texture level-of-detail solution which alleviates bandwidth issues by only accessing the optimal resolution of the texture wrt what can be seen given the camera distance to the surface.

This immediately leads us to the motivation behind clipmaps. Consider the opposite scenario. When the source texture is massive (eg. 65536x65536) and covers a large element in the game world which seldom (if ever) fits inside the view frustum (think terrain, planets, world-spanning acceleration structures), only aperture-sized parts of a mipmap are actually utilized and the available memory should be focused on those rather than being wasted on stuff that's offscreen at the moment. Thus, if one dynamically "clips" off the unneeded sections of the mipmap, you essentially convert an inherently static mipmap pyramid into a dynamic clip stack with a residual, potentially static mipmap pyramid stump, collectively known as a clipmap.
Each level of the clip stack has exactly the same amount of texels which means, when centered against the corresponding mip level of a mipmap, the extent will increase as you go towards the bottom. Once the extent becomes 1:1, it collapses back into a residual mipmap pyramid which is small enough to be constantly in memory. This is conventionally expressed as two separate resources in software, clip stack is represented as a texture array which is updated high-to-low from the CPU (streaming) while the residual mipmap pyramid is a potentially static, regular mipmapped resource.
As mentioned, given the top (level 0) of the clip stack has the same amount of texels as the bottom, it covers the smallest area of the source texture. This is intentional because even with oblique viewing angles, the perspective transform squashes and minimizes stuff in the distance, large areas in world space project to very small areas in screen space (mipmap's specialty). The classic mip level selection would actually try to sample individual clip levels out of bounds. Thus, we require an additional mechanism to account for selecting a proper clipmap level for the logical texture address.
How does it work?

Naturally, the first thing that comes to mind is the clipmap update/streaming method. Every time you move, you offset everything to the side and all of it seemingly needs to be overwritten. However, consider moving just a little bit in any direction. Due to the coherency of the data in the mipmap, you only need to replace the parts of levels of the clipmap that are now outside of view. By moving the origin of the clipmap to the center and engaging the address_mode::wrap, you can actually load what's supposed to be on the right on the left side. The same works vertically. And is separable. This addressing is called toroidal in academic circles and is showcased below.
Selecting the correct clip stack level
Back to 2007...
Interestingly, the people behind the Nvidia whitepaper completely left out this section which I still remember frustrating me to no end. Figuring this out is a breeze now, but it wasn't a picnic for 14 year old Domagoj, wet behind the ears and in dire need of guidance which was nowhere to be found.
Before we can actually deal with transforming the logical mipmap coordinates into "physical" clip stack coordinates, we need to make sure that the input coordinates are not going to transform out of bounds, resulting in a repeating pattern. How do we compute the appropriate level? We will need to derive a function $l(?)$ which computes the appropriate level given the least amount of arguments.
The current stack center in normalized texture coordinates $\mathbf{C}$ will definitely be involved, the desired "logical" coordinates $\mathbf{P}$ and the ratio of the source image and the clip stack size $s$. For simplicity, we will derive this in one dimension as it works identically vertically.
To figure out this function, we take the difference $d_n = |\mathbf{P}_x - \mathbf{C}_x|$. Due to the whole wraparound business, we actually work with a maximum of $0.5$, so $d = \min(d_n, 1-d_n)$. At which $d$ do we need to jump to a higher level? Let's work out some concrete examples!
If our source image is four times as large as the clip stack, we have to move to level 1 when horizontal distance from the clip stack center $d$ reaches $0.125$ (remember, centered, so not $0.25$!), level 2 at $0.25$, level 3 at $0.5$, etc. If, on the other hand, $s=8$, then we'd have to hit $0.0625$ for level 1, $0.125$ for level 2 and so on. A pattern begins to emerge. As $d$ doubles, $l(d)$ changes logarithmically (base 2). Scale also appears to factor into it linearly, $l^s(d)$.
With all of this in mind, we define $l^s(d)$ as $\log_2(ksd)$ and look for $k$ which satisfies our requirements such as $l^4(0.125) = 1$:
$$l^4(0.125) = \log_2(k/2) = 1 \iff k/2 = 2^1$$
$$ \Large{ \implies k = 4}$$
Erring on the side of caution
In practice, it is best to not really sit on the razor edge, so a better choice of constant $k$ would be at least $4.1$. Nvidia used $4.2$ in their 2007 demo, left as a magic value with no elaboration. The slight offset forces conservative transition to a guaranteed within bounds access.
This finalizes our minimum clip stack level selection function as:
$$\Large { l^s(d) = \log_2(4sd) } $$
You compute both the vertical and horizontal level and choose the "worse" one. In case you haven't been paying attention, that's the larger one with less detail and higher extent. And in the end, you also compute the regular mipmap level selection and compare it against the clip stack level selection. Picking the "worse" one ensures there is neither aliasing nor out of bounds accesses. The attentive among you may notice that $l^s(d)$ dips below $0$ for some values. But then again, you also noticed that once we necessarily $\max$ it against the mipmap level selection function, the issue is eliminated.
Transforming coordinates for final clip stack sampling
The transformation of coordinates is rather pedestrian. As we move from the virtual mipmap space to the actual clip stack space, we know there is a constant $1/2$ offset. We also know that due to varying extents across levels, the most detailed level covers the least amount of area of the original texture.
At level 0, the extent of the clip stack level in normalized coordinates ends at $1/s$ (mipmap logical normalized coordinates). This is obviously $1$ in clip stack space for that particular level. Thus, we scale the coordinates by $s$. At each successive level, the extent doubles as the clip stack size remains constant, meaning we also divide by $2^i$ where $i$ is the previously chosen clip stack level. And finally, we add the center offset of $1/2$, producing the final transform:
$$\Large { \mathbf{P}' =\frac{s}{2^i}\mathbf{P} + \langle 1/2, 1/2 \rangle } $$
That's all there is to it. Falling back onto the residual mipmap pyramid is trivially predicated by the computed level: if it exceeds the clip stack depth, sample it. Happy coding.