LyX can make exactly that:

However, the changes are stored in their own file format (.lyx
) but not in the exported LaTeX (.tex
) source or the PDF.
For a pure LaTeX solution or see the changes in the PDF, you can use the package changes
:
\documentclass{article}
\usepackage{changes}
\begin{document}
I \added{went}\deleted{when} to the zoo \added{today}\deleted{yesterday}
\end{document}

If you want the final PDF version, simply load the package with the final
option:
\usepackage[final]{changes}
But also can do something more:

\documentclass{article}
\usepackage{changes}
\definechangesauthor[name={me}, color=magenta]{Fran}
\definechangesauthor[name={you}, color=red]{you}
\begin{document}
I \added[id=Fran]{went}\deleted[id=Fran]{when} to the zoo
\added[id=Fran]{today}\deleted[id=you]{yesterday}
\listofchanges
\end{document}
See changes on CTAN for more options.
Another solution:
1) old.tex
:
\documentclass{article}
\begin{document}
I when to the zoo yesterday
\end{document}
2) new.tex
:
\documentclass{article}
\begin{document}
I went to the zoo today
\end{document}
3) In the terminal:
texdiff old.tex new.tex diff.tex
4) Edit diff.tex
: Add manually some preamble to define \TLSins
and \TSLdel
(otherwise you cannot compile the file). The result must be something like:
\documentclass{article}
\usepackage{xcolor}
\colorlet{ins}{blue}
\colorlet{del}{red}
\usepackage{ulem}
\newcommand\TLSins[1]{\cbstart{}\textcolor{ins}{\uline{#1}}\cbend{}}
\newcommand\TLSdel[1]{\cbdelete{}\textcolor{del}{\sout{#1}}}
\begin{document}
I \protect\TLSdel{when} \protect\TLSins{went} to the zoo \protect\TLSdel{yesterday} \protect\TLSins{today}
\end{document}
