A\b Mcode-Paket verwenden

A\b Mcode-Paket verwenden

Wie setze ich "x=A\b" in Mcode, was in MATLAB "Matrixdivision" darstellt? Hier ist ein 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}

Antwort1

Sie könnten einfach etwas schreiben wie

\mcode{x = A \\ b }

Die bessere Option scheint \mcodedie folgende Neudefinition zu sein:

\renewcommand{\mcode}{\lstinline[basicstyle=\lstbasicfont]}

und dann scheint es gut zu funktionieren.

Für mich mit diesem neu definierten\mcode

\mcode{x = A \ b}

wird nach Wunsch gesetzt.

Etwas im Argument wird verarbeitet, bevor es zum Befehl gelangt \lstinline. Die neue Definition ermöglicht es, \lstinlinedie Argumente etwas effektiver zu verarbeiten.

Definiert im Wesentlichen mcode.styFolgendes

\newcommand{\mcode}[1]{\lstinline[basicstyle=\lstbasicfont]|#1|}

Wenn Sie einfach etwas versuchen wie

\lstinline[basicstyle=lstbasicfont]|x=A\b|

Dann erhalten Sie das Ergebnis. listingsführt verschiedene Zaubertricks aus, wie z \verb. B. Durch die Definition des Wrapper-Befehls \mcodewerden nicht alle Zeichencodes schnell genug verarbeitet.

Sehen\lstinline!Foo! vs \lstinline{Foo}für den Umgang mit dem Unterschied zwischen

\mcode|x=A \ b|

Und

 \mcode{x = A \ b}

Antwort2

Erwägen Sie die Verwendung vonmatlab-prettifierPaketstattdessen:

Bildbeschreibung hier eingeben

\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}

verwandte Informationen