I would start with simpler shaders before trying to modify the standard shader. It’s rather complex. Either start with a surface shader (which automates lighting) or start with a simple vertex/fragment shader. Trying to start with the standard shader will get you frustrated very quickly.
Alternatively, an easy approach is to use the tool “Shader Forge” to get a shader put together. Especially, if you use the generated shaders, you can use them as a learning tool. It can quite easily reference all these parts of the mesh, and gives you a node-based structure to write the shader. Not free, but well worth the money if you’re interested in shaders.
The paper is quite abstract, but I also wanted to point out the idea of storing variables onto the mesh. There’s quite a lot of ways - you can even encode 4 ~8-bit floats into a single 32-bit float (with a loss of precision, so exact numbers are out, but approximates are fine generally) to turn the vertex colors into 16 variables. The same can be done with UV’s, and often times people do not use the second, third, and fourth UV channels.
But at the core, there’s two types of shaders - one is a surface shader, which is Unity-specific, and is compiled by a program called Shaderlab. It uses what you have and creates the underlying shaders for you. Alternatively, you can write a vertex/fragment, possibly with hull/domain/geometry sections, which is the core HLSL/GLSL shader, directly. The surface shader for phong tessellation you link there is based around the code-generation form, which is why you don’t see that mentioned. The Standard shader is a vertex/fragment shader.
On an additional note, the Standard shader does not include tessellation - and modifying it to support it would take quite a long time and a fair bit of shader experience (it’s not just modifying a few lines of code, but rather re-building the entire structure into a DX11 shader).
There’s a shader package called “Uber” that adds phong tessellation, though.
To be honest, you actually branched into a tricky subject. The easiest thing I could say to use is Shader Forge, I don’ think I have time to write up a shader to give an example. But if you want a learning experience, try writing simple vertex/fragment shaders first, get familiar with the mesh data and how it goes into a shader, and then see about adding tessellation to the shader.