平时看书经常看到“图1.2”这样的编号,含义是第1章的第2幅插图;或者“图1.1.2”,含义是第1章第1节的第2幅插图。而在LaTeX中如果直接插图的话只会显示“图2”这样的编号,有没有办法在LaTeX的图表序号中加入章节序号呢?办法肯定是有的,下面就是一种办法。

在插入图表之前(比如导言区)加入以下两行代码:

\renewcommand {\thetable} {\thechapter{}.\arabic{table}}

\renewcommand {\thefigure} {\thechapter{}.\arabic{figure}}

第一行是设定表格的编号,第二行设定图片的编号。这样设置的实现效果为“图1.1”、“表2.2”。正文中\label{...}和\ref{...}使用方法不变。需要“图1-1”这种格式的话可以把上面指令中的“.”改为“-”。

其中\thechapter是章节号,类似地还有\thesection、\thesubsection。

table和figure是表格和图片计数器(counter)的值。

\arabic{...}的含义是输出阿拉伯数字的编号。如果需要大小写的罗马数字,可以分别使用\Roman{...}和\roman{...}。

需要注意的是\thechapter、\thesection和\thesubsection这三个宏的输出会包含上层序号,比如在第1章(chapter)第2节(section)第3小节(subsection)中,\thesubsection的输出结果就是1.2.3,\thesection的输出结果就是1.2,\thechapter的输出结果就是1。使用时要注意避免重复,只用其中一个就行了。

与上面三个宏形成对比的是\arabic{chapter}、\arabic{section}和\arabic{subsection}这三个命令,它们也可用在前面的指令中,但它们只输出当前一层的序号,同样以第1章(chapter)第2节(section)第3小节(subsection)为例,\arabic{subsection}的输出结果是3,\arabic{section}的输出结果是2,\arabic{chapter}的输出结果是1。使用这三个指令可以输出“1-2-3”这样的章节编号。

这种方法有一个问题,table和figure计数器不会自动清零,比如第1章有3幅图片,到第2章时LaTeX会从“图2.4”开始编号。为了解决这个问题,需要在合适的地方(比如一章结尾或下一章开头)手动将计数器清零,即

\setcounter{table}{0}

\setcounter{figure}{0}


参考文献:http://blog.sina.com.cn/s/blog_8f89555c0101cwvn.html

Latex技巧:在图表序号中加入章节号(实现诸如“图1.1.2”这样的图表序号)的更多相关文章

  1. 教您如何在Word的mathtype加载项中修改章节号

    在MathType数学公式编辑器中,公式编号共有五部分内容:分别是章编号(Chapter Number).节编号(Section Number).公式编号(Equation Number).括号(En ...

  2. LaTeX技巧010:LaTtex中如何给每个句子加序号?

    效果图: 代码: \documentclass{article} \newcounter{sentence} \renewcommand\thesentence{\textsuperscript{\a ...

  3. LaTeX技巧011:LaTtex中如何产生直立体希腊字母?

     %\usepackage{upgreek}\upmu \uppi

  4. LaTeX技巧561:LaTeX如何让每一章带有目录?

    转自: http://blog.sina.com.cn/s/blog_5e16f1770102ds8b.html LaTeX技巧561:LaTeX如何让每一章带有目录? [问题描述] 当前章节列出该章 ...

  5. Word 多级节标题设置和图表章节号自动生成

    写文章的时候,正文.图表.节标题,通过“样式”可以进行统一设置,这里我记录了几点小技巧: 1.多级标题如何设置 假设我要设置三级标题,下面以图的形式记录方式: 设置完之后,应用即可. 章节设定之后,可 ...

  6. LaTeX技巧472:定义一个LaTeX参考文献不带编号且有缩进的方法

    LaTeX_Fun的博客 LaTeX技巧381:参考文献项第二行缩进如何定义? \makeatletter\renewenvironment{thebibliography}[1]{\section* ...

  7. 【Unity3D技巧】在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 (二) : 引入中间层NotificationCenter

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 一对多的观察者模式机制有什么缺点? 想要查看 ...

  8. LaTeX技巧892: Ubuntu 安装新版本TeXLive并更新

    原文地址:http://www.latexstudio.net/archives/9788.html 摘要: 本文比较系统地介绍了在Ubuntu下的TeXLive的安装与配置测试过程,建议使用Ubun ...

  9. Latex 仅使用 hyperref 包中 \href 的方法

    参考: How to ask hyperref works only with href Latex 仅使用 hyperref 包中 \href 的方法 在 .tex 文件的开头使用如下方法引用 hy ...

随机推荐

  1. SQl查询数据库表名、表的列名、数据类型、主键

    1.获取所有数据库名:     2.Select Name FROM Master..SysDatabases order by Name   3.  4.2.获取所有表名:   5.   (1)  ...

  2. seo-mask -- 为单页应用创建一个适合蜘蛛爬取的seo网站

    seo-mask seo-mask是利用搜索引擎蜘蛛的爬取原理(蜘蛛只会爬取网页的内容,并不会关心解析网页里的css和js),制作一套专门针对seo的镜像网站,鄙人称它为针对seo的mask,让蜘蛛看 ...

  3. 【HDU-5246】超级赛亚ACMer(贪心)

    之前用了个nlogn的算法超时了.仅仅能改成n的算法了 大题贪心思路就是 对每一个人的能力值从小到大进行排序,当前能力值为now,那么我们找到一个人的能力使得这个能力值 <= now.now + ...

  4. 【算法拾遗(java描写叙述)】--- 插入排序(直接插入排序、希尔排序)

    插入排序基本思想 每次将一个待排序的记录按其keyword大小插入到前面已经拍好序的子文件的适当位置,直到全部记录插入完毕为止. 直接插入排序 基本思想 直接插入排序的基本操作是将一个记录插入到已排好 ...

  5. C/C++ 错误笔记-在给结构体中的指针赋值时,要注意该指针是否已指向内存空间

    先来看下面的例子: #include <stdlib.h> #include <string.h> #include <stdio.h> #pragma warni ...

  6. java编译器特性

    1.当一个表达式两边都是字面量,则编译过程中就会进行计算,并将结果生成在表达式的位置,以节省运算效率: ps:jvm认为只有是字面量时,才会对比常量池中内容:而如果是new的新对象为不同对象. 例1: ...

  7. IOS MagicRecord 详解 (转载)

    2014-10-22 14:37 6137人阅读 评论(6) 收藏 举报 IOSMagicRecordCoreData 目录(?)[+] 刚开始接触IOS不久,尝试着翻译一些博客,积累技术,与大家共享 ...

  8. shell脚本中多命令单行执行_转

    多命令一起执行 如果希望把几个命令合在一起执行, shell提供了两种方法.既可以在当前shell也可以在子shell中执行一组命令. 对{}和()而言, 括号中的重定向符只影响该条命令, 而括号外的 ...

  9. selenium + js 处理窗口

    1.隐藏页面的广告窗口 document.getElementById("top_left").style.display="none"; 2.隐藏控件点击 d ...

  10. Android ADB工具-操作手机和获取手设备信息(四)

    Android ADB工具-操作手机和获取手设备信息(四) 标签(空格分隔): Android ADB 6. 其它命令 命令 功能 adb shell input text <content&g ...