a way to use an empty char cell in inputdlg

1 次查看(过去 30 天)
Hi, and Merry Christmas at all
I need to use an inputdlg box with La Tex interpreter setted at
options.Interpreter = 'tex';
my prompts return from a for loop; so I used sprintf function:
for i=1:3
w = sprintf('\\alpha\ %d', i);
e = sprintf('A %d', i);
r = sprintf('\\theta\ %d', i);
q = sprintf('D %d', i);
z = sprintf('\\sigma\ %d (rot=0, prism=1)', i);
Title = sprintf('LINK %d',i);
prompt = {w,e,r,q,z};
numlines=1;
answer=inputdlg(prompt,Title,numlines,defans, options);
but, since I don't care default answer, I thought to assign it an empty space like:
defans = {'','','','',''};
or
defans = cell(1,5);
defans{1} = char(defans{1});
defans{2} = char(defans{1});
defans{3} = char(defans{1});
defans{4} = char(defans{1});
defans{5} = char(defans{1});
but in both cases matlab returns the same warning message:
Warning: Escape sequence ' ' is not valid. See 'help sprintf' for valid escape
sequences.
I think because '' form is an Escape sequence for sprintf() function.
How can I use the LaTex interpreter and an empty space as default answer without Warning Message returning ?

采纳的回答

Jan
Jan 2012-12-29
编辑:Jan 2012-12-29
You need the string e.g. '\alpha 3'. You can create this by:
str = ['\alpha ', sprintf('%d', 3)]
or
str = sprintf('\\alpha %d', 3)
The backslash is the special character, which tells LaTeX that a command is following. The space is no valid format, such that '\ ' creates the shown error message.
The Backslash is a special character for sprintf also, e.g. '\n' means a line break. Therefore you have to escape it by another backslash, to get one backslash in the created string.
If this solves your problem, the question could be simplified:
How can I create a string, which is displayed by the LaTeX interpreter as "\alpha 3", where \alpha means the Greek character and the number is taken from a variable?

更多回答(1 个)

Walter Roberson
Walter Roberson 2012-12-24
backslash followed by space is not a valid sprintf() escape sequence.
Perhaps you need to use (e.g.) '\\\\alpha\\ %d'
  10 个评论
Walter Roberson
Walter Roberson 2012-12-28
What string is it that you would like to reach LaTex ?
Marco
Marco 2012-12-29
I would like to interpret alpha (as greek symbol) with the number of for-loop index i by %d.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Labels and Annotations 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by