изменить
while ((action != 1) || (action != 2) || (action != 3) || (action != 4)); // (1)
на
while ((action != 1) && (action != 2) && (action != 3) && (action != 4)); // (2)
Анализ:
, если action == 1
(1) будет оценивать to
while(false || true || true || true)
=>
while (true)
(2) будет оценивать
while(false && true && true && true)
=>
while (false)
Я рекомендую удалить существующий дистрибутив LaTeX.
~ Yihui Xie в TinyTeX
Я удалил MiKTeX, когда устанавливая tinytex и не оглядываясь назад, но у меня есть сотрудники, у которых есть tinytex и MiKTeX, и у них нет проблем.