Re: Subscript Variable
- To: mathgroup at smc.vnet.net
- Subject: [mg47666] Re: [mg20188] Subscript Variable
- From: tastetations2002 at hotmail.com (Margaret)
- Date: Wed, 21 Apr 2004 05:23:04 -0400 (EDT)
- Organization: The Math Forum
- References: <7u7rfr$p3c@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, I would like to know in simple language how I insert subscript or
superscript into my e-mails. 75 degrees for eg.
the stuff below is for a programmer which I am not. Any help will be
appreciated.
Tks, M.
On 15 Oct 1999 14:23:55 -0400, David Park wrote:
>Michel,
>
>A couple of months ago Carl Woll posted one solution to this problem.
Essentially he
>changed the Attributes of Subscript to HoldFirst, and added
SubscriptInformation and
>ClearSubscripts routines. I liked his routine so much I made a little
package of it
>and extended it slightly. Here are examples of it's use.
>
>< Algebra`WollSubscripts`
>
>?Algebra`WollSubscripts
>"WollSubscripts sets the attributes of Subscript to HoldFirst so that
it can \
>be used like a symbol. Subscript definitions can be defined. The
additional \
>routines ClearSubscripts and SubscriptInformation are also provided."
>
>?ClearSubscripts
>"ClearSubscripts[sym1, sym2,...] will clear all Subscript definitions
based \
>on the symbols."
>
>?SubscriptInformation
>"SubscriptInformation[sym1, sym2,...] will print the Subscript
definitions \
>based on the symbols."
>
>Here I use InputFormat so it will be readable in email.
>
>Subscript[f, 1][x_] = x^2 + 1;
>Subscript[f, 2][x_] = x^3 - 1;
>
>SubscriptInformation[f]
>Subscript[f, 1][x_] = 1 + x^2
>Subscript[f, 2][x_] = -1 + x^3
>
>?? Subscript
>"Subscript has been given the Attribute HoldFirst so that it can be \
>used like a symbol and be given definitions."
>Attributes["Subscript"] = {HoldFirst}
>Subscript[f, 1][x_] = 1 + x^2
>Subscript[f, 2][x_] = -1 + x^3
>
>Subscript[f, 2][y] - Subscript[f, 1][y]
>-2 - y^2 + y^3
>
>ClearSubscripts[f]
>SubscriptInformation[f]
>(none)
>
>?? Subscript
>"Subscript has been given the Attribute HoldFirst so that it can be \
>used like a symbol and be given definitions."
>Attributes["Subscript"] = {HoldFirst}
>
>I am pasting the notebook that creates the package at the end of the
email. The
>package should be placed in the AddOns/ExtraPackages/Algebra
directory.
>
>David Park
>djmp at earthlink.net
><a
href="http://home.earthlink.net/~djmp/">http://home.earthlink.net/~djmp/</a>
>
>>Hello,
>>
>>I have a problem about subscript variables.
>>
>>First Question :
>>
>>If I use a variable named Subscript[x,1] ,
>>(typed in with Ctrl _)
>>
>>I can affect a value to this variable, get value of expressions
>>involving this variable, clear this variable with . but not with
Clear[]
>>!
>>
>>This variable is not given when I ask Names["x*"] and I cannot get
>>information on it with ?.
>>
>>
>>Second Question :
>>
>>If I use such a variable in order to define a function with
>> f1[x_]=x^2+1
>>I cannot clear the variable with f1=.
>>(of course, just above f1 means Subscript[f,1])
>>
>>
>>Thanks a lot for any help
>>
>>
>>J.Michel CORNIL
>>
>
>
>(***********************************************************************
>
> Mathematica-Compatible Notebook
>
>This notebook can be used on any computer system with Mathematica
4.0,
>MathReader 4.0, or any compatible application. The data for the
notebook
>starts with the line containing stars above.
>
>To get the notebook into a Mathematica-compatible application, do one
of
>the following:
>
>* Save the data starting with the line of stars above into a file
> with a name ending in .nb, then open the file inside the
application;
>
>* Copy the data starting with the line of stars above to the
> clipboard, then use the Paste menu command inside the application.
>
>Data for notebooks contains only printable 7-bit ASCII and can be
>sent directly in email or through ftp in text mode. Newlines can be
>CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
>
>NOTE: If you modify the data for this notebook not in a Mathematica-
>compatible application, you must delete the line below containing the
>word CacheID, otherwise Mathematica-compatible applications may try
to
>use invalid cache data.
>
>For more information on notebooks and Mathematica-compatible
>applications, contact Wolfram Research:
> web: <a href="http://www.wolfram.com">http://www.wolfram.com</a>
> email: info at wolfram.com
> phone: +1-217-398-0700 (U.S.)
>
>Notebook reader applications are available free of charge from
>Wolfram Research.
>***********************************************************************)
>
>(*CacheID: 232*)
>
>
>(*NotebookFileLineBreakTest
>NotebookFileLineBreakTest*)
>(*NotebookOptionsPosition[ 5011, 143]*)
>(*NotebookOutlinePosition[ 5736, 168]*)
>(* CellTagsIndexPosition[ 5692, 164]*)
>(*WindowFrame->Normal*)
>
>
>
>Notebook[{
>
>Cell[CellGroupData[{
>Cell["Algebra`WollSubscripts` Package", "Title"],
>
>Cell[CellGroupData[{
>
>Cell["Implementation", "Section",
> InitializationCell->True],
>
>Cell[BoxData[{
> \(ClearAll[Subscript]\), "\[IndentingNewLine]",
> \(\(Subscript::usage = "\<Subscript has been given the Attribute
\
>HoldFirst so that it can be used like a symbol and be given \
>definitions.\>";\)\), "\[IndentingNewLine]",
> \(SetAttributes[Subscript, {HoldFirst}]\)}], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(BeginPackage["\<Algebra`WollSubscripts`\>"]\)], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(Algebra`WollSubscripts::usage = "\<WollSubscripts sets the
attributes \
>of Subscript to HoldFirst so that it can be used like a symbol.
Subscript \
>definitions can be defined. The additional routines ClearSubscripts
and \
>SubscriptInformation are also provided.\>"\)], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(\(ClearSubscripts::usage = "\<ClearSubscripts[sym1, sym2,...]
will \
>clear all Subscript definitions based on the symbols.\>";\)\)],
"Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(\(SubscriptInformation::usage = "\<SubscriptInformation[sym1,
sym2,...] \
>will print the Subscript definitions based on the symbols.\>";\)\)],
"Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(Begin["\<`Private`\>"]\)], "Input",
> InitializationCell->True],
>
>Cell[BoxData[{
> \(\(SetAttributes[
> ClearSubscripts, {HoldAll}];\)\), "\[IndentingNewLine]",
> \(ClearSubscripts[a__]\ := \[IndentingNewLine]\
> Module[{b}, \[IndentingNewLine]DownValues[Subscript]\ =
> Cases[DownValues[Subscript], \((b_\ :> \ _)\)\ /; \
> FreeQ[b,
> HoldPattern[
> Subscript[
> Alternatives[a], \ __]]]];
\[IndentingNewLine]SubValues[
> Subscript]\ =
> Cases[SubValues[Subscript], \((b_\ :> \ _)\)\ /; \
> FreeQ[b,
> HoldPattern[
> Subscript[
> Alternatives[
> a], \ __]]]];\[IndentingNewLine]]\)}], "Input",
> InitializationCell->True],
>
>Cell[BoxData[{
> StyleBox[\(SetAttributes[SubscriptInformation, \ {HoldAll}];\),
> FormatType->StandardForm], "\n",
> StyleBox[\(SubscriptInformation[syms__]\ := \[IndentingNewLine]\
> Module[{PrintDownValue},
\[IndentingNewLine]PrintDownValue[\(Verbatim[
> HoldPattern]\)[a_]\ :> \ b_]\ := \
> Print[HoldForm[
> a\ = \
> b]]; \[IndentingNewLine]PrintDownValue\ /@
\((DeleteCases[
> Join[DownValues[Subscript],
> SubValues[Subscript]], \ \((b_\ :> \ _)\)\ /; \
> FreeQ[b,
> HoldPattern[
> Subscript[
> Alternatives[
> syms], \ __]]]])\);\[IndentingNewLine]]\),
> FormatType->StandardForm]}], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(End[]\)], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(Protect[ClearSubscripts, SubscriptInformation]\)], "Input",
> InitializationCell->True],
>
>Cell[BoxData[
> \(EndPackage[]\)], "Input",
> InitializationCell->True]
>}, Open ]]
>}, Open ]]
>},
>FrontEndVersion->"4.0 for Microsoft Windows",
>ScreenRectangle->{{0, 1024}, {0, 683}},
>AutoGeneratedPackage->Automatic,
>InitializationCellEvaluation->False,
>WindowSize->{591, 571},
>WindowMargins->{{Automatic, 94}, {Automatic, 21}}
>]
>
>
>(***********************************************************************
>Cached data follows. If you edit this Notebook file directly, not
using
>Mathematica, you must remove the line containing CacheID at the top
of
>the file. The cache data will then be recreated when you save this
file
>from within Mathematica.
>***********************************************************************)
>
>(*CellTagsOutline
>CellTagsIndex->{}
>*)
>
>(*CellTagsIndex
>CellTagsIndex->{}
>*)
>
>(*NotebookFileOutline
>Notebook[{
>
>Cell[CellGroupData[{
>Cell[1739, 51, 48, 0, 150, "Title"],
>
>Cell[CellGroupData[{
>Cell[1812, 55, 61, 1, 53, "Section",
> InitializationCell->True],
>Cell[1876, 58, 332, 6, 110, "Input",
> InitializationCell->True],
>Cell[2211, 66, 104, 2, 30, "Input",
> InitializationCell->True],
>Cell[2318, 70, 325, 5, 110, "Input",
> InitializationCell->True],
>Cell[2646, 77, 189, 3, 70, "Input",
> InitializationCell->True],
>Cell[2838, 82, 199, 3, 70, "Input",
> InitializationCell->True],
>Cell[3040, 87, 83, 2, 30, "Input",
> InitializationCell->True],
>Cell[3126, 91, 751, 17, 250, "Input",
> InitializationCell->True],
>Cell[3880, 110, 848, 17, 210, "Input",
> InitializationCell->True],
>Cell[4731, 129, 66, 2, 30, "Input",
> InitializationCell->True],
>Cell[4800, 133, 107, 2, 30, "Input",
> InitializationCell->True],
>Cell[4910, 137, 73, 2, 30, "Input",
> InitializationCell->True]
>}, Open ]]
>}, Open ]]
>}
>]
>*)
>
>
>
>
>(***********************************************************************
>End of Mathematica Notebook file.