![将列表数字移到 Matlab Prettifier 中的框架框之外](https://linux22.com/image/344805/%E5%B0%86%E5%88%97%E8%A1%A8%E6%95%B0%E5%AD%97%E7%A7%BB%E5%88%B0%20Matlab%20Prettifier%20%E4%B8%AD%E7%9A%84%E6%A1%86%E6%9E%B6%E6%A1%86%E4%B9%8B%E5%A4%96.png)
问题是解决方案在这里给出。
如何删除mcode
包以便清单 1 - 3 具有与最后一个清单类似的 Matlab 代码并且还包含框外的行号:
原始解决方案如下哈巴德茨:
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{xcolor}
\tcbuselibrary{listings,skins}
\usepackage[numbered,framed,autolinebreaks,useliterate]{matlab-prettifier}
\lstdefinestyle{mystyle}{
numbers=left,
numberstyle=\small,
numbersep=8pt,
%language=Matlab,
style=Matlab-editor,
basicstyle=\ttfamily\small,
frame=none
}
\newtcblisting{mylisting}[2][]{
arc=0pt, outer arc=0pt,
listing only,
colback=blue!10,
colbacktitle=blue!75!black,
listing style=mystyle,
title=#2,
#1
}
\begin{document}
\begin{mylisting}{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox]{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox,enhanced,drop shadow]{Accuracy Calculation}
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{mylisting}
\begin{lstlisting}[
backgroundcolor=\color{blue!05},
style=Matlab-editor,
basicstyle=\ttfamily\small
]
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{lstlisting}
\end{document}
答案1
如果您只想移动数字,可以使用numbersep=25pt
或类似方法快速破解。但是,这不会改变代码块周围的边距,它们仍然与最后一个代码块中的边距不同。
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{xcolor}
\tcbuselibrary{listings,skins}
\usepackage[numbered,framed,autolinebreaks,useliterate]{matlab-prettifier}
\lstdefinestyle{mystyle}{
numbers=left,
numberstyle=\small,
numbersep=8pt,
%language=Matlab,
style=Matlab-editor,
basicstyle=\ttfamily\small,
numbersep=25pt,
frame=none
}
\newtcblisting{mylisting}[2][]{
arc=0pt, outer arc=0pt,
listing only,
colback=blue!10,
colbacktitle=blue!75!black,
listing style=mystyle,
title=#2,
#1
}
\begin{document}
\begin{mylisting}{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox]{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox,enhanced,drop shadow]{Accuracy Calculation}
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{mylisting}
\begin{lstlisting}[
backgroundcolor=\color{blue!05},
style=Matlab-editor,
basicstyle=\ttfamily\small
]
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{lstlisting}
\end{document}
编辑:
对于第一个框,边距可以按如下方式调整:
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{xcolor}
\tcbuselibrary{listings,skins}
\usepackage[numbered,framed,autolinebreaks,useliterate]{matlab-prettifier}
\lstdefinestyle{mystyle}{
numbers=left,
numberstyle=\small,
numbersep=8pt,
%language=Matlab,
style=Matlab-editor,
basicstyle=\ttfamily\small,
xleftmargin=-12pt,
aboveskip=-6pt,
belowskip=-6pt,
frame=none
}
\newtcblisting{mylisting}[2][]{
arc=0pt, outer arc=0pt,
listing only,
colback=blue!10,
colbacktitle=blue!75!black,
listing style=mystyle,
title=#2,
#1
}
\begin{document}
\begin{mylisting}{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox]{}
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
\end{mylisting}
\begin{mylisting}[hbox,enhanced,drop shadow]{Accuracy Calculation}
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{mylisting}
\begin{lstlisting}[
backgroundcolor=\color{blue!05},
style=Matlab-editor,
basicstyle=\ttfamily\small
]
%% Accuracy Calculation
Equal_Rows = find(diff(matrix_rec,[],2) == 0);
percent_success = (size(Equal_Rows,1)/numFolders) * 100
%% Save data to be used in pgfplots
switch nn
case 1
fileID = fopen('PCA_KNN1.dat','w');
case 2
fileID = fopen('PCA_KNN2.dat','w');
end
\end{lstlisting}
\end{document}