I know that only the serious nerds are still with me, but let's review what's happening here.
@ -408,10 +407,8 @@ We need @racketmodname[racket/file] for @racket[display-to-file] and @racket[fil
This is the same as our @filepath{template.ltx.p} from before, but stored in a variable. The @racket[string-append] is needed here because the curly braces create a list of strings, and we want a single string.
Issue the @exec{pdflatex} command, using our newly created @filepath{temp.ltx} as the source. Finally, pick up the PDF that was created and return it as a byte string (= binary data).
Issue the @exec{pdflatex} command, using our newly created @filepath{temp.ltx} as the source. Finally, pick up the PDF that was created, delete the temporary directory, and return it as a byte string (= binary data).
Restart the project server and click on @filepath{cv.pdf.pm}, and you'll see the rendered PDF right in the browser: