我正在尝试用“装饰”源代码listings
,但是我在编译文档时收到一些警告和错误框。但是文档可以编译,并且看起来像我想要的那样。
我注意到该警告是由于代码中的一些}
和符号引起的。{
\hbox
段落第 31-31 行过满(6.0pt 太宽)[][][][][][][][] []LaTeX 字体信息:尝试在输入行 32 加载 OMS+cmss 的字体信息。
LaTeX 字体信息:输入行 32 上没有文件 OMScmss.fd。
LaTeX 字体警告:输入行 32 上的符号“textbraceleft”的字体形状为“OMS/cmsy/m/n”(字体)。
OMS/cmss/m/n' undefined (Font)
using
\documentclass[a4paper]{article}
\usepackage[spanish,activeacute]{babel}
\usepackage{amsmath}
\usepackage{listings}
\usepackage{color}
\usepackage{xcolor}
\usepackage{caption}
\lstset{
basicstyle=\footnotesize,
numbers=left,
numberstyle=\tiny,
frame=tb,
columns=fullflexible,
showstringspaces=false
}
\renewcommand{\familydefault}{\sfdefault} %this is because default font looks blurry
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{black}{\parbox{\textwidth}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}
\begin{document}
Some Code:
\begin{lstlisting}[caption=some code, label=source, language=java]
public void hello() {
aaaa();
}
\end{lstlisting}
\end{document}
答案1
使用 Cork 编码:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[spanish,activeacute]{babel}
\usepackage{amsmath}
\usepackage{listings}
\usepackage{color}
\usepackage{xcolor}
\usepackage{caption}
\lstset{
basicstyle=\footnotesize,
numbers=left,
numberstyle=\tiny,
frame=tb,
columns=fullflexible,
showstringspaces=false
}
\renewcommand{\familydefault}{\sfdefault} %this is because default font looks blurry
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{black}{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}
\begin{document}
Some Code:
\begin{lstlisting}[caption=some code, label=source, language=java]
public void hello() {
aaaa();
}
\end{lstlisting}
\end{document}
我还修复了一个过满的盒子(您没有考虑到\fboxsep
引入的长度\colorbox
)。
也许你可能感兴趣this answer
从阿克塞尔·索末费尔特(的作者caption
)关于 \DeclareCaptionBox。