Tufte 讲义课程给出了整洁的布局,在右侧显示脚注而不是底线。
但是,当我将 minipage 与 tufte-handout 一起使用时,如果 minipage 有脚注,则脚注会损坏,因为类会修改脚注设置。因此,我使用了 \footnotemark 和 \footnotetext,但数字以字母形式显示在底部,而阿拉伯语显示在文本区域中。甚至,它还给我错误消息 -
l.29 呼叫者\footnotemark{\value{footnote}} \footnotetext[2]{hello} 使用`...
我的代码有什么问题?如何获取正确的脚注编号?
\documentclass{tufte-handout} \usepackage{tikz} \newcommand{\clj}{\textcolor{blue}{\textsc{clojure}}} \title{2010 年 8 月 1 日第 31 周} \newlength{\RoundedBoxWidth} \newsavebox{\GrayRoundedBox} \newenvironment{GrayBox}[1][\dimexpr\textwidth-4.5ex]% {\setlength{\RoundedBoxWidth}{\dimexpr#1} \begin{lrbox}{\GrayRoundedBox} \begin{minipage}{\RoundedBoxWidth}}% { \end{迷你页面} \结束{lrbox} \开始{中心} \开始{tikzpicture}% \draw node[draw=black,fill=black!10,圆角,% 内分离度=2ex,文本宽度=\RoundedBoxWidth]% {\usebox{\GrayRoundedBox}}; \结束{tikzpicture} \结束{中心}} \开始{文档} 你好\脚注{实验} %\newcounter{\myfootnote} %\setcounter{\myfootnote}{\value{footnote}} \vskip2ex \begin{GrayBox}[1.2\textwidth] {\LARGE 如何使用外部 \clj\ 代码} \vskip0.3em\hrule\vskip1em 调用者使用“use”来使用 \verb|CLASSPATH/hello.clj|。现在,可以调用 the(嗨)\footnotemark[\thefootnote]{}\footnotetext[\thefootnote]{你好} \end{灰盒} 你好\footnote{再次实验} \结束{文档}
答案1
minipage 环境中的脚注以小写字母打印。latex.ltx 中的定义是
\def\thempfootnote{{\itshape\@alph\c@mpfootnote}}
你可以重新定义它。一个快捷的方法是:
\let\thempfootnote\thefootnote
此后小页面内的脚注符号也将是阿拉伯数字。
答案2
此外,您可能不应该在和\thefootnote
中使用可选参数,因为这些命令需要一个数字,而可以携带格式信息,并且实际上可能是文本(如果您使用罗马或字母数字)或符号。\footnotemark
\footnotetext
\thefootnote
相反,您应该使用\value{footnote}
。
但更好的是,你应该这样做:在 GrayBox 环境的定义中添加以下行
\setcounter{mpfootnote}{\value{footnote}}
\renewcommand{\thempfootnote}{\arabic{mpfootnote}}
紧接着\begin{minipage}
,
\setcounter{footnote}{\value{mpfootnote}}
直接放在前面\end{minipage}
,这样 GrayBox 的脚注编号就会与周围的文本保持一致,您不必footnote
在每次使用后手动增加计数器。当然,您应该将脚注切换\arabic
为您想要的适当样式。