I think it's a survival of the fittest thing.
First of all, math notation isn't specific to LaTeX, it's inherent in the TeX engine.
So what do we have:
- Around (virtually unchanged) since the late 70s.
- Text-based.
- Terse.
- Easy to read and write by humans.
- Effective: Virtually every mathematical formula can be formulated.
- Operational: There exists an engine available to everyone to render a graphical representation of the formula.
- In actual use by millions of mathematicians around the world.
I don't know what troff
did for formulas (which might have been a competitor at the time), and I don't know whether Knuth invented it all by himself (was'nt there a system named scribe
he used as a blueprint?), but I can imagine there was not that much pressure to ever develop an alternative aspiring for all these features at once.
You can look at MathML for the result what happens when such a thing is attempted by a committee ;-)
Only way to learn latex is to Start using it -- Practical first and reading next
You need not know any programming language. What you need is -- Strong will to use latex, a latex-aware editor (since it will save you from switching to command prompt often), a tex distribution installed and tex.stackexchange.com
;-)
Source code
What you find below is called source code -- it is what you write:
\documentclass{article}
%% This place is called the preamble
\begin{document}
Hello world
\end{document}
You have to save the above code as some file (say mycode.tex
). BTW you have to edit/write this code in an editor that is latex aware - like texmaker, texniccenter, texstudio, Vim, winedt (windows only, shareware), Inlage (windows only, not free) to name a few. Now you need to have a Tex distribution to compile the above code - Famous ones are texlive 2012 (multi platform) and miktex (windows only). You may google to find out from where to download ;-)
. Say you downloaded texlive 2012 and installed it. Now there are two ways to compile the code:
Go to the command prompt. Navigate to the folder where you have kept
mycode.tex
by typing something like cd c:\my folder
. Then type
pdflatex mycode
Then the source code will be compiled and a pdf
file named mycode.pdf
will be generated in the same folder. This
pdf is the output.
Or
The editor will have a toolbar button (that is why we call it latex
aware). Just click that button and you will be saved from using the
command prompt. (trust me, I am also afraid of command prompt,
Please keep it a secret ;-)
)
Additionally in tex/latex, there is a package for every need. Say you want to play with the page magins (layout), then geometry
package, if you want to insert a figure, then the graphicx
package, so on and so forth. They can be loaded using \usepackage{<package name>}
. And how to use those packages? You will find the details in the documentation of respective packages. To access them, you can type texdoc <package name>
(for example texdoc geometry
) from the command prompt, or the editor you are using will provide some (help) menu item for the purpose. Clicking it, will open a dialogue window where you can type the package name and proceed.
And please don't get intimidated by (some of) the technical documentations. There are well written (I mean easy to follow) manuals too, for example, check the pgfmanual
. In case if some thing troubles you a lot and you can't get rid of it by yourself, please post a question here. This site has expertise equivalent to years of reading the documentation and people here are very friendly, helping and very kind hearted.
Hope this will be useful. I wish you less troublesome start and happy texing.
Best Answer
Short answer:
There is no specifications
Long answer about standard:
We should differenciate several point here I think. You speak about LaTeX but nothing about TeX, LuaLaTeX or XeLaTeX.
TeX
Basic command are written by D. E. Knuth himself. No need to standardize then. For information you can modified the source code of TeX but in this case, you have not the right to called the modified program TeX:
LaTeX
Lua(La)TeX and Xe(La)TeX
I decided to put both of them in the same categories. The goal is to make extension of (La)TeX:
Conclusion
There is no specifications as ISO, ANSI, AFNOR or from other organization but standard de facto.