## How can I place the \, _, or ^ characters in a text command?

### MathWorks Support Team (view profile)

on 21 Nov 2011
Latest activity Commented on by Walter Roberson

### Walter Roberson (view profile)

on 6 Dec 2015
Accepted Answer by MathWorks Support Team

### MathWorks Support Team (view profile)

I am using text commands: text, title, xlabel and ylabel, to label my plot. I want the ' \ ' (backslash) , ' _ ' (underscore) and ' ^ ' (caret) symbols to appear in the text, but whenever I place them in, it alters the text.

For example, typing ^t makes the "t" a superscript, _w makes "w" a subscript, and \theta makes a Greek character.

For instance, if I try to label my graph Experiment_6, the 6 is subscripted:

title('Experiment_6')


## Products

### MathWorks Support Team (view profile)

on 21 Nov 2011

MATLAB 5 introduced TeX characters for formatting text objects. The underscore character " _ " is interpreted by MATLAB as a subscript command. The backslash command " \" is interpreted by MATLAB to indicate that a TeX command is next. The caret character " ^" is interpreted by MATLAB as a superscript command.

In these examples, the interpreter is formatting the w as subscript, the t as superscript, and the \theta as a TeX command (which happens to draw the Greek letter Theta).

One way to bypass the interpreter and have the characters appear as typed, is to use the backslash character ( \ ) before the LaTeX command. For example:

\_w will make _w appear in your text

\^t will make ^t appear in your text

\\theta will make \theta appear in your text

Alternatively, you can set the "Interpreter" property of the text object to 'none'. For example:

title('Experiment_6','Interpreter','none')


or

t = title('Experiment_6')

set(t,'Interpreter','none')


To set the default Text 'Interpreter' property to 'none' so that no TeX character in a text string is interpreted at the root level, issue the following command:

set(0,'DefaultTextInterpreter','none')


Burkely Pettijohn

### Burkely Pettijohn (view profile)

on 5 Dec 2015

Long time listener first time caller. Take it easy on a noob

I am finding that this isn't working for the carrot. I don't know if it is because it is before a variable or what, but because it is before a variable I cant just raise the number either. Here is my code, I trying to add the function of the fit. I've tried it both ways shown below and neither works

old_cells = sprintf('Old cells: Y = %3.3f (X) \^ %1.3f',coefs_old);

young_cells = sprintf('Young cells: Y = %3.3f (X) ^%1.3f',coefs_young);

legend(old_cells,young_cells,4)

Walter Roberson

### Walter Roberson (view profile)

on 6 Dec 2015

It is because the \ is special to sprintf() . You should use

old_cells = sprintf('Old cells: Y = %3.3f (X) \\^ %1.3f',coefs_old);
young_cells = sprintf('Young cells: Y = %3.3f (X) \\^%1.3f',coefs_young);


MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi