A\b mcode 패키지 사용

A\b mcode 패키지 사용

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}

관련 정보