免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

请教应该怎么对很多题编号?

以前打的题少,没注意编号这个问题,现在发现有些题可以用上其它题的结论,想引用一下,但之前很多题都没编号,是要从头开始依次用 label 编号吗?编号的话,序号用什么来做呢?有时还想调整题的顺序,把相似的题调到一起去,这样如果之前全编好号了,就又打乱了,虽然引用时也不影响什么。
我的题都是用 begin{example} 的形式写的。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

你的 example 环境是怎么定义的先,最好给个示例代码

TOP

回复 2# kuing

没有什么特别的,就是\newtheorem{example}{例}
然后在正文部分就一直都是
\begin{example}
题。
\end{example}
\begin{proof}
证明或解。
\end{proof}

照着上面那样排了很多题,之前每个题都没写label{}。现在题多了,有的发现前面某个题的部分结论能用得上,就想引用了。虽然能暂时加个编号,比如加\label{my001},但是这个my001编号的题本身不是第一题,现在引用少,也不影响什么,但以后感觉引用会变多,到时去代码里找引用my001的,它实际上又不是第一题,不好找。

TOP

回复 3# abababa

题集之类的东西 label 里确实没必要编号,我说点建议吧:

把题目分类好;
将 PDF 与 tex 文件的正反向搜索搞好,这样翻 PDF 找到题目,即可跳转到相应代码;

做好这最重要的两点其实已经没啥问题了,label 乱写都没所谓了。

如果不想乱写,想让 label 写得科学些,可以这样,以分类名称给个前缀,比如三元不等式类的题,可以写 \label{ex:ineq3:……}(省略号就自己发挥了……

我人懒,撸题集的 label 也不怎么科学,刚才随便翻了一个写道:\begin{prob}\label{ml3y323606zqyjzj}
这 ml3y 表示 mathlinks 里的三元不等式,323606 是帖子的 id ,后面的字母不记得了,可能是乱打的
还有这个 \begin{prob}\label{20120806medwdjs} 前面显然是日期,后面可能也是乱打的

TOP

回复 4# kuing

谢谢。这个“将 PDF 与 tex 文件的正反向搜索搞好”是什么意思?不太明白,是用阅读器搜索pdf文件,找到相应的文本,然后再去tex里搜索吗?还是有什么自动的方法?

另外网友也提供了个方法,他把每个题都编了个文件,叫001.tex,002.tex之类的,最后在汇总的里写了一个:
\setcounter{pager}{114}
\newcommand{\dir}{examples}
\whiledo{\value{pager} < 115}{
        \ifthenelse{\value{pager} < 10}{
                \include{\dir/00\thepager}
        }{}
        \ifthenelse{\value{pager} > 9 \AND \value{pager} < 100}{
                \include{\dir/0\thepager}
        }{}
        \ifthenelse{\value{pager} > 99}{
                \include{\dir/\thepager}
        }{}
        \stepcounter{pager}
}
里面那个\dir是存001.tex这里的文件夹,115是他写到第115题了,前面那个114应该是打第115题时不用把前面的也全编译,只编译这一个,最后全编译时改成1就行了。
这个方法觉得可以解决编号的问题,编号就用文件名来编。但是还是不能解决引用的问题,因为引用需要人来决定到底哪里要引用和引用哪个,如果改了编号的话,电脑当然不知道已经改了,必须得人去改才行。

TOP

回复 5# abababa

PDF 与 tex 的正反向搜索,比如我现在用 SumatraPDF 和 WinEdt,看 PDF 时双击某处,WinEdt 就会跳转到相应代码处,反之,在 WinEdt 按 Shift+F8 就会跳转到光标所在代码处对应的 PDF 的那一块。
这名字我喜欢

TOP

回复 6# 色k

谢谢,虽然装了这两个软件,但是平时只用SumatraPDF这个,学的时候就是用命令来做的,那个编辑器从一开始就没用过。

TOP

回复 7# abababa

你看看 SumatraPDF 的设置选项如何,我这里是酱:
QQ截图20170308153404.jpg
2017-3-8 15:36
这名字我喜欢

TOP

回复 8# 色k
应该是装那个安装版的才行,我这个是单个文件的那个:
1.gif
2017-3-8 20:46

TOP

回复 9# abababa

我也是单文件的啊

TOP

一般情况下,要实现“互查”,文件名不能有中文之类的

TOP

回复 10# kuing

这就不太知道了,如图,我这里根本就没那个选项。
不过刚才搜索了一下,这个正反搜索还挺麻烦的,针对不同的编辑器和查看器都不同,也问了网友,他的是linux里的Evince查看器和gedit编辑器互相能查看,但是他说要做一些设置,得加% mainfile: index.tex和\synctex=1这些,太麻烦了而且还不是windows的,就放弃了。

TOP

本帖最后由 色k 于 2017-3-8 23:21 编辑

正反向搜索的功能是要依靠 synctex 文件来解析的,用没有任何选项的命令行来编译的话就不会生成这个文件,所以没得跳转。

用 WinEdt 编译的话默认有 --synctex=-1 选项,所以就会有 synctex 文件。
QQ截图20170308215226.png
2017-3-8 21:53

(WinEdt7 某选项)

PS、如果改成 =1,则生成的是压缩的 synctex.gz 文件,体积会小很多(不压缩的往往比 PDF 文件还大),但可能有些编辑器或阅读器不支持。
刚才测试过,Sumatra 和 WinEdt7 都支持,也就是改成
QQ截图20170308232040.png
2017-3-8 23:21

TOP

刚才重新安装 SumatraPDF,发现刚装好时也是和 9# 一样,选项里并没有后面的反向搜索设置……
然后在 winedt 里编译完点 PDF 时提示错误,因为新装的路径和以前不同,于是我重新设好 winedt 里的阅读器路径(就是勾上楼上截图中的 Auto-detect)成功打开 PDF 后,再看 SumatraPDF 的设置,反向搜索设置就出来了……

TOP

回复 14# kuing

谢谢,不过我现在已经换成虚拟机的ubuntu里打latex了,等有空再试试这个。

这个还不是我现在的主要问题,主要是有些题确实是同一个题,但是用的符号不一致,比如同一题,有的用$x,y$,有的却用$a,b$,还有的叙述方式不一样,现在就是感觉有些题曾经打过,但找不出来了。

TOP

xsim宏包貌似写习题挺方便的, 我就用了基本功能.

TOP

返回列表 回复 发帖