LaTeX 标题中使用 \bm 命令与 hyperref 的冲突
问题
当使用 hyperref 宏包时,在标题中使用 \bm 为数学符号加粗会出现错误
\documentclass{article}
\usepackage{bm}
\usepackage{hyperref}
\begin{document}
\section{$\bm{x^2}$}
\end{document}
报错信息为
ERROR: TeX capacity exceeded, sorry [input stack size=5000].
原因是,使用 hyperref 创建的书签信息中不能含有特殊格式。
解决方法
有如下的几种解决方法
- 使用标题的可选项
\section[$x^2$]{$\bm{x^2}$}
- 使用
hyperref的\texorpdfstring命令
\section{\texorpdfstring{$\bm{x^2}$}{$x^2$}}
- 使用
hyperref的\pdfstringdefDisableCommands命令抑制命令作用在PDF字符串上
\documentclass{article}
\usepackage{bm}
\usepackage{hyperref}
\pdfstringdefDisableCommands{%
\renewcommand*{\bm}[1]{#1}%
% any other necessary redefinitions
}
\begin{document}
\section{$\bm{x^2}$}
\end{document}
最后一种方法使用起来比较方便,因为不需要改变正文。
参考信息
LaTeX 标题中使用 \bm 命令与 hyperref 的冲突的更多相关文章
- HTML5中的execCommand命令
HTML5中的execCommand命令 在html5中,可以通过execCommand方法来运行一条命令,每一条命令都将对用户通过鼠标所选取的内容执行一些操作. 1. execCommand方法 浏 ...
- WPF MVVM模式中,通过命令实现窗体拖动、跳转以及显隐控制
原文:WPF MVVM模式中,通过命令实现窗体拖动.跳转以及显隐控制 在WPF中使用MVVM模式,可以让我们的程序实现界面与功能的分离,方便开发,易于维护.但是,很多初学者会在使用MVVM的过程中遇到 ...
- Linux中通过grep命令检索文件内容和指定内容前后几行
原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- 在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码
在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码. #!/bin/bash echo 'xxx密码xxx'|sudo -S service mysql start echo 'xxx密 ...
- 在程序中执行shell命令
在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...
- 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令
最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...
- Linux中的历史命令
Linux中的历史命令一般保存在用户 /root/.bash_history history 选项 历史命令保存文件夹 选项 -c:清空历史命令 -w :把缓存中的历史命令写入历 ...
- Google Chrome浏览器中如何使用命令
Google Chrome浏览器中如何使用命令 | 浏览:2974 | 更新:2014-02-23 23:12 | 标签:chrome 1 2 3 分步阅读 Google Chrome浏览器有很多的特 ...
随机推荐
- 机器学习&深度学习经典资料汇总,data.gov.uk大量公开数据
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- cat ,more, Less区别
使用cat more less都可以查看文本内容,但是它们三者有什么区别呢?more和less的功能完全重复吗?以下是我个人的总结,欢迎大家一起来分享 cat 连续显示.查看文件内容mo ...
- 手机端的mousedown
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- java web的一些特殊用法(一)
1.查看jquery ajax请求的数据的具体格式 很多时候,我们需要查看到ajax返回时的具体格式才知道怎么去解析他.在最原始的ajax写法中,可以通过xmlhttp.responseText查看到 ...
- oracle的exp、imp命令
1.EXP a>完全模式 full=y EXP USER/PASSWORD@DB (AS ROLE) BUFFER=64000 FILE=C:\FULL.DMP FULL=Y b>用户模式 ...
- FZU2224 An exciting GCD problem 区间gcd预处理+树状数组
分析:(别人写的) 对于所有(l, r)区间,固定右区间,所有(li, r)一共最多只会有log个不同的gcd值, 可以nlogn预处理出所有不同的gcd区间,这样区间是nlogn个,然后对于询问离线 ...
- Error -26359: Function not allowed within a concurrent group
Error -26359: Function not allowed within a concurrent group 疑问: 基于url录制的脚步能用检查点么? 疑问: web_set_max ...
- Mac osx 下配置ANT
一般安装过程如下: 1:sudo sh (会提示你输入当前用户的密码) 2:cp apache-ant.1.8.2-bin.zip /usr/local 3:cd /usr/local 4:unzip ...
- Cocos2d-x ios 下http请求的另一种实现
简单描述下需求:游戏要加入事件log,比如玩家升到10级:创建角色:或是,触发这些事件后要求客户端忘后台抛送一条log信息.一般情况下,我们可以直接使用cocos自带的HttpClient(底层用li ...
- BI 多维立方体CUBE
在Bi领域,cube是一个非常重要的概念,是多维立方体的简称,主要是用于支持联机分析应用(OLAP),为企业决策提供支持.Cube就像一个坐标系,每一个Dimension代表一个坐标系,要想得到一个一 ...