如何升降用命令表示的内容?

发布于 2021-03-29 22:24:01

由于需要在边注加入带盒子的连续数字,所以重新定义了边注编号。如下面的代码:

\newcounter{margin}
\counterwithin{margin}{part}
\renewcommand\themargin{\arabic{margin}}
\newcommand\marginpard{%
  \refstepcounter{margin}%
\ifodd\value{page}\marginpar{\framebox[2em]{\themargin}}%
\else%
\marginpar{\raggedleft\framebox[2em]{\themargin}}
\fi
}

最小示例如下:

\documentclass{ctexbook}
\newcounter{margin}
\counterwithin{margin}{part}
\renewcommand\themargin{\arabic{margin}}
\newcommand\marginpard{%
  \refstepcounter{margin}%
\ifodd\value{page}\marginpar{\framebox[2em]{\themargin}}%
\else%
\marginpar{\raggedleft\framebox[2em]{\themargin}}
\fi
}
\begin{document}
我是第一句。

我是边注1对应的文字。\marginpard

我是边注2对应的文字。\marginpard

往下还有边注,编号依次递增,这里省略。
\end{document}

我的问题是,现在想要将边注1向上升高一些,大概升高0.5em,不知如何实现?

尝试用raisebox,但它似乎只能提升字符,不能提升命令。即如下代码编译不出来:

\documentclass{ctexbook}
\newcounter{margin}
\counterwithin{margin}{part}
\renewcommand\themargin{\arabic{margin}}
\newcommand\marginpard{%
  \refstepcounter{margin}%
\ifodd\value{page}\marginpar{\framebox[2em]{\themargin}}%
\else%
\marginpar{\raggedleft\framebox[2em]{\themargin}}
\fi
}
\begin{document}
我是第一句。

我是边注1对应的文字。\raisebox{0.5em}{\marginpard}

我是边注2对应的文字。\marginpard

往下还有边注,编号依次递增,这里省略。
\end{document}

还有其他办法吗?不胜感激!

查看更多

关注者
0
被浏览
1.1k
2 个回答
LaTeXStudio
LaTeXStudio 2021-03-30
这家伙很懒,什么也没写!

你应该调整的是 \marginpar{\framebox[2em]{\themargin}} 这里的对齐和高度才可以,不能对着命令去做,徒劳了。

行者
行者 2021-04-04
这家伙很懒,什么也没写!

snotez宏包,可以解决你的问题。关于snotez宏包,详见:https://latexstudio.net/index/details/index/mid/785,https://latexstudio.net/index/details/index/mid/1221

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览