
MATLAB에서 "행렬 나누기"를 나타내는 "x=A\b"를 mcode에서 어떻게 조판합니까? MWE는 다음과 같습니다.
\documentclass[12pt]{report}
\usepackage{amsthm,amsmath, amssymb, paralist, fancybox, listings, mathtools, verbatim, textcomp}
\usepackage{mcode}
\usepackage[unicode,pdfborder={0 0 0 0}, colorlinks=true, urlcolor=red, linkcolor=black]{hyperref}
\usepackage{float}
\usepackage[font=small,labelsep=none]{caption}
\lstset{language=Matlab}
\begin{document}
In MATLAB, it can be solved by executing the statement \mcode{x = A \ b}
\end{document}
답변1
다음과 같이 쓸 수도 있습니다.
\mcode{x = A \\ b }
더 나은 옵션은 다음과 같이 재정의하는 것 같습니다 \mcode
.
\renewcommand{\mcode}{\lstinline[basicstyle=\lstbasicfont]}
그러면 잘 작동하는 것 같아요.
나를 위해 이것을 재정의했습니다.\mcode
\mcode{x = A \ b}
원하는 대로 조판됩니다.
인수의 일부가 \lstinline
명령에 도달하기 전에 처리되고 있습니다. 갱신된 정의를 통해 \lstinline
인수를 좀 더 효과적으로 처리할 수 있습니다.
기본적으로 mcode.sty
다음을 정의합니다 .
\newcommand{\mcode}[1]{\lstinline[basicstyle=\lstbasicfont]|#1|}
다음과 같은 것을 시도하면
\lstinline[basicstyle=lstbasicfont]|x=A\b|
그러면 결과를 얻게 됩니다. listings
와 같은 다양한 마법을 부리고 있습니다 \verb
. 래퍼 명령을 정의하면 \mcode
모든 문자 코드가 곧 처리되지는 않습니다.
보다\lstinline!푸! 대 \lstinline{Foo}새로 정의된 명령이
\mcode|x=A \ b|
그리고
\mcode{x = A \ b}
답변2
다음을 사용하는 것을 고려해보세요.matlab-prettifier
패키지대신에:
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
% Define a one-character shorthand (") for inline code.
\lstMakeShortInline[style=Matlab-editor]"
\begin{document}
"x=A\b" represents ``matrix division'' in MATLAB.
\end{document}