30 如何调整脚注,使得效果优化与出版书籍类似?

发布于 2025-01-26 16:26:49

如何调整设置,使得脚注为正文文字的0.25倍大小,显示在右上角;脚注编号与脚注文字大小一致、高度平齐?以下是我的代码:

\documentclass[11pt,b5paper,twoside,UTF8]{ctexbook}
\usepackage{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=2.54cm, right=2.54cm, top=2.54cm, bottom=2.54cm]{geometry}
\usepackage{CJKnumb}
\AtBeginDocument{\linespread{1.5}}
\usepackage[colorlinks,linkcolor=black]{hyperref}
\usepackage{subfig,epsfig,graphicx}
\usepackage{color,xcolor}
\usepackage{titlesec}
\usepackage{setspace}
\AtBeginDocument{\linespread{1.5}}
%\usepackage[perpage]{footmisc}

\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{\node[circle, draw, inner sep=0pt, minimum size = 1.25em] (char) {\scriptsize{#1}};}}
\makeatletter
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\circled{\@thefnmark}}}}  
\makeatother

\begin{document}
    
    脚注大小测试\footnote{如何使得脚注序号与脚注文字一样大、高度平齐}
    
\end{document}

希望实现与出版社相近的效果,如下
4b6a30fcadc8d2ed482764073fe2fccb.jpg

查看更多

关注者
0
被浏览
142
Sagittarius Rover
我要成为Typst糕手/(ㄒoㄒ)/~~

我又微调了一下:

  • \footnoterule调整水平线的位置,长度等信息
  • \@makefnmark调整在正文中上标的脚注样式,其中\@thefnmark为脚注数字(也许查一下latex.ltx可以找到原始定义,我也不是非常熟悉...)
  • \@makefntext#1调整在脚注位置的编号距离等信息,其中#1为脚注命令\foornote{}吞下的token内容
  • 下面的部分内容可能需要你texdoc circledtext查看文档

(泪目,我从你昨天的代码里借鉴了一些内容...,可惜,下面这小段对我来说还是有障碍,我只大概知道它设置了一些dim,下文的注释有我微调的四处距离,因此这段如果有问题可不要怪我(bushi))

% latex2e老大难啊
\@setpar{\@@par\@tempdima \hsize\advance\@tempdima-\@footindent
        \parshape \@ne \@footindent \@tempdima}\par
\documentclass[11pt,b5paper,twoside,UTF8]{ctexbook}
% \usepackage{inputenc} 
% \usepackage[T1]{fontenc}
% 使用xelatex好像不需要这些 encoding 相关的(?)
\usepackage[left=2.54cm, right=2.54cm, top=2.54cm, bottom=2.54cm]{geometry}
% \usepackage{CJKnumb} % 这个包我不认识...感觉是个obselete的
\AtBeginDocument{\linespread{1.5}}
\usepackage[colorlinks,linkcolor=black]{hyperref}
\usepackage{circledtext} % 为了字符压缩,使用了cirlcedtext宏包
% \usepackage{tikz}
% \newcommand*\circled[1]{\tikz[baseline=(char.base)]{\node[circle, draw, inner sep=0pt, minimum size = 1.25em] (char) {\scriptsize{#1}};}}

\makeatletter
\renewcommand\footnoterule{\kern-3\p@ \hrule width 0.4\columnwidth \kern 2.6\p@\vskip2ex}% 微调第一处..\vskip2ex调整\footnoterule与脚注的垂直间距
\def\@makefnmark{\hspace{.2em}\hbox{\@textsuperscript{\normalfont\circledtext[charf=\tiny]{\@thefnmark}}}}
%微调第二处,增加了`\hspace{.2em}`微调距离,并使用\circledtext的charf=\tiny选项调整25%大小(?)
\newskip\@footindent
\@footindent=4em %微调第三处`\@footindent`
\long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize\advance\@tempdima-\@footindent
        \parshape \@ne \@footindent \@tempdima}\par
    \noindent \hbox to \z@{\hss\normalfont\circledtext[charf=\footnotesize]{\@thefnmark}\hspace{1.5em}}#1}%微调第四处,设置charf=\footnotesize以实现下方脚注的字体一样大
\makeatother

\begin{document}

\ExplSyntaxOn
\int_step_inline:nn {15}{
    脚注大小测试\footnote{如何使得脚注序号与脚注文字一样大、高度平齐}\par
}
\ExplSyntaxOff
    
\end{document}

image.png


补充关于CJKnumbzhnumber宏包的信息

image.png


关于补充评论的对比图...(我也不知道有没有效)
上一个图点快了...抱歉...

image.png

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览