Skip to main content

front end - Difference between double quotes


I have a notebook and I enter something like


PlotLabel->"my label with dynamic number "<>ToString[strange]

and I get errors like


doubleQuoteMess



However, the double quotes in the input cell were exactly copied and pasted from this posting and they became different on pasting to the notebook: The first one became slanted like a slash, the second like a backslash. There is - as the error message shows - a third type of double quote, a purely vertical one. I am used to Mathematica 4.0 where the vertical one was the one which came when I press Shift-2 and this was the right one to be used for string delimiters.


How do I force Mathematica to always produce the vertical double quote rather than any other flavours of different double quotes - and by the way: what is the significance


- of the double quote slanted like a slash


and


- of the double quote slanted like a backslash


in the *Wolfram Language? (Unfortunately, if I copy them to this posting front end, they all turn to the vertical double quote character).


Addendum (2014-10-17):


If I replace the slanted double quotes by a vertical ones, the plot command works:


this one works (with vertical double quotes)


whereas this one does not, but maybe the error message gives a hint. It seems to me to be be more a problem of input to Mathematica rather than evaluation of the Wolfram Language:



this one does not work


Today, trying around more with it, I found out that it depends on the notebook: in some notebooks, Shift-2 always delivers vertical double quotes, in some they come as slanted ones, sometimes even the first double quote in a line is a back-slanted one whereas all subsequent double quotes become slash-slanted:


different double quotes in an input cell


If this matters: The cell in the notebook with the strange double quote behaviour is an input cell, Cell>Convert To> shows "Input Form", the cell is open, editable and evaluatable, the cell bracket is a simple one without any extra decoration at the ends, just plain hook (see screenshots above).



Answer



According to http://forums.wolfram.com/mathgroup/archive/2010/Dec/msg00797.html there is an option under preferences:


Edit > Preferences > Interface


with two checkboxes:


Enable smart quotes for normal text editing and when pasting


As soon as I uncheck them both, the maze is gone: Shift+2 then produces vertical double quotes (the right ones to be used as string delimiters) rather than different slanted ones (are they meant to distinguish between opening and closing some quoted text?)



Bingo!


Comments

Popular posts from this blog

front end - keyboard shortcut to invoke Insert new matrix

I frequently need to type in some matrices, and the menu command Insert > Table/Matrix > New... allows matrices with lines drawn between columns and rows, which is very helpful. I would like to make a keyboard shortcut for it, but cannot find the relevant frontend token command (4209405) for it. Since the FullForm[] and InputForm[] of matrices with lines drawn between rows and columns is the same as those without lines, it's hard to do this via 3rd party system-wide text expanders (e.g. autohotkey or atext on mac). How does one assign a keyboard shortcut for the menu item Insert > Table/Matrix > New... , preferably using only mathematica? Thanks! Answer In the MenuSetup.tr (for linux located in the $InstallationDirectory/SystemFiles/FrontEnd/TextResources/X/ directory), I changed the line MenuItem["&New...", "CreateGridBoxDialog"] to read MenuItem["&New...", "CreateGridBoxDialog", MenuKey["m", Modifiers-...

How to thread a list

I have data in format data = {{a1, a2}, {b1, b2}, {c1, c2}, {d1, d2}} Tableform: I want to thread it to : tdata = {{{a1, b1}, {a2, b2}}, {{a1, c1}, {a2, c2}}, {{a1, d1}, {a2, d2}}} Tableform: And I would like to do better then pseudofunction[n_] := Transpose[{data2[[1]], data2[[n]]}]; SetAttributes[pseudofunction, Listable]; Range[2, 4] // pseudofunction Here is my benchmark data, where data3 is normal sample of real data. data3 = Drop[ExcelWorkBook[[Column1 ;; Column4]], None, 1]; data2 = {a #, b #, c #, d #} & /@ Range[1, 10^5]; data = RandomReal[{0, 1}, {10^6, 4}]; Here is my benchmark code kptnw[list_] := Transpose[{Table[First@#, {Length@# - 1}], Rest@#}, {3, 1, 2}] &@list kptnw2[list_] := Transpose[{ConstantArray[First@#, Length@# - 1], Rest@#}, {3, 1, 2}] &@list OleksandrR[list_] := Flatten[Outer[List, List@First[list], Rest[list], 1], {{2}, {1, 4}}] paradox2[list_] := Partition[Riffle[list[[1]], #], 2] & /@ Drop[list, 1] RM[list_] := FoldList[Transpose[{First@li...

functions - Get leading series expansion term?

Given a function f[x] , I would like to have a function leadingSeries that returns just the leading term in the series around x=0 . For example: leadingSeries[(1/x + 2)/(4 + 1/x^2 + x)] x and leadingSeries[(1/x + 2 + (1 - 1/x^3)/4)/(4 + x)] -(1/(16 x^3)) Is there such a function in Mathematica? Or maybe one can implement it efficiently? EDIT I finally went with the following implementation, based on Carl Woll 's answer: lds[ex_,x_]:=( (ex/.x->(x+O[x]^2))/.SeriesData[U_,Z_,L_List,Mi_,Ma_,De_]:>SeriesData[U,Z,{L[[1]]},Mi,Mi+1,De]//Quiet//Normal) The advantage is, that this one also properly works with functions whose leading term is a constant: lds[Exp[x],x] 1 Answer Update 1 Updated to eliminate SeriesData and to not return additional terms Perhaps you could use: leadingSeries[expr_, x_] := Normal[expr /. x->(x+O[x]^2) /. a_List :> Take[a, 1]] Then for your examples: leadingSeries[(1/x + 2)/(4 + 1/x^2 + x), x] leadingSeries[Exp[x], x] leadingSeries[(1/x + 2 + (1 - 1/x...