Konflikt zwischen Resizebox und Verbatim-Modus

Konflikt zwischen Resizebox und Verbatim-Modus

Ich muss Resizebox anstelle des Verbatim-Modus verwenden. Gibt es einen Konflikt bei der Verwendung des Verbmodus innerhalb einer Resizebox? Wenn Sie sich die erste Spalte der Tabelle ansehen, wird sie immer |am Ende jedes Textes hinzugefügt. Davon habe ich keine Ahnung. Wenn ich keine Resizebox einfüge, gibt es kein Problem, da sie angehängt sind.Bildbeschreibung hier eingeben

Wie kann ich dieses Problem beheben?

\documentclass{beamer}
\begin{document}


\frame{Operatorler}
    \resizebox{\textwidth}{!}{
    \begin{tabular}{lll}
        \textbf{test}  & \textbf{test}   &   \textbf{test}\\
        \verb|+|  & toplama     & a\\
        \verb|−|  & çıkarma     & a\\
        \verb|*|  & çarpma      & a\\
        \verb|/|  & bölme       & a\\
        \verb|%|  & bölme sonrası kalan (mod alma işlemi)   & a\\
        \verb|++| & artırma     & a\\
        \verb|--| & azaltma     & a\\
    \end{tabular}
    } % end of scope of "\resizebox"  directive
    \framebreak

    \begin{tabular}{lll}
        \textbf{test}  & \textbf{test}   &   \textbf{test}\\
        \verb|+|  & toplama     & a\\
        \verb|−|  & çıkarma     & a\\
        \verb|*|  & çarpma      & a\\
        \verb|/|  & bölme       & a\\
        \verb|%|  & bölme sonrası kalan (mod alma işlemi)   & a\\
        \verb|++| & artırma     & a\\
        \verb|--| & azaltma     & a\\
    \end{tabular}
\end{document}

Es erzeugt:

Antwort1

\verbSie können es nicht im Argument eines anderen Befehls verwenden , Sie können es also nicht tun \resizebox, wenn das Material enthält \verb.

Sie können jedoch zuerst die Box erstellen und dann ihre Größe ändern.

\documentclass{beamer}

\newsavebox{\tablebox}

\begin{document}

\begin{frame}[fragile]
\frametitle{Operatorler}

\begin{lrbox}{\tablebox}
    \begin{tabular}{lll}
        \textbf{test}  & \textbf{test}   &   \textbf{test}\\
        \verb|+|  & toplama     & a\\
        \verb|-|  & çıkarma     & a\\
        \verb|*|  & çarpma      & a\\
        \verb|/|  & bölme       & a\\
        \verb|%|  & bölme sonrası kalan (mod alma işlemi)   & a\\
        \verb|++| & artırma     & a\\
        \verb|--| & azaltma     & a\\
    \end{tabular}
\end{lrbox}
\resizebox{\textwidth}{!}{\usebox{\tablebox}}

\end{frame}

\end{document}

Bildbeschreibung hier eingeben

Das (U+2212), das in dem Kontext keinen Sinn ergibt, habe ich durch einen Bindestrich ersetzt.

Muss die Größe der Tabelle wirklich angepasst werden? Wenn die Tabelle breiter als der Text ist, ist es besser, eine kleinere Schriftart zu verwenden.

Ich würde empfehlen, auch die Syntax zu vermeiden

\frame{Title}{
  <contents>
}

und die bessere Syntax zu verwenden

\begin{frame}
\frametitle{Title}
<contents>
\end{frame}

Dadurch können auch Optionen wie fragile(für den Fall, dass der Rahmen wörtliches Material enthält) hinzugefügt werden.

Auch \verbkann ganz vermieden werden und

    \begin{tabular}{lll}
        \textbf{test}  & \textbf{test}   &   \textbf{test}\\
        \texttt{+}  & toplama     & a\\
        \texttt{-}  & çıkarma     & a\\
        \texttt{*}  & çarpma      & a\\
        \texttt{/}  & bölme       & a\\
        \texttt{\%}  & bölme sonrası kalan (mod alma işlemi)   & a\\
        \texttt{++} & artırma     & a\\
        \texttt{--} & azaltma     & a\\
    \end{tabular}

hätte die gleiche Ausgabe. %Muss nur maskiert werden.

Antwort2

Mit können Sie verbatimboxden Inhalt bereits vor dem Einfügen in den Rahmen als Box speichern.

\documentclass{beamer}
\usepackage{verbatimbox}
\begin{document}
\begin{myverbbox}{\Percent}%\end{myverbbox}

\begin{frame}
\frametitle{Operatorler}
\resizebox{\textwidth}{!}{%
\begin{tabular}{lll}
    \textbf{test}  & \textbf{test}   &   \textbf{test}\\
    \texttt{+}  & toplama     & a\\
    \texttt{-}  & çıkarma     & a\\
    \texttt{*}  & çarpma      & a\\
    \texttt{/}  & bölme       & a\\
    \Percent  & bölme sonrası kalan (mod alma işlemi)   & a\\
    \texttt{++} & artırma     & a\\
    \texttt{--} & azaltma     & a\\
\end{tabular}
}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Anstatt zu versuchen, die Größe der Tabelle so zu ändern, dass sie die gleiche Breite wie der Text hat, habe ich die Schriftgröße auf erhöht und in Kombination mit \largeverwendet :tabular*\extracolsep{\fill}}

Bildbeschreibung hier eingeben

\documentclass{beamer}

\begin{document}

\begin{frame}[fragile]
\frametitle{Operatorler}
\large
    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}
        \textbf{test}  & \textbf{test}   &   \textbf{test}\\
        \verb|+|  & toplama     & a\\
        \verb|-|  & çıkarma     & a\\
        \verb|*|  & çarpma      & a\\
        \verb|/|  & bölme       & a\\
        \verb|%|  & bölme sonrası kalan (mod alma işlemi)   & a\\
        \verb|++| & artırma     & a\\
        \verb|--| & azaltma     & a\\
    \end{tabular*}

\end{frame}

\end{document}

Ohne die Verwendung von, \verbaber mit \ttfamily:

\documentclass{beamer}
\usepackage{array}
\begin{document}

\begin{frame}
\frametitle{Operatorler}
\large
    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}>{\ttfamily}lll}
        \sffamily\textbf{test}  & \textbf{test}   &   \textbf{test}\\
        +  & toplama     & a\\
        -  & çıkarma     & a\\
        *  & çarpma      & a\\
        /  & bölme       & a\\
        \% & bölme sonrası kalan (mod alma işlemi)   & a\\
        ++ & artırma     & a\\
        -- & azaltma     & a\\
    \end{tabular*}

\end{frame}

\end{document}

verwandte Informationen