Конфликт между resizebox и режимом verbatim

Конфликт между resizebox и режимом verbatim

Мне нужно использовать resizebox вместо режима verbatim. Есть ли конфликт между использованием verb mode внутри resizebox? Если вы посмотрите на первый столбец таблицы, он всегда добавляется |в конце каждого текста. Я понятия не имею об этом. Если я не вставляю resizebox, то проблем не возникает, так как они прикреплены.введите описание изображения здесь

Как я могу решить эту проблему?

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

Он генерирует:

решение1

Вы не можете использовать его \verbв аргументе другой команды, поэтому вы не сможете сделать это, \resizeboxесли материал содержит \verb.

Однако вы можете сначала создать коробку, а затем изменить ее размер.

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

введите описание изображения здесь

Я заменил (U+2212), что в данном контексте не имеет особого смысла, на дефис.

Вам действительно нужно изменить размер таблицы? Если она окажется шире ширины текста, лучше использовать шрифт поменьше.

Я бы также рекомендовал избегать синтаксиса

\frame{Title}{
  <contents>
}

и использовать лучший синтаксис

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

что также позволяет добавлять такие опции, как fragile(когда кадр содержит дословный материал).

Также, \verbможно полностью избежать и

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

будет иметь тот же вывод. %Нужно только экранировать.

решение2

Вы можете использовать его verbatimboxдля сохранения содержимого в виде поля, даже до попадания в фрейм.

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

введите описание изображения здесь

решение3

Вместо того чтобы пытаться изменить размер таблицы, сделав ее такой же широкой, как ширина текста, я увеличил размер шрифта до \largeи использовал tabular*в сочетании с \extracolsep{\fill}}:

введите описание изображения здесь

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

Без использования, \verbно с \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}

Связанный контент