weird latex-interpreter problem in annotation when adding one line to table
    10 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Adam Zabicki
 am 30 Sep. 2020
  
    
    
    
    
    Beantwortet: Andreas Apostolatos
    
 am 12 Nov. 2021
            dear experts, 
trying to plot the data of a confusion matrix via annotations, i stumbled upon a weird effect and i really haven't any clue what could be the cause for this effect. 
a string, containing a latex formated table, is shown via an annotation textbox. in my example code, the upper table works fine. but, when just adding another row of data (e.g. duplicate the 'GHI' row), results in an Warning: Error updating TextBox. 
what am is missing???
%% example
clear all; close all;
%% this works fine
figure()
subplot(2,1,1); axis off;
strA = ['\begin{tabular}{lrllllllllll} \hline '...
' & & \multicolumn{10}{c}{\textbf{response}} \\ \cline{3-12}  '...
' & & \multicolumn{2}{c}{\textbf{ABC}} & \multicolumn{2}{c}{\textbf{DEF}} & \multicolumn{2}{c}{\textbf{GHI}} & \multicolumn{2}{c}{\textbf{KLM}} & \multicolumn{2}{c}{\textbf{total}} \\ '...
' & & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} \\ \hline '...
'\multicolumn{1}{c}{\textbf{target}} & \textbf{ABC}   & 205 & 89.9 & 6   & 2.6  & 1   & 0.4  & 16  & 7.0  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{DEF}   & 40  & 17.5 & 175 & 76.8 & 11  & 4.8  & 2   & 0.9  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{GHI}   & 9   & 3.9  & 4   & 1.8  & 202 & 88.6 & 13  & 5.7  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{KLM}   & 10  & 4.4  & 0   & 0    & 11  & 4.8  & 207 & 90.8 & 228 & 25 \\ '...
'\end{tabular}'];
ha = annotation('textbox',[0 0.5 1 0.5],...
    'EdgeColor', 'none',...
    'HorizontalAlignment','center',...
    'VerticalAlignment','middle',...
    'Interpreter', 'latex');
set(ha, 'String', strA);
%% NOW: just add copy one of the last four data-lines!!!
subplot(2,1,2); axis off;
strB = ['\begin{tabular}{lrllllllllll} \hline '...
' & & \multicolumn{10}{c}{\textbf{response}} \\ \cline{3-12}  '...
' & & \multicolumn{2}{c}{\textbf{ABC}} & \multicolumn{2}{c}{\textbf{DEF}} & \multicolumn{2}{c}{\textbf{GHI}} & \multicolumn{2}{c}{\textbf{KLM}} & \multicolumn{2}{c}{\textbf{total}} \\ '...
' & & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} & \multicolumn{1}{c}{No.} & \multicolumn{1}{c}{\%} \\ \hline '...
'\multicolumn{1}{c}{\textbf{target}} & \textbf{ABC}   & 205 & 89.9 & 6   & 2.6  & 1   & 0.4  & 16  & 7.0  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{DEF}   & 40  & 17.5 & 175 & 76.8 & 11  & 4.8  & 2   & 0.9  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{GHI}   & 9   & 3.9  & 4   & 1.8  & 202 & 88.6 & 13  & 5.7  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{GHI}   & 9   & 3.9  & 4   & 1.8  & 202 & 88.6 & 13  & 5.7  & 228 & 25 \\ '...
'\textbf{}                           & \textbf{KLM}   & 10  & 4.4  & 0   & 0    & 11  & 4.8  & 207 & 90.8 & 228 & 25 \\ '...
'\end{tabular}'];
ha = annotation('textbox',[0 0 1 0.5],...
    'EdgeColor', 'none',...
    'HorizontalAlignment','center',...
    'VerticalAlignment','middle',...
    'Interpreter', 'latex');
set(ha, 'String', strB);
thanks in advance,
adam
1 Kommentar
  Ameer Hamza
      
      
 am 30 Sep. 2020
				This seems to be a bug in the implementation of latex interpreter. Maybe consider filing a bug report: https://www.mathworks.com/support/bugreports/report_bug 
Akzeptierte Antwort
  Andreas Apostolatos
    
 am 12 Nov. 2021
        Hello everyone,
This post is already a little bit old, but I would like to provide with some information in case somebody else stumbles upon the same issue.
The issue in this case appears to lie in the dynamic memory that is handed to TeX for creating the table, which is not sufficient for larger tables. This oftentimes results in the error "TeX capacity exceeded", which indicates the fact that TeX would need additional dynamic memory to perform the table layout.
The only workaround in this case is to split up the table into smaller tables and stack them together. This way the TeX layout does not have to work on the entire table at once and thus the issue should no longer persist.
I hope that this information helps.
Kind regards,
Andreas
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu LaTeX finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


