84

Basic method There appears to be a mechanism for doing just that, though I have yet to map its capabilities. As a basic example for the time being: Themes`AddThemeRules["wizard", DefaultPlotStyle -> Thread@Directive[{Purple, Orange, Hue[0.6]}, Thick], LabelStyle -> 18, AxesStyle -> White, TicksStyle -> LightGray, Background -> ...


47

Illuminated by @Mr.Wizard's answer, here I provide a complete example of a self-made plot theme, called "Academic". It can be used as a base theme. The axes feature theme is based on the theme "AxesFrame" of "Scientific" with {Black, AbsoluteThickness[1], FontSize -> 12} axes/frames. The color feature theme is based on "VibrantColor" with modifications ...


37

There is an undocumented file in the installation directory named specialArgFunctions.tr: NotebookOpen @ FileNameJoin @ { $InstallationDirectory, "SystemFiles", "FrontEnd", "SystemResources" , "FunctionalFrequency", "specialArgFunctions.tr" } This file describes in detail how to attach completion actions to each parameter of listed functions. For ...


35

Extending ColorData For some background consider reading this bookmarked conversation. The color scheme data itself is accessed through the definition of this Symbol: DataPaclets`ColorDataDump`colorSchemes The data is located by use of the list defined in: DataPaclets`ColorDataDump`colorSchemeNames That is to say the scheme is extracted using (slightly ...


31

I wrote the ColorBar package exactly for this purpose and it makes such modifications easy. The README.m should give you all the instructions you need, but I'll summarize it here. After installing the package (copy ColorBar.m to FileNameJoin[{$UserBaseDirectory, "Applications"}]), do the following: ColorBar["TemperatureMap"] Now you can click on the left ...


27

Even though this question has been flagged as answered, I think the answers are more complicated than they need to be (with respect to the authors). I offer the following, which takes advantage of FrameTics: (*create 2 lists*) x1 = Accumulate[RandomVariate[NormalDistribution[0, 1], 100]]; x2 = 25 Accumulate[RandomVariate[NormalDistribution[0, 1], 100]]; (*...


27

Thanks to the hint by Jason. It is called AutoMultiplicationSymbol. It can be turned off in the Option Inspector: It worked. Now × does not show up. Version 11.1 on windows 7.


25

OP seems to be mostly interested in Mathematica's built-in capabilities for grammar definition, parsing, and interpretation, but I think some of the questions asked can be seen and answered within a more general development perspective. General Building on the natural language interface used with Mathematica would be a great project. Any advice if this ...


25

We can get old-style messages using Internal`$MessageMenu = False Needless to say, this is unsupported and undocumented functionality.


24

Before you start using this, be aware that this is all undocumented and unsupported functionality. It may change at any time, it may crash Mathematica, and it may bite you when you least expect it. I wouldn't be surprised if it turned out that incorrect use messes up the internal state of the front end. Use at your own risk. I tried the examples I show ...


24

You can see what can be done by running (maybe inspecting it in a browser first) Get["http://www.mertig.com/shortcuts.m"] This code will generate a modified copy of the default KeyEventTranslations.tr in : FileNameJoin[{$UserBaseDirectory, "SystemFiles", "FrontEnd", "TextResources", Switch[$OperatingSystem, "MacOSX", "Macintosh", "...


22

Thanks for asking this question; I might not have discovered this customizable area without it. The auto-completion option values are automatically loaded on Front End start from: FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd", "SystemResources", "FunctionalFrequency", "OptionValues"}] This directory contains a series of Package (.m) ...


22

Ok, here's a very brief toy example while I don't have access to my desktop computer at work. It's easy enough to figure out, that a LogPlot of f is basically the plot of Log[f[x]]. And A LogLinearPlot is the plot of f[Exp[x]]. But we can extend this to arbitrary scalings of the axes. I start with defining a piecewise function which maps x values between 0 ...


22

Revision history: v0.8.0 (06-07-2018) VerificationTest template v0.7.0 (21-02-2018) V10.4 support As of v0.7.0 code templates should work in V10.4. Yes, in a beta stage at the moment. Feedback appreciated. Should work on Win/MacOs. https://github.com/kubaPod/DevTools Setup (*additional package I use to install github assets' paclets, you ...


21

If you are comfortable using undocumented and unsupported functionality we can do this with a ScalingFunctions option as I did for ListLogLinearPlot for the whole real numbers. (* listability *) (self : fn[off_, scale_])[x_List] := self /@ x (self : invfn[off_, scale_])[x_List] := self /@ x fn[off_, scale_][x_?NumericQ] := If[x < off, Log[x], x/...


20

I have this palette open all the time: CreatePalette@Row@ { Button["(\[SelectionPlaceholder])", FrontEndExecute[ FrontEndToken[SelectedNotebook[], "SelectionParenthesize"]]], Button["[\[SelectionPlaceholder]]", FrontEndExecute[ FrontEndToken[SelectedNotebook[], "SelectionBracket"]]], Button["{\[...


20

Template Notebook I sunk some time into making a good template notebook for integrating with all this. It lives here: https://github.com/b3m2a1/mathematica-BTools/blob/master/Resources/Templates/ServiceConnectionTemplate.nb Original: If you just want the code I used to generate the paclet it lives here: PacletInstall["CustomServiceConnection", "Site"-&...


19

Personally I would use what bill_s suggested, Ctrl+A followed by Shift+Enter. But if you want to have one shortcut you can use what Timothy linked. Just add this line to the KeyEventTranslations.tr file: Item[KeyEvent["h", Modifiers -> {Control}], FrontEndExecute[FrontEndToken[SelectedNotebook[ ], "EvaluateNotebook"]]] it works for me. Your ...


18

Quick-n-dirty. I dispense with open/close bracket, trivial to put in if it matters: fn = ToExpression/@ImportString[StringReplace[#, ";" -> "\n"], "Table"] &; mymat = "2 4; 3 4 5 ; 5 6" // fn mymat2 = "a b;2 c; d 5" // fn {{2, 4}, {3, 4, 5}, {5, 6}} {{a, b}, {2, c}, {d, 5}}


18

Code See this for the main issue that made it take so long to get this up If you just want the service connection you can get it like this: PacletInstall["ServiceConnection_GoogleDrive", "Site"->"http://www.wolframcloud.com/objects/b3m2a1.paclets/PacletServer" ] Post So this turned out to be a bit of a bear to get the details right for, but not ...


17

Most compatible solution: The solutions provided are not compatible with plots that contain labels. Here's a solution with possibility to add options: TwoAxisListPlot[{f_, g_}, opts___] := Module[{fgraph, ggraph, frange, grange, fticks, gticks}, {fgraph, ggraph} = MapIndexed[ ListPlot[#, Axes -> True, PlotStyle -> ColorData[1][#2[[1]]], ...


17

Preamble I will interpret your question in the narrow context of customizibility. Most of the information can be found in the documentation, but is alas scattered over several places. Below I will attempt to assemble a single sequence, mostly using this source. Where my description deviates from it, I will put the LS sign indicating that what follows ismy ...


17

Yes! It is possible, although it takes some spelunking. Upon some searching with Names, I came across three relevant contexts where the predictive interface functions live: PredictiveInterface`, PredictiveInterfaceDump`, and Predictions`. This last one is where the action happens. Luckily, the symbols were only ReadProtected, and their source code was ...


16

Here is another approach which is based on converting the plot to PDF format first. It makes the tick marks accessible as regular Graphics objects. Specifically, they (and the frame) show up as open JoinedCurve that can be identified by pattern matching. That leads to the following: p = Plot[{Sin[x], Cos[x]}, {x, 0, 3 Pi}, Frame -> True, FrameStyle -&...


16

Supporting custom layers is on our to-do list, and should be ready for either 11.2 or 11.3. For interest: what applications do you want custom layers for? And how performant do you need your custom layer to be? (for example, do you want to be able to write your own CUDA implementation? Or are you happy with writing your own CPU layer?)


16

Update: So after adding the missing features I decided to give your actual problem a go. This is what I have: You'll note a little "Add Layer" ActionMenu on the right. That's really the only actual extension to the basic BlockBuilder[] interface I needed. Wasn't hard to get in. The Run function turned out to be something of a tough problem. I had ...


16

Define a new type of symbol (context) called highlight, SetOptions[$FrontEndSession, AutoStyleOptions -> {"SymbolContextStyles" -> {"highlight`" -> Green}}] AppendTo[$ContextPath, "highlight`"]; and before those important variables (symbols) appear for the first time, tell Mathematica to add them to the highlight context (e.g. var1 and ...


15

Here is the answer given by Rolf Mertig that includes many additional shortcuts. One of them Ctrl+t, evaluates whatever is stored in joker.m file (invoked by Ctrl+Shift+J). There are already two examples, coincidentally the second one is exactly what you need: NotebookApply[SelectedNotebook[], RowBox[{"\"", "\[SelectionPlaceholder]", "\""}], Before] Ok, ...


15

I would do it like this: The example graph g: g = Graph[{1 <-> 2, 2 <-> 3, 3 <-> 1}]; Desired locations of the vertice in result: vtxPosStore = Association[{ 1 -> {0, 0}, 2 -> {1, 0}, 3 -> {.5, 1} }]; Desired edge-shapes: edgeRoutingStore = Thread[# -> (Join[ ...


15

TL;DR; To set ShowGroupOpener on a global level, previously done by CurrentValue[$FrontEnd, ShowGroupOpener] = True, now use: CurrentValue[$FrontEnd, {StyleHints, "GroupOpener"}] = "OutsideFrame" This is what preferences menu does too. Further explanation The direct cause is Core.nb / All / Working style which, as a stylesheet setting, comes between the ...


Only top voted, non community-wiki answers of a minimum length are eligible