Minitoc 和导入:如何指定 mtc 文件的位置?

Minitoc 和导入:如何指定 mtc 文件的位置?

在我工作的项目中,结构如下

.
├── a
│   └── main.tex
├── b
│   └── main.tex
├── main.tex

根主文件是

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{import}
\usepackage{tocbibind}
\usepackage{minitoc}


\begin{document}
%
\dominitoc
\faketableofcontents

\import*{a/}{main}
\import*{b/}{main}
\end{document}

并且 a/main.tex 和 b/main.tex 文件理想情况下应该是

\chapter{Chapter}
\minitoc
\section{Section}
\subsection{Subsection}

不幸的是,minitoc 没有出现。编译后,我在根目录中有各种 mtc 文件(为了便于阅读,大多数文件都隐藏了)

.
├── [4.0K]  a
│   └── [  69]  main.tex
├── [4.0K]  b
│   └── [  69]  main.tex
├── [   0]  main.mtc
├── [   0]  main.mtc0
├── [ 266]  main.mtc1
├── [ 266]  main.mtc2
├── [ 19K]  main.pdf
├── [ 284]  main.tex
└── [ 192]  main.toc

但是 main.log 抱怨

(./a/main.tex¶                                                                                             | 
    Chapter 1.¶                                                                                                | 
    Package minitoc Info: I0006¶                                                                               | 
    (minitoc)             main.mtc1 is empty on input line 3.¶     

我发现获取 minitoc 的方法是将 main.mtc1 复制/粘贴到 a/ 中。并将 main.mtc2 复制/粘贴到 b/ 中。因此,显然,由于命令 import{a/},minitoc 会在 a/ 和 b/ 目录中查找 mtc 文件(这显然是 import 的作用...)。

我发现的另一个解决方案是在根目录中添加一个 minitoc.tex 文件

.
├── a
│   └── main.tex
├── b
│   └── main.tex
├── main.tex
├── minitoc.tex

其中仅包含

\minitoc

并将 a/main.tex 和 b/main.tex 更改如下

\chapter{Chapter}
\setcounter{mtc}{1}%Or 2, according to the chapter number
\import{../}{minitoc}
\section{Section}
\subsection{Subsection}

这个解决方案的麻烦之处在于我必须手动设置计数器。这还不算太糟,但是有没有更好的自动解决方案?

相关内容