我有这个平均能量损失
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{colortbl}
\usepackage{lmodern}
\usepackage{listings}
\usepackage{color}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
breaklines=true,
breakatwhitespace=true,
tabsize=3,
extendedchars=true,
postbreak=\space, breakindent=5pt, breaklines,
literate={à}{{\`a}}1 {è}{{\`e}}1 {é}{{\'e}}1 {ê}{{\^e}}1 {ù}{{\`u}}1,
}
\begin{document}
\begin{lstlisting}
//...
API api = new API(url);
CultureIntermediaire cultureIntermediaire = resultat.getCultureIntermediaire();
//On affiche le nom de la méthode de travail du sol la plus érosive
\end{lstlisting}
\end{document}
结果
我有一个问题:“é”字符是单独的
有没有办法告诉列表在找到一个点而不仅仅是一个空格时换行。我想要得到这样的结果:
CultureIntermediaire cultureIntermediaire = resultat.
getCultureIntermediaire();
答案1
对于句号处的换行符,您可以按照下列步骤操作:
literate= {.}{}{1\discretionary{.}{}{.}},
哪个行在.
,但是效果不太好。要调整输出,请查看这答案。答案的这一部分告诉你一些事情:literate
是某种将 unicode 字符放入的 hack。另一个解决方案可能是转义为贡萨洛建议这回答。
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
breaklines=true,
breakatwhitespace=true,
tabsize=3,
extendedchars=true,
postbreak=\space, breakindent=5pt, breaklines,
escapeinside={\%*}{*)}, % I'm new here!
literate= {.}{}{1\discretionary{.}{}{.}}, % So am I
}
和\usepackage{listingsutf8}
评论中所建议的那样埃格尔。然后你必须用以下内容替换你的评论
// %*On affiche le nom de la méthode de travail du sol la plus érosive!*)
这使得
PS 将代码放在单独的文件中,然后将其添加到列表中是一种很好的做法lstinputlisting
。这不仅使项目更易于组织,而且还避免了一些与列表相关的麻烦。(例如,检查这回答以了解如何使用该命令)。
答案2
起初我以为评论就够了,但我觉得这值得回答。因为这是我很晚才学到的东西(几周前)。
listings
如果你使用 作为输入编码,则更加友好latin1
。例如,重音符号无需 即可工作literate
,即开箱即用(并且不间断空格)。
可能出现什么问题?我不知道。有什么缺点/优点latin1
?我不知道。如果您知道,请随意编辑。
记得节省带有编码的文档latin1
。
\documentclass[a4paper,12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{colortbl}
\usepackage{lmodern}
\usepackage{listings}
\usepackage{color}
\lstset%
{frame = tb,
language = Java,
aboveskip = 3mm,
belowskip = 3mm,
showstringspaces = false,
columns = flexible,
basicstyle = {\small\ttfamily},
numbers = none,
breaklines = true,
breakatwhitespace = true,
tabsize = 3,
extendedchars = true,
postbreak = \space, breakindent = 5pt, breaklines,}
\begin{document}
\begin{lstlisting}
//...
API api = new API(url);
CultureIntermediaire cultureIntermediaire = resultat.getCultureIntermediaire();
//On affiche le nom de la méthode de travail du sol la plus érosive
\end{lstlisting}
\end{document}
正如@Pouya 所评论的那样,特别是法语(例如,œ,æ)没有得到完全支持(这里是维基百科文章)。但是,似乎latin9
(ISO-8859-15) 完全支持它,因此您可能需要使用它。它会更好吗?同样,我不知道。如果有一个关于不同编码的优缺点的完整参考就太好了。