New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xeCJK: Verbatim里不应该自动加空格 #580
Labels
Comments
已知问题:#331 |
但是问题好像并没有修复呀,是不在xeCJK修复的范围吗? 😢 另外,如果不在 xeCJK 中修复的话,在下游软件(比如sphinx)中推荐的修复方法是哪个呀? #331 中好像提到了几种方案。。 |
我觉得是不好修,因为这个环境不是内核里有的。
在导言区对环境打补丁。 |
可以考虑给 |
一种补丁方式 \documentclass{article}
\usepackage{fancyvrb}
% \usepackage{fvextra}
\usepackage{xeCJK}
\makeatletter
\ExplSyntaxOn
\AtBeginDocument
{
\xeCJK_if_package_loaded:nTF {fvextra}
{
\tl_gput_left:Nn \FV@FormattingPrep@PostHook
{ \__xeCJK_verb_font_hook: }
}
{
\xeCJK_if_package_loaded:nT {fancyvrb}
{
\tl_gput_right:Nn \FV@FormattingPrep
{ \__xeCJK_verb_font_hook: }
}
}
}
\ExplSyntaxOff
\makeatother
\begin{document}
normal: "你好"
in \verb|\verb| and \verb|verbatim|
\verb|"你好"|, \begin{verbatim}
"你好"
\end{verbatim}
in \verb|\Verb| and \verb|Verbatim|
\Verb|"你好"|, \begin{Verbatim}
"你好"
\end{Verbatim}
\end{document} |
多谢。 @stone-zeng 在 sphinx-doc/sphinx#9414 (comment) 上的 comment 好像比较简单 😂 |
这里考虑得更多,例如
|
直接 patch \documentclass{article}
\usepackage{fancyvrb}
\usepackage{xeCJK}
\makeatletter
\ExplSyntaxOn
\AtBeginDocument
{
\xeCJK_if_package_loaded:nT {fancyvrb}
{
\tl_put_right:Nn \FV@SetupFont
{ \__xeCJK_verb_font_hook: }
}
}
\ExplSyntaxOff
\makeatother
\begin{document}
normal: "你好"
in \verb|\verb| and \verb|verbatim|
\verb|"你好"|, \begin{verbatim}
"你好"
\end{verbatim}
in \verb|\Verb| and \verb|Verbatim|
\Verb|"你好"|, \begin{Verbatim}
"你好"
\end{Verbatim}
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
使用 xelatex 编译后渲染出来的效果是
我认为Verbatim环境里不应该自动加空格,不需要用户手动设置
\CJKsetecglue{}
。原始问题 sphinx-doc/sphinx#9414 在使用 sphinx 编译文档时,发现渲染出来的代码片段里有多余的空格。
The text was updated successfully, but these errors were encountered: