Commit Graph

3456 Commits

Author SHA1 Message Date
Davide P. Cervone
4fb5c5e4e5 Allow commas in place of decimals in TeX dimensions. Resolves issue #856. 2014-08-18 14:09:05 -04:00
Davide P. Cervone
5391986006 Allow \newenvironment to provide an optional argument. Issue #881 2014-08-18 13:46:43 -04:00
Davide P. Cervone
0710cca048 Fix spacing of open delimiter from \left...\right. Issue #889. 2014-08-18 12:54:34 -04:00
Davide P. Cervone
fb3d2c2d07 Make CHTML-preview previews inherit the surrounding color 2014-08-18 12:53:18 -04:00
Davide P. Cervone
4db6b017ee Make px-per-inch configurable and use 72dpi (pt = px in this case) 2014-08-18 11:29:21 -04:00
Davide P. Cervone
72a6a670bf Add ability to process units of px in \\[...] (not particularly accurate, however). Issue #890 2014-08-18 11:09:09 -04:00
Davide P. Cervone
4666badbe2 Merge branch 'issue693' into develop. Issue #693. 2014-08-18 10:11:48 -04:00
Davide P. Cervone
8726bd52a5 Merge branch 'DOMfilterHooks' into develop 2014-08-18 10:01:01 -04:00
Davide P. Cervone
b41981b3b3 Merge pull request #887 from dpvc/issue847
Don't remove entities or newlines from <annotation> elements.
2014-08-17 15:54:09 -04:00
Davide P. Cervone
1aa86d7cf6 Add noReflows flag to prevent taking measurements that cause reflows, when possible. This provides a 30 to 40% speed improvement, but can cause poor results in some browsers. 2014-08-17 14:14:39 -04:00
Davide P. Cervone
4ad33386ef Remove styling of preview (left over from use as an input postfilter) 2014-08-16 13:00:26 -04:00
Davide P. Cervone
8ebcd614c3 Properly handle restarts within the creation of the previews 2014-08-16 12:59:16 -04:00
Davide P. Cervone
f0c0c6386e Properly handle callbacks returned by pre- and postfilter hooks. 2014-08-16 12:58:51 -04:00
Davide P. Cervone
05c7aace26 Add CHTML-preview extension that uses the CommonHTML output jax to create fast previews that are replaced (more slowly) by the normal output jax. 2014-08-16 09:26:47 -04:00
Davide P. Cervone
3463017f85 Change .bbox to .CHTML to prevent conflicts with other output jax 2014-08-16 08:27:02 -04:00
Emily Eisenberg
50479a950f Fix the OS/2 font tables to prevent clipping on windows
The OS/2 values in the generated fonts were incorrect, so this corrects them. To
do this, I added some files to the khan/MathJax-dev repo, and updated the
dockerfile to use the new repo.

Test Plan:
- View the test page with chrome and firefox on linux, chrome and safari on mac,
  and IE8 and IE9 on windows, and see that none of the characters are clipped.

Auditors: alpert
2014-08-08 17:55:33 -07:00
Emily Eisenberg
ad97dab19c Update fonts from MathJax
Summary:
Also, rename all of our uses of fonts to use the uppercased versions. We want to
use the uppercase versions because it makes updating and modifying the fonts
much easier (since the font names inside the actual font files are uppercased).

Test Plan:
  - Make sure the huxley screenshots look good (You can compare a diff of them
    on github at
    f90d093361
    By my eye, it seems like some things have moved up ~1/2 pixel, and some of
    the fonts have maybe slightly changed shape, like the large `b` in
    SizingBaseline)

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D11979
2014-08-06 17:52:26 -07:00
Emily Eisenberg
fe6b67817c Add support for \overline
Summary:
Follow the instructions in the TeX book for drawing \overlines. This uses the
same code as fractions to produce the bars. Also added the ability to cramp
styles (i.e. T -> T' and T' -> T').

Test Plan:
 - Look at `\overline{x}`, `\overline{\dfrac{x}{y}+z}`, and
   `\blue{\overline{x}}` to make sure they look good.
 - Make sure the tests work
 - Make sure the huxley tests look good (Not here yet :( )

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D11604
2014-08-05 17:48:10 -07:00
Emily Eisenberg
5756be048c Rename variables from @size-# to @size#
Match the naming styles used for the css styles in the variable names.

Test Plan:
 - Make sure `x\Huge x \tiny x \Huge x` renders correctly.
 - Make sure the huxley tests stay the same

Auditors: alpert
2014-08-05 16:52:25 -07:00
Emily Eisenberg
100798847b Add delimiter sizing
Summary:
Make delimiter sizing work. This involved
 - Adding the symbols for the remaining delimiters (like `\lfloor` and `\{`)
 - Adding metrics for the size1, size2, size3, and size4 fonts
 - Parsing delimiter sizing functions
 - Using the big fonts when possible, otherwise building large copies of the
   delimiters from scratch

Test Plan:
 - See that
   `\bigl\uparrow\Bigl\downarrow\biggl\updownarrow\Biggl\Uparrow
    \Biggr\Downarrow\biggr\Updownarrow\bigm/\Bigm\backslash\biggm|
    \Biggm|\big\lceil\Big\rceil\bigg\langle\Bigg\rangle\bigl(\Bigl)
    \biggl[\Biggl]\Biggr\{\biggr\}\Bigr\lfloor\bigr\rfloor`
   parses correctly (this contains all of the delimiters, and all of the sizing
   modes)
 - See that the huxley tests didn't change, and the new one looks good
 - See the normal tests work

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D7844
2014-08-05 16:43:43 -07:00
Emily Eisenberg
07e8d468de Start using a docker to take huxley screenshots
These are the current screenshots using the docker created with this Dockerfile:

https://gist.github.com/xymostech/68d885cb6a4ff7a6e2ed

The screenshots are deterministic, so this will be the preferred way to create
huxley screenshots from now on.

Auditors: alpert
2014-08-05 14:38:18 -07:00
Peter Krautzberger
143d071df0 Merge pull request #870 from Gefrierbrand/develop
Create composer.json
2014-08-05 20:57:57 +02:00
Peter Krautzberger
14f8b4a7ab Merge pull request #886 from pkra/issue816
remove version number from bower.json
2014-08-04 21:58:17 +02:00
Peter Krautzberger
71e318315c remove version number from bower.json to avoid (user) confusion; bower ignores it anyway 2014-08-04 17:18:08 +02:00
Davide P. Cervone
0864dfcd79 Remove commas that confuse IE8, work around IE8 problem with insertBefore when second argument is negative, fix mspaces with negative width, and add a hack to avoid negative spaces after \int to adjust for different spacing between CM and Times fonts. 2014-07-29 06:49:24 -04:00
Davide P. Cervone
781689e7e4 First version of CommonHTML output jax 2014-07-28 17:42:51 -04:00
Ben Alpert
8cf72d9901 Add \_
Test Plan: http://0.0.0.0:7936/?text=%5Cpink%7B80%7D%2C%20%5C_%5C_%5C_%2C%20%5Cgreen%7B100%7D

Auditors: emily
2014-07-23 20:25:57 -07:00
Ben Alpert
6dd6032ebc Add permalink button to test page
Auditors: emily
2014-07-23 20:24:09 -07:00
Davide P. Cervone
7aab884fd0 Merge pull request #874 from pkra/nodejs
merging @dpvc's Nodejs branch into develop.
2014-07-21 10:06:35 -04:00
Davide P. Cervone
41df4b5cfa Merge pull request #864 from pkra/issue863
fixes #863
2014-07-18 11:42:38 -04:00
Nikolai Neff
38c5ad2196 Create composer.json 2014-07-16 19:28:44 +02:00
Emily Eisenberg
a66d285532 Switch from using huxley to node-huxley
Huxley had some strange problems where screenshots kept getting messed up by
becoming different sizes than they were before. Node-huxley seems to have fixed
this problem, so we'll try using that instead.

Also, fix the sizing tests to the new syntax.

Auditors: alpert
2014-07-10 18:28:43 -07:00
Emily Eisenberg
02935f7dde Add an 'implicit group' parser, use with sizing
Summary:
Implicit groups are objects that act like groups but don't have brackets around
them. This is used for things like sizing functions or font-change functions
that can occur in the middle of the group, but act like they apply to a group
after them which stops when the current group stops. E.g. `Hello {world \Large
hello} world` produces normal, normal, Large, normal text. (Note, I just came up
with the name implicit group, I don't think this is actually how it is parsed in
LaTeX but it fits nicely with the current parsing scheme and seems to work
well).

For now, apply this to the sizing functions (we don't have any other functions
that act like this). Also note that this doesn't really do much practically
because we limit sizing functions to only be on the top level of the expression,
but it does let people do `\Large x` and get a large `x`, without having to add
braces.

Test Plan:
 - Run the tests, see they work
 - Make sure `abc \Large abc` looks correct

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D10876
2014-07-10 16:06:19 -07:00
Peter Krautzberger
682bc7969e fixes #863 -- math.cloneNode should be set to true 2014-07-10 12:47:30 +02:00
Davide P. Cervone
44ee2cf762 Don't remove entities or newlines from <annotation> elements. Resolves issue #847. 2014-06-24 17:23:14 -04:00
Davide P. Cervone
d06675ae89 Mark SVG spans as MathJax ones properly. 2014-06-24 16:40:52 -04:00
Davide P. Cervone
6912edadbb Merge branch 'v2.4-latest' into develop 2014-06-13 05:37:18 -04:00
Davide P. Cervone
1c54436ae6 Merge branch 'v2.4-latest'. Release of version 2.4.0. 2014-06-13 05:36:42 -04:00
Davide P. Cervone
60e0a8c5cd Added CONTRIBUTING.md from Peter's branch 2014-06-12 11:30:50 -04:00
Davide P. Cervone
88de247409 Repack and recombine previous commit. 2014-06-12 10:16:28 -04:00
Davide P. Cervone
bbb5f6084b Put back mtdWidthBug for FF since it is still not right. Issue #813. 2014-06-12 10:15:32 -04:00
Davide P. Cervone
e28151126b Update README-branch.txt 2014-06-12 05:53:53 -04:00
Davide P. Cervone
1a895e2a7c Update version numbers, repack, and recombine 2014-06-12 05:53:13 -04:00
Davide P. Cervone
12313a6629 Add missing array in signal data 2014-06-08 21:09:00 -04:00
Davide P. Cervone
f9afa15ecc Correct ID for global glyph lookup 2014-06-08 21:08:31 -04:00
Davide P. Cervone
6dfaf0e464 Add comments 2014-06-08 21:00:01 -04:00
Davide P. Cervone
6ab067a14c Switch beta.mathjax.org to cdn.mathjax.org (since https users will never get this beta MathJax.js anyway). 2014-06-01 11:37:08 -04:00
Davide P. Cervone
b29833de63 Repack and recombine 2.4-beta-2 2014-06-01 11:35:06 -04:00
Davide P. Cervone
d92ae61db1 Fix variable reference turned up by packer 2014-06-01 10:54:47 -04:00
Davide P. Cervone
2e9b3c7c60 Make this rev=2.4-beta-2, and turn rackspace https into beta.mathjax.org (this will need to be changed to cdn.mathjax.org for the final release). 2014-06-01 10:41:27 -04:00