Hi all,
I’ve just landed in tm-forge a template for a CV. I plan to create some more of these examples in the future, hoping they are useful.
Template for a CV
Gorgeous, many thanks for sharing !
I just made one based off the first one you linked to, and I love it! However, I’m running into an issue where the PDF created still has the links (hidden until you hover over them) to the example projects (tensorflow, leveldb, etc.).
I have searched through the .tm file with a plain text editor, and those words do not appear anywhere. And yet when I generate the PDF, the hidden links are still there. Perhaps this is an issue with TeXmacs rather than the template. Or maybe my mac.
I’m running TeXmacs 2.1.2, and macOS 12.3.1
Any help is much appreciated.
This seems strange. Would you mind to post here the file? Or some minimal example of the problem. I guess the links are still in the document and for some reasons you do not find them.
I managed to get around the issue by downloading a new copy of the raw code from github, and restarting. Below is the old version, which still has the hidden links when I convert to PDF. The links to images will break of course when you run on your computer.
<TeXmacs|2.1.2>
<style|<tuple|generic|british|pagella-font|reduced-margins>>
<\body>
<\hide-preamble>
<\style-only*>
<\wide-tabular>
<tformat|<cwith|1|1|1|1|cell-lsep|1em>|<cwith|1|1|1|1|cell-rsep|1em>|<cwith|1|1|1|1|cell-bsep|1em>|<cwith|1|1|1|1|cell-tsep|1em>|<cwith|1|1|1|1|cell-background|#f0f0f0>|<cwith|1|1|1|1|cell-tborder|0.5ln>|<cwith|1|1|1|1|cell-bborder|0.5ln>|<cwith|1|1|1|1|cell-lborder|0.5ln>|<cwith|1|1|1|1|cell-rborder|0.5ln>|<table|<row|<\cell>
<with|font-series|bold|Resume template > (ver 1.0)
<copyright> License Creative Commons CC BY 4.0.
This \ document is based on the resume template
\ <slink|https://github.com/prabhuomkar/latex-resume-template> \ by
Omkar Prabhu.\
Reimplemented in <TeXmacs> by M. Gubinelli.
<\small>
Custom tags:
<\itemize>
<item><tt|cv-section> \ : start a new section of the CV
<item><tt|cv-line> \ : a line within a section, with a bold
header, a body and an italic timeline information
<item><tt|cv-line>-2 \ : a line within a section, with a bold
header, a body but without timeline information
<item><tt|cv-line>-1 \ : a line within a section without any
specific structure
<item><tt|cv-link> : a link to some URL with a description
</itemize>
</small>
</cell>>>>
</wide-tabular>
</style-only*>
\;
<assign|cv-link|<macro|name|url|<normal-size|<with|font-series|medium|<hlink|<tt|[<arg|name>]>|<arg|url>>>>>>
<assign|cv-section|<\macro|title>
<vspace*|0.2fn>
<\wide-tabular>
<tformat|<cwith|1|1|1|1|cell-tborder|0ln>|<cwith|1|1|1|1|cell-bborder|0.5ln>|<cwith|1|1|1|1|cell-lborder|0ln>|<cwith|1|1|1|1|cell-rborder|0ln>|<twith|table-bsep|0.3fn>|<table|<row|<\cell>
<with|font-series|bold|<large|<arg|title>>>
</cell>>>>
</wide-tabular>
</macro>>
<assign|cv-line|<\macro|heading|body|timeline>
<\wide-tabular>
<tformat|<cwith|1|1|1|1|cell-width|1em>|<cwith|1|1|1|1|cell-hmode|exact>|<cwith|1|1|1|1|cell-halign|c>|<cwith|1|1|1|1|cell-valign|t>|<table|<row|<\cell>
<math|\<bullet\>>
</cell>|<\cell>
<with|font-series|bold|<arg|heading>>
</cell>>|<row|<\cell>
\;
</cell>|<\cell>
<\small>
<\with|par-sep|0.4fn|par-par-sep|0.4fn>
<\small>
<arg|body>
</small>
</with>
</small>
</cell>>|<row|<\cell>
\;
</cell>|<\cell>
<with|font-shape|italic|<small|<arg|timeline>>>
</cell>>>>
</wide-tabular>
</macro>>
<assign|cv-line-2|<\macro|heading|body>
<\wide-tabular>
<tformat|<cwith|1|1|1|1|cell-width|1em>|<cwith|1|1|1|1|cell-hmode|exact>|<cwith|1|1|1|1|cell-halign|c>|<cwith|1|1|1|1|cell-valign|t>|<table|<row|<\cell>
<math|\<bullet\>>
</cell>|<\cell>
<with|font-series|bold|<arg|heading>>
</cell>>|<row|<\cell>
\;
</cell>|<\cell>
<\small>
<\with|par-sep|0.4fn|par-par-sep|0.4fn>
<\small>
<arg|body>
</small>
</with>
</small>
</cell>>>>
</wide-tabular>
</macro>>
<assign|cv-line-1|<\macro|body>
<\wide-tabular>
<tformat|<cwith|1|1|1|1|cell-width|1em>|<cwith|1|1|1|1|cell-hmode|exact>|<cwith|1|1|1|1|cell-halign|c>|<cwith|1|1|1|1|cell-valign|t>|<table|<row|<\cell>
<math|\<bullet\>>
</cell>|<\cell>
<\small>
<\with|par-sep|0.4fn|par-par-sep|0.4fn>
<\small>
<arg|body>
</small>
</with>
</small>
</cell>>>>
</wide-tabular>
</macro>>
</hide-preamble>
<\wide-tabular>
<tformat|<cwith|1|1|1|-1|cell-valign|t>|<cwith|1|1|2|2|cell-halign|r>|<cwith|1|1|2|2|cell-width|100pt>|<cwith|1|1|2|2|cell-hmode|exact>|<table|<row|<\cell>
<really-huge|Nathan A. McIntosh>
<hlink|natemcintosh@gmail.com|mailto:natemcintosh@gmail.com>
<math|\<cdot\>> <tt|(312)-888-1932> <math|\<cdot\>>
<cv-link|github.com/natemcintosh|https://github.com/natemcintosh>
\;
</cell>|<\cell>
<image|portrait.JPG|90pt|||>
</cell>>>>
</wide-tabular>
<\with|par-columns|2>
<\cv-section>
EXPERIENCE
</cv-section>
<\cv-line>
Johns Hopkins University Applied Physics Lab (APL) - Aegis Command and
Control
<|cv-line>
Analyst / Tools Developer / Modeling and Simulation Developer
Analyzed high fidelity simulation runs, providing sponsor with
actionable insight into their systems. Wrote several data ingestion
tools used widely throughout my group. Developed low/mid fidelity
models in Python.
<|cv-line>
July 2018 - June 2022
</cv-line>
<\cv-line>
Johns Hopkins University Applied Physics Lab (APL) - Space Exploration
Sector
<|cv-line>
Intern
Wrote 80 page LaTeX user's guide for APL internal tool: Low Thrust
Interplanetary Explorer.\
Automated setup and running of spacecraft simulations to ensure
bi-weekly maneuvers went smoothly.
<|cv-line>
June 2017 - May 2018
</cv-line>
<\cv-section>
EDUCATION
</cv-section>
<cv-line|M.S. Data Science (ongoing)|Johns Hopkins University|(8/10
courses complete)>
<cv-line|B.S. Mechanical Engineering, GPA: 3.51/4|Johns Hopkins
University|2018>
<\cv-section>
AWARDS & RECOGNITION
</cv-section>
<cv-line|APL Recognition Award - GOAT|Recognized for creating data
ingestion and standardization tool, now used by several teams beyond my
own.|2021>
<\cv-section>
SKILLS
</cv-section>
<\cv-line-2|Languages (in order of decreasing proficiency)>
Python, Julia, Rust, Golang, Matlab, SQL, Clojure, F#, Java, C++\
</cv-line-2|>
<cv-line-2|Libraries|Pandas, python stdlib, Numpy, Dask, h5py, rust
itertools, rust ndarray, Matplotlib, Seaborn, Plotly, Apache Arrow,
Numba, Polars, DataFrames.jl, rust clap, golang stdlib, golang fuzzing|>
<cv-line-2|Technologies|Git, sqlite3, Microsoft Office, SSH, parquet,
LaTeX / TeXmacs|>
<\cv-section>
PROJECTS
</cv-section>
<\cv-line>
GOAT (APL internal)
</cv-line|A tool for ingesting data from different sources and formats,
all representing the same information, and standardizing
names/units/structure so a single analysis tool can work on all data
sources.|Python, Matlab>
<\cv-line|ELF (APL internal)>
An Extremely Low Fidelity model, providing analysts with very fast
exploration of a scenario's outer limits.
</cv-line|Python>
<cv-line|<cv-link|gocombinatorics|github.com/natemcintosh/gocombinatorics>|A
personal project. Library providing generic lazy combinations,
combinations with replacement, and permutations. Currently has three
github stars.|golang>
<\cv-line| <cv-link|geographiclib-go|https://github.com/natemcintosh/geographiclib-go>>
A personal project. Port of <hlink|geograpiclib|https://geographiclib.sourceforge.io/>
to golang, as well as a wrapper of the C implementation. About 75%
complete, and just under 7000 lines of go.
</cv-line|golang>
<\cv-section>
HOBBIES & INTERESTS
</cv-section>
<\small>
<\wide-tabular>
<tformat|<cwith|1|-1|1|-1|cell-width|1em>|<cwith|1|-1|1|-1|cell-hmode|exact>|<cwith|1|-1|1|-1|cell-halign|c>|<cwith|1|1|3|3|cell-valign|c>|<cwith|2|2|3|3|cell-hyphen|t>|<cwith|2|2|1|-1|cell-halign|c>|<cwith|2|2|1|-1|cell-valign|b>|<table|<row|<\cell>
<image|dog_icon.png|25pt|25pt||>
</cell>|<\cell>
<image|tree.jpg|25pt|25pt||>
</cell>|<\cell>
<image|aoc.png|15pt|17pt||>
</cell>|<\cell>
<image|open_source.png|25pt|25pt||>
</cell>>|<row|<\cell>
Dogs
</cell>|<\cell>
Outdoors
</cell>|<\cell>
Advent-of-Code
</cell>|<\cell>
Open Source
</cell>>>>
</wide-tabular>
</small>
\;
</with>
</body>
<\initial>
<\collection>
<associate|font-base-size|12>
<associate|math-font|math-pagella>
<associate|page-bot|1.5cm>
<associate|page-medium|paper>
<associate|page-screen-margin|false>
<associate|page-top|1.5cm>
<associate|par-columns|1>
<associate|par-par-sep|0.4fn>
<associate|par-sep|0.4fn>
<associate|preamble|false>
<associate|src-compact|inline args>
</collection>
</initial>
I cannot reproduce the problem. My PDF does not seem to have such hidden links. How do you check for them?
I found them because an empty box would appear when I moved my mouse over the spots where the links used to be. Don’t worry if you can’t replicate it, because I managed to work around it. Thank you for the assistance though!
I see. My guess is that you removed the text of the hyperlink (e.g. by backspacing over it) but not the hyperlink itself, this would manifest in a box of very small size, which you easily miss. TeXmacs does not simplify these “empty” environments, because it does not know what you want to do. I saw similar things happen with exponents in formulas, people remove the exponent’s text but forget to remove also the exponent, leaving around empty ones. Sometimes TeXmacs can correct this but not always, so it is better to develop “sane” working relationship with the editor. The first thing a new user has to realize is that TeXmacs is a structured editor, that it, all the basic unit of editing is the tree structure of the document, not the sequential structure of the string of characters. For usability, the editor goes a long way to simulate the editing of a sequential structure (e.g. when moving the cursor around) but other times you have to focus on the structure and in particular when you remove the content of some macro (e.g. bold, or an hyperlink) you have to be careful to remove also the empty structure which could remain. The status bar tells you exactly what is before the cursor and around it, even if it is not visible and paying attention to this information (and to the focus bar) is a key attitude to use TeXmacs effectively.
This explanation is very helpful! I will definitely keep that in mind as I use TeXmacs in the future!
It would be better if such empty boxes could be shown in a special mode. It is very easy to produce such.
I use “semantic editing” for formulæ therefore empty exponents are usually red boxed.
I think that is a good idea.
I do not agree that it is very easy to proceed such: it is easy if you use TeXmacs carelessly like a character editor. Proper discipline essentially solve this problem. My experience is that if a user leave a lot of garbage around usually he is also a not very careful writer in other ways. I however agree that it would be useful to have a way to make more prominent such invisible document elements in certain occasions. For example when hovering nearby with the cursor, or mouse. Or indeed having a mode which shows invisible elements, but without modifying the typesetting. This could be useful also to spot macro definitions lost in the text (which I sometimes use but then it is difficult to remember where I put them).
TeXmacs is used in many ways. I suppose that it is hard to keep that discipline when TeXmacs is used to take notes lively (I use it during online courses / talks.) I also use it to type personal mathematical notes, during which I am more busy thinking the mathematics. In these cases, it is difficult to look at the status bar frequently.
I would not say it is a discipline, it is more a “habit”, like brushing the teeth in the morning. When I cancel something I go all the way to cancel also the enclosing tag, usually is only a backspace more. And the activity feels unfinished otherwise. I guess is like learning some new keybinding, it takes just some discipline at the beginning but after that it becomes automatic and the investment is well worth the time. The back side to provide “support” for the “bad” habits of the user is that the user will develop even more “bad” habits and will need some more support later. (the teeth analogy is also fitting here). Some help, sometimes, it is useful, but I would argue that having help by default is not helping the user to make out the most from the tool.