我创建了一个命令,,用于从导入章节的\importchapter{<title>}{<folder>}{<file>}{<minitables>}
主要内容并自动生成。<file>
<folder>
\chapter{<title>}
biblatex
用于管理参考书目。refsegment
为每个章节创建一个,并\printbibliography[segment=\therefsegment]
在结束时完成\importchapter
。
titletoc
用于在报告的某些章节中放置本地目录和/或图表列表。startcontents
/startlist
放在导入章节文件之前,stopcontents
/stopslist
放在末尾\importchapter
。
由于\printbibliography
如果没有引用就不会显示,所以我不必担心。但是,即使该章节中没有要显示的元素,也会显示部分表格和列表的标题。我决定何时显示,然后手动将\DOmc
和\DOmf
/或放入的参数\DOmt
中。但我希望它们自动检查是否有要显示的内容,就像 一样。<minitables>
\importchapter
\printbibliography
我想我应该研究一下*.ptc
、*.plf
和,并检查第 k章和之间*.plt
是否有任何关系。但我不知道该怎么做。这可能吗?\contentsline
chapter@k
chapter@k+1
在下面的例子中,图表列表应该仅在第一章中显示。
\documentclass[a4paper]{report}
\usepackage{import}
\usepackage[backend=biber,style=ieee-alphabetic,natbib=true,sorting=ynt]{biblatex} %added
\addbibresource{IEEEfull.bib} %added
\usepackage{filecontents}
\begin{filecontents}{intro.tex}
\section{First}
\begin{figure}[!h]\caption{First figure}\end{figure}
\section{Second}
\begin{figure}[!h]\caption{Second figure}\end{figure}
\end{filecontents}
\begin{filecontents}{back.tex}
\section{First back}
\subsection{First sub back}
\end{filecontents}
\usepackage{titletoc}
\newcommand\DOminitoc[2]{ \section*{#1} #2 }
\newcommand\DOmc{ \DOminitoc{ \contentsname }{ \printcontents[chapter]{}{1}{} } }
\newcommand\DOmf{ \DOminitoc{ \listfigurename }{ \printlist[chapter]{lof}{1}{} } }
\newcommand\DOmt{ \DOminitoc{ \listtablename }{ \printlist[chapter]{lot}{1}{} } }
\newcommand\importchapter[4]{
\begin{refsegment}
\chapter{#1}
\startcontents[chapter]
\startlist[chapter]{lof}
\startlist[chapter]{lot}
#4
\vspace{1em}\hrule
\subimport{#2}{#3}
\stopcontents[chapter]
\stoplist[chapter]{lof}
\stoplist[chapter]{lot}
\printbibliography[segment=\therefsegment,heading=subbibliography]
\end{refsegment}
}
\begin{document}
\importchapter{Introduction}{}{intro}{\DOmc\DOmf}
\importchapter{Background}{}{back}{\DOmc\DOmf}
\end{document}