title('str​ing1_strin​g2'): Stop automatic subscripts?

92 次查看(过去 30 天)
I have a code that goes through many files and creates many plots that I distribute to different users. The plots are automatically titled (thank the heavens) to be whatever the file name is using the simple title() command.
Almost all of the files have an underscore in there somewhere, but it is never consistent.
'file_23', 'data_is_here', 'test_v13'
While it is not critical, its quite annoying that the title() command automatically wants to automatically assume that it should not print the underscore, but instead print the next letter as a tiny subscript.
Is there a way to disable this automatic feature? I want to print the underscore rather than make a subscript, however it is not practical for me to try to replace all the underscores with '\_'.
Just wondering if its something easy to disable.

采纳的回答

Image Analyst
Image Analyst 2014-10-8
You have to set the interpreter to 'none' . Not sure the others knew of this or remembered it. But let's say that your file name has an under line in it and you want to see the underline. Simply do
title(filename, 'Interpreter', 'none');
Now the character after the underline will not be a subscript. It is documented in the title() documentation though it may not be so obvious.
  1 个评论
Andrew Reibold
Andrew Reibold 2014-10-8
编辑:Andrew Reibold 2014-10-8
Perfect. This is exactly the kind of solution I was looking for, thank you.
Thanks for the other answers too, upvotes for all, they might help someone else out. Its just that the code I inherited is just an absolute catastrophe when it comes to formatting and practice. It would take me a few pages of text to describe to you why the solutions suggested aren't/won't work as is. I'm sure we could have eventually figured something out with a few pages of more detail, but Image Analysts solutions works perfectly for my scenario, its easy, and I'm slightly embarrassed I didn't already know about it. I'm sure I set the Interpreter before, maybe as recent as a year ago, and I just totally forgot about it and couldn't find it again.

请先登录,再进行评论。

更多回答(2 个)

Star Strider
Star Strider 2014-10-8
‘it is not practical for me to try to replace all the underscores with '\'.’_
It can be. Use strrep:
ttls = {'file_23', 'data_is_here', 'test_v13'};
ttlsr = strrep(ttls, '_', '\_');
produces:
ttlsr =
'file\_23' 'data\_is\_here' 'test\_v13'

Azzi Abdelmalek
Azzi Abdelmalek 2014-10-7
编辑:Azzi Abdelmalek 2014-10-7
Use
title('file\_23')

Community Treasure Hunt

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

Start Hunting!

Translated by