Comments (3)
This is technically not a bug, but an unimplemented feature. There is no special handling for passing a MathObject to TikZ in this manner. What is happening is that the MathObject formula is interpolated into the string via MathObject stringification. That will most likely cause problems in quite a few scenarios as MathObject stringification isn't designed to produce what the pgfplots package needs.
from pg.
Glenn is right and in general we want to be aware of things like brackets and any other thing that could be in MathObjects string output that is not good for whatever latex image-making tool is being used. The feature to use tikz in WeBWorK problems did not come with a promise that \addplot {$f};
would always work.
One thing you can do is Context()->flags->set(showExtraParens => 0);
. This will reduce instances of nested grouping symbols. In your case, it leads to 0.1*(x--1)*(x--2)*(x-4)
which pgfplots has no problem with.
In this particular case, you can also use reduce
like:
$f=Formula("$a*(x-$r)*(x-$s)*(x-$t)")->reduce;
leading to 0.1*(x+1)*(x+2)*(x-4)
which is of course also good.
from pg.
Thanks. I guess this became less of a bug report and more of a feature request. But simply reducing first would help here (and is probably good practice in any case).
Other pitfalls will likely require manual entry of functions into TikZ: e.g. domain for trig functions needs to be converted to degrees.
from pg.
Related Issues (20)
- Bug when a matrix Math Object is reused as an answer HOT 10
- PGML.pl has lines that should have been removed. HOT 1
- checkboxlist within a RadioMultiAnswer HOT 4
- Using upToConstant with complex numbers HOT 4
- keyboard issue with GraphTool HOT 8
- inconsistency in multiple choice macros HOT 4
- run-perltidy deletes .bak files
- Error answers now are escaped when they shouldn't be. HOT 1
- Cropping from pgfplots is not always working for final SVG output HOT 13
- variables declared with `my` lead to errors HOT 1
- student answers get spaces normalized
- iframeResizer, feedback popover, and mqeditor HOT 16
- Updating AnswerFormatHelp.pl HOT 5
- Viewing all correct answers at the same time HOT 4
- PTX "image" tag getting changed to "img" HOT 5
- error with brace and x HOT 9
- PG editor not decoding as expecting HOT 1
- macros/graph/PGnauGraphics.pl doesn't use unique name, which can break tests. HOT 1
- CheckboxList reveals the correct answers HOT 3
- MathQuill toolbar placement in a relatively positioned parent - bug when in an RTL course. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pg.