Syntax
:
count = cprintf(style,format,...)
深,ion
:
CPRINTF processes the specified text using the exact same FORMAT arguments accepted by the built-in SPRINTF and FPRINTF functions.
CPRINTF then displays the text in the Command Window using the specified STYLE argument. The accepted styles are those used for Matlab's syntax highlighting (see: File / Preferences / Colors / M-file Syntax Highlighting Colors), and also user-defined colors.
The possible pre-defined STYLE names are:
'Text' - default: black
'Keywords' - default: blue
'Comments' - default: green
'Strings' - default: purple
'UnterminatedStrings' - default: dark red
'SystemCommands' - default: orange
'Errors' - default: light red
'Hyperlinks' - default: underlined blue
'Black','Cyan','Magenta','Blue','Green','Red','Yellow','White'
STYLE beginning with '-' o '_' will be underlined. For example:
'-Blue' => underlined blue, like 'Hyperlinks'
'_Comments' => underlined green
STYLE beginning with '*' will be bold (R2011b+ only). For example:
'*Blue' is bold blue;
'*Comments' is bold green etc.
Note: Matlab does not currently support both bold and underline, only one of them can be used in a single cprintf command. But of course bold and underline can be mixed by using separate commands.
STYLE colors can be specified in 3 variants:
[0.1, 0.7, 0.3]
- standard Matlab RGB color format in the range 0.0-1.0
[26, 178, 76]
- numeric RGB values in the range 0-255
'#1ab34d'
- Hexadecimal format in the range '00'-'FF' (case insensitive). 3-digit HTML RGB format is also accepted: 'a5f' = 'aa55ff'
STYLE can be underlined by prefixing - : -[0,1,1] or '-#0FF' is underlined cyan
STYLE can be made bold by prefixing * : '*[1,0,0]' or '*#F00' is bold red
STYLE is case-insensitive and accepts unique (non-ambiguous) partial strings (for example, 'cy' instead of 'cyan').
Usage examples
(see results in the attached screenshot):
cprintf; % displays the demo
cprintf('text', 'regular black text');
cprintf('hyper', 'followed %s','by');
cprintf('key', '%d colored', 4);
cprintf('-comment','& underlined');
cprintf('err', 'elements\n');
cprintf('cyan', 'cyan');
cprintf('_green', 'underlined green');
cprintf(-[1,0,1], 'underlined magenta');
cprintf('*blue', 'and *bold* (R2011b+ only)\n');
cprintf([1,0.5,0],'and multi-\nline orange\n');
Bugs and suggestions
:
Please send to Yair Altman (altmany at gmail dot com)
警告
:
This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!
See details & current limitations in the main help section