In the first instance I did a Google search, https://www.google.com/search?q=mail+merge+lyx
which returns as the first hit: http://ftp.lyx.org/pub/tex-archive/macros/latex/contrib/mailmerge/ maybe look there... greetings, el On 2017-04-01 00:13 , Richard Heck wrote: > On 03/31/2017 04:05 PM, John White wrote: >> >> I use lyx and am using it more and more in what I call "mailmerge" >> mode, similar to how I once used mailmerge in Wordstar. Once I have a >> good form document (say a will or a contract) I replace the names >> with, say "@name1" and then I replace all @name1 with the new data, >> e.g. "Judy Jones". >> >> >> >> This works fine, but on longer documents (say a 40 page document) >> with, say @name1 through @name12, it can get a bit confusing. I put >> all the replacement data in a separate lyx file and go back and forth >> to that file until I have made all replacements. >> >> >> >> I use article class. >> >> >> >> Is there perhaps a better layout or class or perhaps something else >> lyx that I should be using? >> > > The easiest way to do this would be to use some LaTeX in your LyX > document. Where you now have "@name1" put, say: > \nameone > in ERT. Now in the preamble, say, put: > \def\nameone{Judy Jones} > This is a LaTeX variable, or "macro". > > You could also do something like: > \def\nameonef{Judy} > \def\nameonel{Jones} > \def\nameone{\nameonef \nameonel} > and now you have access to first, last, and full names. > > You can also put all of that in some separate LyX file, if you like, but > as ERT, and include it at the beginning of the file. > > Caveats: > > LaTeX does not allow numbers in variable names, only letters (well, > close enough). Hence "one". > > You'll have to be careful to avoid naming conflicts with what LaTeX > already predefines. One way to do this is to use names like, e.g., > \MERGEnameone. > > You may run into problems with spaces after such macros. This is because > LaTeX sees the space after the macro as just separating it from what > follows, not as an actual space. You can handle this in a couple ways. > First, in the LyX file, you can do: > \nameone{} > in ERT. Now the braces terminate the macro, and LaTeX will treat a > following space as an actual space. The other option is to use the > xspace package. So the macro gets defined as: > \def\nameone{Judy Jones\xspace} > and you put > \usepackage{xspace} > into the preamble. The \xspace macro adds a space, but only if what > follows isn't punctuation, etc. It isn't perfect, but it usually works. > > This is a very simple approach. Try searching "latex mail merge" for > more sophisticated ones. > > Richard >