【问题标题】:colors and brackets in nbconvert latex citationsnbconvert 乳胶引用中的颜色和括号
【发布时间】:2014-02-26 12:03:52
【问题描述】:

我想将我的 nbconvert 模板修改为

  1. 仅以黑白显示文本中的引文,而不是绿色
  2. 用圆括号代替方括号

我认为以下几行应该可以实现这一点

((* block bibpackages *))
\usepackage[round]{natbib}
\usepackage[colorlinks=false]{hyperref}
((* endblock bibpackages *))

但是当我将它包含在我的自定义模板中时(下面是完整的,以防其他内容很重要?)没有任何效果。

知道这里有什么问题吗?

在修改这些模板时,是否有任何值得了解的一般注意事项?经常显得有点碰碰运气。

塔!

((*- extends 'latex_article.tplx' -*))

((* block date *))
\date{}
((* endblock date *))

((* block author *))
\author{}
((* endblock author *))

((* block title *))
\title{}
((* endblock title *))

((* block bibpackages *))
\usepackage[round]{natbib}
\usepackage[colorlinks=false]{hyperref}
((* endblock bibpackages *))

((* block bibliography *))
\bibliographystyle{apalike}
\bibliography{Thesis}
((* endblock bibliography *))

% Disable input cells 
((* block input_group *))
((* endblock input_group *))


((= This line selects the cell style. =))
((* set cell_style = 'style_bw_python.tplx' *))

【问题讨论】:

  • 您可能面临一些问题:1) 您使用的是哪个 ipython 版本 - 似乎您混合了一些版本。 2) 即使在 ipython 2.0 中,乳胶模板中也没有这样的 bibpackages 块。
  • 好吧,我很可能自己在那里添加了 bibpackages,认为这本质上只是代码注释。有没有关于这些块如何运作的文档?除了上面的之外,我还想添加很多乳胶的东西。他们需要一起去一个街区吗?我使用 2.0 ftom github。谢谢

标签: latex ipython ipython-notebook


【解决方案1】:

IPython 模板由 jinja2 驱动,因此相应的 documentation 是一个很好的起点。

要了解可用的块,请查看应用的模板。对于当前的主人,您可以找到 IPython 乳胶模板,例如here(顺便说一句,请注意,在当前的 master 中已经没有 latex_article.tplx 了!)

如果您查看基本模板(文章模板从该模板扩展而来),您将看到有一个 packages 块 (here)。因此,您希望将您的 usepackage 调用包含在此块中。
为此,您可以简单地创建一个扩展 article 模板的自定义模板,并在原始调用中包含一个 packages 块并添加您的。或者,使用super 关键字而不是复制原始关键字(请参阅here)。

更新:

根据您的输入,处理链接颜色的可能模板和 natbib 包可能如下所示

((= This line inherits from the built in template that you want to use. =))
((* extends 'article.tplx' *))

((* block date *))
\date{\today}
((* endblock date *))

((* block author *))
\author{Mr. Magoo}
((* endblock author *))

((* block title *))
\title{Fantastic memories}
((* endblock title *))

((* block packages *))
((( super() )))
\usepackage[round]{natbib}
((* endblock packages *))

((* block commands *))
    % Prevent overflowing lines due to hard-to-break entities
    \sloppy
    % Setup hyperref package
    \hypersetup{
      breaklinks=true, % so long urls are correctly broken across lines
      hidelinks
      }
    % Slightly bigger margins than the latex defaults
    \geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}
((* endblock commands *))

((* block bibliography *))
\bibliographystyle{apalike}
\bibliography{Thesis}
((* endblock bibliography *))

% Disable input cells
((* block input_group *))
((* endblock input_group *))

((= This line selects the cell style. =))
((* set cell_style = 'style_bw_python.tplx' *))

【讨论】:

  • 如果我基本上复制了基本模板并在那里进行了任何添加和修改,这似乎是最简单和最透明的。您会出于任何原因反对这样做吗?另外-基本模板在顶部说“此模板未定义文档类,继承类必须定义它”。这是否意味着不可能在该模板的修改版本中定义文档类?或者只是那不是那里所做的?
  • 如果您只是复制基本模板,您不仅会错过 docclass(请参阅 here),还会错过输出样式(例如 ipython)当然,您可以将所需的所有内容复制到新模板中,但我会从 article 类继承(就像你在问题中所做的那样)并尝试使用 super 扩展 packages 块。
  • @JGrif 我已经用继承自article.tplx 的可能模板更新了我的答案。
  • 谢谢。虽然这里的 hypersetup 调用没有做任何事情。删除后结果相同。
  • @JGrif 你是完全正确的(对不起,我没有尝试建议的版本)!我修改了hypersetup 调用以包含hidelinks。这应该禁用链接突出显示。
猜你喜欢
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
相关资源
最近更新 更多