\lstinline{}의 글꼴 크기 **만** 변경하는 방법은 무엇입니까?

\lstinline{}의 글꼴 크기 **만** 변경하는 방법은 무엇입니까?

얼핏 보면 다음과 중복된 것처럼 보일 수도 있습니다.다른 질문중복으로 이미 종료되었습니다.이 하나. 하지만 그렇지 않습니다 ;-)

어떻게 설정하나요?전 세계적으로환경 \lstinline의 글꼴 크기와 관계없이 모든 매크로 의 글꼴 크기는 무엇입니까?lstlisting

환경에 대한 기본값은 \small매우 좋아 보이지만 주변 텍스트와 더 잘 혼합되기 때문에 인라인에는 보통 크기가 필요합니다.

아래에는 요청한 대로 매크로 반복을 보여주는 MWE가 나와 있습니다 \lstset.

\documentclass{article}
\usepackage{listings}
\lstset{basicstyle=\ttfamily\small,numbers=left}

\begin{document}

\begin{lstlisting}
Displayed code listings
    Look great
In a small font
\end{lstlisting}

I would like \lstinline{inline listings} to be at normalsize as in
\lstset{basicstyle=\ttfamily}%
\lstinline{this piece of code}
but then I have to issue a new \verb|lstset| macro
\lstset{basicstyle=\ttfamily\small}%
in order to get back to small size

\begin{lstlisting}
for displayed code listings
    to show appropiately.
again
\end{lstlisting}

\end{document}

여기에 이미지 설명을 입력하세요

답변1

\myinline내 MWE에서 와 같이 새 명령을 생성하는 것은 어떻습니까 ?

\documentclass{article}
\usepackage{listings}
\lstset{basicstyle=\ttfamily\small,numbers=left}
\newcommand{\myinline}[1]{\lstinline[basicstyle={\ttfamily\normalsize}]{#1}}

\begin{document}

\begin{lstlisting}
Displayed code listings
    Look great
In a small font
\end{lstlisting}

I would like \lstinline{inline listings} to be at normalsize as in
\myinline{this piece of code}
but then I have to issue a new \verb|lstset| macro
in order to get back to small size

\begin{lstlisting}
for displayed code listings
    to show appropiately.
again
\end{lstlisting}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

코드를 보면 둘을 구별하는 방법이 없습니다. 하지만 내부적으로 \lstinline실행되기 때문에 \lstset패치를 추가할 수 있기 때문에 만들 수 있을 것 같습니다 . 이것이 다른 결과를 가져오는지는 전혀 모릅니다.

\documentclass[a4paper]{article}
\usepackage{listings,xcolor,xpatch}

\lstset{
  basicstyle=\color{red}\ttfamily,
}

% style for inline
\lstdefinestyle{foobar}{
  basicstyle=\color{green}\ttfamily\tiny,
}

% \ShowCommand\lstinline shows \lstinline runs \lstset{flexiblecolumns,#1}, so we mess with that
\makeatletter
\xpatchcmd\lstinline{flexiblecolumns,}{flexiblecolumns,style=foobar,}{}{\typeout{patch failed}}
\makeatother


\begin{document}

\begin{lstlisting}
FooBar
\end{lstlisting}

inline \lstinline|FooBar|
\end{document}

여기에 이미지 설명을 입력하세요

답변3

다른 이름으로 저장 \lstinline하고 다시 정의하여 원래 이름도 옵션 basicstyle=\ttfamily( 없이 \small)에 전달합니다.

\documentclass{article}
\usepackage{listings}

\lstset{basicstyle=\ttfamily\small,numbers=left}

\NewCommandCopy{\originallstinline}{\lstinline}
\RenewDocumentCommand{\lstinline}{O{}}{%
  \originallstinline[basicstyle=\ttfamily,#1]%
}

\begin{document}

\begin{lstlisting}
Displayed code listings
    Look great
In a small font
\end{lstlisting}

Here I see that \lstinline{inline listings} is at normalsize
and there is no need to issue a new \verb|lstset| macro
in order to get back to small size

\begin{lstlisting}
for displayed code listings
    to show appropriately.
again
\end{lstlisting}

We can also pass options like in \lstinline[language=TeX]|\LaTeX|

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보