mengchaoheng / SCUT_thesis

华南理工大学硕博士学位论文模板(LaTeX)。Latex templates for the thesis of South China University of Technology
GNU General Public License v3.0
306 stars 59 forks source link

交叉引用编号的字符间隙 #36

Closed jiankychen closed 1 year ago

jiankychen commented 1 year ago

image 在使用 \ref 和 \eqref 命令实现交叉引用时,编号与其前后文字好像是没有设置间隙的,请问该怎么让它自动添加间隙呢?

note286 commented 1 year ago

建议手动加空格,你可以参考 https://github.com/note286/xduts/discussions/40#discussioncomment-5251245 中的示例自行定义命令来辅助排版。

mengchaoheng commented 1 year ago

模版有要求吗?可以百度一下如何recommend,或者手动加。模版没要求的话,我就不探索了,需要diy一下

mengchaoheng commented 1 year ago

虽然楼上所言极是,但不建议,除非你已经完成了论文并且计划参与完善模版(似乎也不像有这个计划),不然我建议您把时间花在论文本身上。

note286 commented 1 year ago

倒不是模板要求,是中文写作惯例,正常输入的中英文,xeCJK会自动加空白,但是对于\ref这种命令输出的,则暂不支持自动加空白,可以重定义一下\ref,但是要考虑各种情况,还是手动加空格比较稳妥(当然可以自定义命令来方便输入)。具体可见 https://github.com/CTeX-org/ctex-kit/issues/392 中的讨论。

mengchaoheng commented 1 year ago

如果是这样的话,那还是自定义命令,不然手的加空格很麻烦而且论文源码变得复杂

jiankychen commented 1 year ago

ok,了解了,感谢

mengchaoheng commented 1 year ago

不客气,如果自定义成功,可以分享给大家,我把您列入贡献者名单。祝好!

jiankychen commented 1 year ago

我按照 @note286 在 note286/xduts/40 中提供的例子自定义了命令

% 除公式以外的其他类型的交叉引用
\NewDocumentCommand{\eqrefx}{mO{\space}}{\space\eqref{#1}#2}
% 公式的交叉引用
\NewDocumentCommand{\refx}{mO{\space}}{\space\ref{#1}#2}

不客气,如果自定义成功,可以分享给大家,我把您列入贡献者名单。祝好!

jiankychen commented 1 year ago

说反了,应该是

% 公式的交叉引用
\NewDocumentCommand{\eqrefx}{mO{\space}}{\space\eqref{#1}#2}
% 除公式以外的其他类型的交叉引用
\NewDocumentCommand{\refx}{mO{\space}}{\space\ref{#1}#2}
note286 commented 1 year ago

我发现scutthesis基于book而不是ctexbook,这样很多中文化的设置需要额外处理,例如章的引用。

mengchaoheng commented 1 year ago

我发现scutthesis基于book而不是ctexbook,这样很多中文化的设置需要额外处理,例如章的引用。

哎呀您说到要害了,我最近GitHub写了一个博士课程论文模版(硕士通用),写完我发现,其实很多东西不需要那么复杂的设置,通过调包就可以解决。但这个模版两年前我改进的时候,不敢动祖传代码。所以一直有重构的念头,奈何博士课题事情多,没搞,也只能回复一下大家发的issues/邮件这样子

note286 commented 1 year ago

如果不考虑各种宏包的精细化适配,只适配一些主流的,字体就配置一套,不提供多种选择的话,重构的话还是比较容易的。

mengchaoheng commented 1 year ago

是的,刚刚想到可以新开一个分支,供大家自由选择使用新模板还是旧模版。过度一段时间看看,OK了再彻底换新。不知道什么时候能有时间做这个事。不聊了,要忙了。

note286 commented 1 year ago

我建议是直接从头开始写,祖传代码可以参考,但是更建议参考目前较新的项目。很多效果已经有更简单的实现方式了。

另外,还有个建议,不过这是开发者的设计理念问题,每个人有自己的想法。我的项目都是完全不干扰用户的选择,例如子图,你想用subcaptionsubfigure或者subfig都可以,只是在模板中做适配,不直接内置。

note286 commented 1 year ago

嗯,学业重要,这些就当是娱乐休闲。