Mark Rafn writes: > > > Let's take an example that will likely resonate with typesetters a bit > > > more: the euro. How did you arrange to add the euro symbol to TeX and > > > LaTeX? What would have happened if I would have needed a euro symbol > > > before it was added? > > On Fri, 19 Jul 2002, Boris Veytsman wrote: > > > This is a technical question, so please excuse my rather technical > > answer. On the other hand this answer might be instructive in the way > > (La)TeX works and why we do not want to change the kernel. > > It was indeed instructive to me. But it was based on a premise that I > didn't read in Jeff's message. > > > Ok, suppose you want to add a euro symbol to your document. Old > > documents do not mention euro, so I can assume we have a new document.
I think that this premise was a resonable assumption. > I don't mean to waste your time, but I think it would be equally > instructive if you didn't make this assumption. What is required for me > to distribute a ltx-eurodollar such that any document that prints > dollar signs (in CM) in latex instead prints euro signs when the user > runs ltx-euroinsteadofdollar? that is an interesting question as well, but i think it has nothing to do with Jeff's. it is in fact something we probably shouldn't answer as it sounds very much like we should tell you how to do something illegal :-) having waited a while for someone to answer, here is my solution: Apply the LPPL rules (what else? :-): technically what you want (i think) is that \$ (that prints a dollar sign as long as you process with LaTeX (and haven't loaded a package to change LaTeX's behaviour in a LPPL-complient way) is now printing a euro sign, right? so somehow you would need to have \usepackage{eurofont} % or something else to get \euro (sign) \renewcommand\${\euro} but you don't want to add this to your document, instead you want this automatically done by your processor called ltx-euroinsteadofdollar. so ltx-euroinsteadofdollar is (for example) a modified latex kernel (and no longer latex). In other words what you would want is to get that into latex.ltx instead of the \$ definition there (kernel definitions would look a little different---but i'm not here to teach you LaTeX., definitely not at 1:45 in the morning :-). Thus we come to the LPPL-draft section CONDITIONS ON DISTRIBUTION AND MODIFICATION =========================================== as we assume that you are not the Maintainer of The Program (since that is me and David, et al at the moment) that section gives you seven conditions to meet [hmmm 8 i think in the draft that went to this list ... so let's use that one] 1) -- is gone (thanks to Walter) as well as the section it refers to 2) -- that doesn't apply to latex.ltx (and by now that section does nothing other than taking away any renaming restrictions for .cfg and .fd files) 3) -- okay so let's call the new kernel file euroinsteadofdollar.ltx 4) -- okay, so please add some comments on top as necessary 5) -- that's a little tricky with that file as it is a boot-trapping TeX file in essentially every other tex/latex file the identification stuff is on top but when a kernel is made Tex starts out stupid and doesn't even know which chars mean what, so you have to teach it like a baby. As result the indentification strings are a little scattered around. (guess we should put some comment on top how to find them) to be really correct the right thing is probably to search the file for references of the string LaTeX and replace them as needed. 6) -- This is mostly likely already done since we updated the comments in 4) 7) -- Assuming the understanding we have of this section (granted that the wording is wrong or at least difficult to understand) you now have to choose a license for your new file. No idea what you would want here (i would again use LPPL but choose one, say, GPL, and add the clause This file is distributed under GPL with the restriction that you are not allowed to distribute it or modified versions of it under its original name latex.ltx. [now don't shoot me if GPL doesn't allow adding clauses to it, if so spell GPL out, or use a different license, you may even use a completely unfree one for your work] 8) -- Not being stupid: if you distribute euroinsteadofdollar.ltx you choose option (B) ie tell people where to get latex.ltx from (or more exactly the whole of core latex as that is The Program in that case). soooo. that's the legal side (a few minutes, especially in the kernel case if you never did it before, but most definitely less than what i spend writing this message up to here) now what is left is actually changing the file in earnst, ie go near the end and add \RequirePackage{eurofont} \renewcommand\${\euro} or whatever you have chosen to use for the euro. Having done that you finally have to produce your format file for the TeX engine, eg initex euroinsteadofdollar.ltx (tetex might do this differently) which hopefully produces euroinsteadofdollar.fmt DONE. You can now run tex \&euroinsteadofdollar or symlink tex to euroinsteadofdollar (on tetex) and it loads your format in which the command \$ is producing euro signs by default. ================ there are completely different ways, eg doing stuff with fonts etc, but i think the above is what you are really looking for, right? ================ note that euroinsteadofdollar only changes dollar sign in documents in which the author hasn't changed the meaning of \$ again (for example by loading a package that does it for him), or by saying \renewcommand\$... or even \renewcomand\euro :-) also note that your new format works on the same package/class tree as standard LaTeX. Thus if you are cheating big (come to think of it, right now that would perhaps even give you some winnings, indeed :-) and have a large number of friends to whom you send this euroinsteadofdollar, as they all want to produce bills with euros when dollars are specified, then LPPL is again helping you to be assured that all your documents processed with euroinsteadofdollar will come out exactly identical at your friends place as long as a) you used only LPPL licensed latex files b) your friends haven't modified euroinsteadofdollar.ltx after they got it from you thus, if that is important for you, you might want to license euroinsteadofdollar.ltx as well under LPPL ---- on the other hand you might now as you discovered that turning \$ to \pounds would make you more money (excerise for changing euroinsteadofdollar.ltx to do that is left to the reader) > > Well, as you see, this community has its own way of modifying > > programs. We have traditions that predate GPL, Linux and even C. We > > are quite happy with the way the things are. > > Understandably so, but we're talking about the freedom of latex, and > whether it can be modified, not the freedom to modify documents which may > or may not have their own licenses. well, one of the problems here is that people constantly mixing up what is program and what is data ... and why, because we are running on a macro language where this is at least value. i think Boris told Jeff for the specific case quite nicely how to modify/extend LaTeX (sensibly) there are many other ways including the one above (which is more appropriate for your case but not really good in the example for Jeff) could have been used for Jeff as well, but in the LaTeX community most extensions are done by adding packages even if that means you have to go into old documents and add a single line, ie \usepackage{xyz} instead of adding functionality to the kernel or modifying it from the inside, because the package way keeps the document portable. But as i hope the examples make it very clear, this isn't the only way. good night frank -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]