سلام.
دو پاسخ برای شما دارم که به اشتراک می گذارم:
1- اگر تلاش بر این است که عیناً از کدی که در پاسخ 1 گذاشته اید استفاده شود، من هرچه سعی کردم نتوانستم خروجی مناسبی از کد به اشتراک گذاشته شده بگیرم. اما می توانم دو نکته در مورد این کد یاد آور بشوم که احتمالاً برخی از مشکلات شما را برطرف نماید:
الف) اول اینکه در جدولی که مثلا 10 ستون دارد باید برای دریافت خروجی مناسب دقیقاً 10 بار c به عنوان پارامتر محل متن در ستون ها گذاشته شود:
\begin{tabular}{|c|c|c|ccccccc|}
ب) دوم اینکه اگر قسمتی از جدول شما بیرون از کادر عرضی صفحه می رود می توانید از دستور resizebox برای تغییر اندازه جدول به اندازه دلخواه خود استفاده کنید. این دستور در بسته graphicx قرار دارد و بنابراین باید این بسته را نیز فراخوانی نمایید:
\documentclass{article}
...
\usepackage{graphicx}
\begin{document}
...
\begin{table}[ht]
\caption{Numerical results for the test problem.}\label{tabliddriven}
\resizebox{\textwidth}{!}{
\begin{tabular}{|c|c|c|ccccccc|}
% The content of your table ….
\end{tabular}
}
\end{table}
\end{document}
2- اما راه حل دوم روش مورد علاقه من است (البته انتظار ندارم که این روش مورد علاقه دیگران هم باشد، چرا که انسان ها با طبع های خاص خود آفریده شده اند). در این روش شما که از نرم افزار متلب برای گرفتن داده های خود استفاده می نمایید، می توانید از همان نرم افزار برای گرفتن جدول مربوط به قسمتی از داده ها استفاده نمایید و سپس این جدول که با فرمت Tex نوشته شده است را به متن اصلی خود با دستور input وارد نمایید:
برای نمونه دستور متلب زیر را قرار داده ام:
% Here is the codes you use to evaluate your vectors, say V1,V2 and V3
numberOfCols=5;
numberOfRows=3;
V1 = ones(1,numberOfCols);
V2 = ones(1,numberOfCols).*2;
V3 = ones(1,numberOfCols).*3;
% Now you can write the table to tex file
%% you can also use %% to show a section and run just this section to get your tex file.
filename = 'testTableFile.tbl';
fId = fopen(filename,'w');
fprintf(fId,strcat(...
'\\begin{table}[ht]\n',...
'\\caption{Numerical results for the test problem.}\n',...
'\\label{tabliddriven}\n',...
'\\scriptsize\n',...
'\\resizebox{\\textwidth}{!}{\n',...
'\t\\begin{tabular}{',...
repmat('|c',1,numberOfCols),... % To create '|c|c|c|c|c'
'|}\n'));
% Here is the first Row --> Headers
fprintf(fId,'\t\t\\hline\n');
fprintf(fId,'\t\t first col & second col & 3rd col & 4th col & 5th col');
% Here is the second Row --> First Vector : V1
fprintf(fId,'\t\t\\\\\\hline\n\t\t');
for c=1:numberOfCols-1
fprintf(fId,strcat(num2str(V1(c)),' & '));
end
fprintf(fId,strcat(num2str(V1(numberOfCols)))); % Here is the last column.
% Here is the third Row. --> Second Vector : V2
fprintf(fId,'\t\t\\\\\\hline\n\t\t');
for c=1:numberOfCols-1
fprintf(fId,strcat(num2str(V2(c)),' & '));
end
fprintf(fId,strcat(num2str(V2(numberOfCols)))); % Here is the last column.
% Here is the third Row. --> Third Vector : V3
fprintf(fId,'\t\t\\\\\\hline\n\t\t');
for c=1:numberOfCols-1
fprintf(fId,strcat(num2str(V3(c)),' & '));
end
fprintf(fId,strcat(num2str(V3(numberOfCols)))); % Here is the last column.
fprintf(fId,'\t\t\\\\\\hline\n\t\t');
fprintf(fId,strcat(...
'\t\\end{tabular}\n',...
'}\n',...
'\\end{table}'));
fclose(fId);
%% End of the previous sectoin and start of a new section
به این ترتیب کافیست در پوشه ای که فایل متلب خود را دارید، فایل tex را هم قرار بدهید. یک کد کمینه برای فایل tex را برایتان آورده ام:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\input{testTableFile.tbl}
\end{document}
و این هم خروجی که از مثال فوق به دست می آوریم:
موفق و پیروز باشید.