我正在写一篇 4-5 页的文章文档,全宽的传统目录确实感觉有点过分,而且会占用太多空间,但我仍然觉得目录非常适合展示文档结构。理想情况下,我希望将目录框在文章的左上角(内容从右侧立即开始),就像许多期刊甚至维基百科一样。
到目前为止,我已经尝试使用列、迷你页面和包装图来实现这一点,但这些解决方案都不能令人满意(我已经使用乳胶有一段时间了,但我总是让他做这项工作,所以我不太熟悉手动做事)。
主要问题是使起始内容正确且自动地环绕目录(无法通过 colums 或 minipage 实现),以及使起始内容和目录正确对齐且清晰(无法通过 wrapfigure 实现)。
这是我迄今为止最好的尝试:
\documentclass[a4paper]{article}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{lipsum}
\usepackage{float} %floats and figures
\usepackage{graphicx} %load images
\usepackage{wrapfig} %figures within text
\usepackage{subcaption} %multiple subfigures and subcaptions
\usepackage{amsmath}
\begin{document}
\begin{center}
{\LARGE Rapport de visite d'entreprise}\\
{\includegraphics[width=.3\textwidth]{ABB.jpg}}\\
Nathan Dwek\\
\today
\end{center}
\begin{wrapfigure}{L!}{.5\textwidth}
\tableofcontents
\end{wrapfigure}
\section{Le groupe ABB}
\lipsum[1]
\section{ABB Jumet}
\lipsum[2]
\section{La ligne de production de condensateurs}
\subsection{La métallisation}
\subsection{Le choupage\label{choupage}}
\subsection{Traitements de finition}
\section{Systèmes à condensateurs}
\subsection{Condensateurs en triphasé}
\subsection{Armoires à condensateurs}
\end{document}
结果:
如您所见,章节标题的位置不对(应该位于起始文本的正上方),并且目录的水平对齐方式很奇怪(请参阅@Keks Dose 对这部分的回答)
有什么提示吗?
先感谢您
答案1
您已经快完成了!您面临的主要问题在包裹图上方留有奇怪的空间和包裹的图表在部分之后与文本级别发生偏离。因此,我的代码的重要部分是
\section{Le groupe ABB}
\begingroup
\setlength\intextsep{0pt} %<---- IMPORTANT
\begin{wrapfigure}{l}{.5\textwidth}
....
\end{wrapfigure}
\lipsum[1]
\endgroup
你有很多选择来帮助构图;我喜欢tcolorbox
包,否则mdframed
包裹。
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\begin{document}
\begin{center}
{\LARGE Rapport de visite d'entreprise}\\
{\includegraphics[width=.3\textwidth]{ABB.jpg}}\\
Nathan Dwek\\
\today
\end{center}
\section{Le groupe ABB}
\begingroup
\setlength\intextsep{0pt}
\begin{wrapfigure}{l}{.5\textwidth}
\begin{tcolorbox}[
enhanced,fonttitle=\bfseries\Large,
colback=gray!10,colframe=gray,%colframe=red!50!black,
drop fuzzy shadow,
title={Contents},]
\makeatletter
\@starttoc{toc}
\makeatother
\vspace{.5cm}
\end{tcolorbox}
\end{wrapfigure}
\lipsum[1]
\endgroup
\section{ABB Jumet}
\lipsum[2]
\section{La ligne de production de condensateurs}
\subsection{La métallisation}
\subsection{Le choupage\label{choupage}}
\subsection{Traitements de finition}
\section{Systèmes à condensateurs}
\subsection{Condensateurs en triphasé}
\subsection{Armoires à condensateurs}
\end{document}
更新以下评论
如果你想要下一个toc
您可以使用以下方式诱使wrapfig
自己相信那里有一个段落:
...
\end{wrapfigure}
\paragraph{}
\unskip
\section{Le groupe ABB}
\lipsum[1]
您可以使用标题安全包来帮助标题周围的间距 - 最终结果是:
这是完整的代码,您可以随意玩一下。
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\usepackage{tcolorbox}
\usepackage{titlesec}
\tcbuselibrary{skins}
% spacing around headings
% From the titlesec package
% \titlespacing{command}{left spacing}{before spacing}{after spacing}[right]
% spacing: how to read {12pt plus 4pt minus 2pt}
% 12pt is what we would like the spacing to be
% plus 4pt means that TeX can stretch it by at most 4pt
% minus 2pt means that TeX can shrink it by at most 2pt
% This is one example of the concept of, 'glue', in TeX
\titlespacing\section{0pt}{5pt plus 0pt minus 2pt}{5pt plus 2pt minus 2pt}
\begin{document}
\begin{center}
{\LARGE Rapport de visite d'entreprise}\\
{\includegraphics[width=.3\textwidth]{ABB.jpg}}\\
Nathan Dwek\\
\today
\end{center}
\begingroup
\titlespacing\section{0pt}{-5pt plus 0pt minus 2pt}{5pt plus 2pt minus 2pt}
\titlespacing{\paragraph}{0pt}{0pt plus .1ex minus .2ex}{0pt}
\setlength\intextsep{0pt}
\begin{wrapfigure}{l}{.5\textwidth}
\begin{tcolorbox}[
enhanced,fonttitle=\bfseries\Large,
colback=gray!10,colframe=gray,%colframe=red!50!black,
drop fuzzy shadow,
title={Contents},]
\makeatletter
\@starttoc{toc}
\makeatother
\end{tcolorbox}
\end{wrapfigure}
\paragraph{}
\unskip
%\vspace*{-2\parskip}
\section{Le groupe ABB}
\lipsum[1]
\endgroup
\section{ABB Jumet}
\lipsum[2]
\section{La ligne de production de condensateurs}
\subsection{La métallisation}
\subsection{Le choupage\label{choupage}}
\subsection{Traitements de finition}
\section{Systèmes à condensateurs}
\subsection{Condensateurs en triphasé}
\subsection{Armoires à condensateurs}
\end{document}
答案2
我不确定我是否清楚地理解了你的愿望,但是这个怎么样:
\documentclass[a4paper]{article}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
\usepackage{textcomp, multicol}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{lipsum}
% \usepackage{float} %floats and figures
% \usepackage{graphicx} %load images
% \usepackage{wrapfig} %figures within text
% \usepackage{subcaption} %multiple subfigures and subcaptions
% \usepackage{amsmath}
\begin{document}
\begin{center}
{\LARGE Rapport de visite d'entreprise}\\
% {\includegraphics[width=.3\textwidth]{ABB.jpg}}\\
Nathan Dwek\\
\today
\end{center}
\begin{multicols}{2}
\tableofcontents
\columnbreak
\section{Le groupe ABB}
\lipsum[1]
\end{multicols}
\section{ABB Jumet}
\lipsum[2]
\section{La ligne de production de condensateurs}
\subsection{La métallisation}
\subsection{Le choupage\label{choupage}}
\subsection{Traitements de finition}
\section{Systèmes à condensateurs}
\subsection{Condensateurs en triphasé}
\subsection{Armoires à condensateurs}
\end{document}
在您的真实文档中,您必须尝试各种放置的位置\columnbreak
。