how to automatically include own package into different demonstration
- To: mathgroup at smc.vnet.net
- Subject: [mg110577] how to automatically include own package into different demonstration
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Sat, 26 Jun 2010 03:11:18 -0400 (EDT)
- Reply-to: nma at 12000.org
Hello; The problem: currently when I write a demo, I put all the code into one large Manipulate. When I write another demo, sometimes I'd like to use some of the functions I wrote earlier. What I do Now is simply open the old notebook, and with the mouse copy/paste the function code from the older demo notebook to the new one to use. This means now, I have the same function in many different notebooks, which I do not like. I'd like to start making a package and put all the useful small functions that I write in one package, and somehow include them automatically in the new demo. So, my question is: How do the experts here handle this situation? The code of the package has to be actually loaded into the notebook and visible before the demo can be submitted. I can't have code such as <<mypackage` in the demo notebook, but the code itself of the package must be there. (one can't include non-Wolfram package in a demo, since the source code will not be present at the other end, that is why all non-Wolfram code must be physically in the demo notebook.) I am thinking of this: have one package, put in it all the useful functions I create and reuse. When writing a new demo, open the package notebook, and copy/paste from the package notebook the specific functions I need to use in the new demo. If I found I need to fix something in the function copied, I fix it, and copy the corrected version back to the package notebook overwriting the old function. This way, I have one master version of the function, and not many spread all over the place. How does this sound? I'd like to really use source control, but I have not looked at using source control software with Mathematica notebooks. note: I just use Mathematica, and not the workbench. --Nasser