我尝试在文档的每个小节下添加一条蓝线。我使用以下命令完成此操作:
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesubsection}
{0.5em}
{#1}
[\titleline{\color{blue!65}\titlerule[2.5pt]}]
但是,如果子部分旁边有东西,例如环绕图,Latex 不会检测到它,我的蓝线会覆盖图片。有没有什么办法可以解决这个问题?谢谢。
完整代码:
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{wrapfig}
\usepackage[justification=centering]{caption}
\usepackage[explicit]{titlesec}
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesubsection}
{0.5em}
{#1}
[\titleline{\color{blue!65}\titlerule[2.5pt]}]
\begin{document}
\subsection{Controller Node}
\begin{wrapfigure}[21]{r}{.6\textwidth}
\centering
\includegraphics[width=.6\textwidth]{OpenStackNodes}
\caption{Four-Node architecture}
\label{fig:4nodes}
\end{wrapfigure}
Le noeud contrôleur héberge le service d’identité, le service d’image, la partie management de compute et du réseau, plusieurs agents réseau, et le dashboard. Il inclut également les services support comme une base de données SQL, la file de message, et NTP (Network Time Protocol, methode pour maintenir une horloge juste en communiquant avec une source précise).
En option, le noeud contrôleur peut faire tourner des parties de services de stockage par blocs, de stockage d'objets, d’orchestration et de télémétrie.
\subsection{Compute Node}
Le noeud compute exécute la partie hyperviseur de compute qui fait fonctionner les instances. par défaut, compute utilise l’hyperviseur KVM. Le noeud compute héberge également un agent du service réseau qui connecte les instances aux réseaux virtuels et fournit des services de firewalling aux instances via les groupes de sécurité.
Il est possible de déployer plus d’un noeud compute. Chaque noeud nécessite au minimum deux interfaces réseau.
\end{document}
答案1
将标题规则的长度限制为\linewidth
。
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesubsection}
{0.5em}
{#1}
[\titleline{\color{blue!65}\makebox[\linewidth]{\titlerule[2.5pt]}}]
% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{wrapfig}
\usepackage[justification=centering]{caption}
\usepackage[explicit]{titlesec}
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesubsection}
{0.5em}
{#1}
[\titleline{\color{blue!65}\makebox[\linewidth]{\titlerule[2.5pt]}}]
\begin{document}
\subsection{Controller Node}
\begin{wrapfigure}[21]{r}{.6\textwidth}
\centering
\includegraphics[width=.6\textwidth,height=19\baselineskip]{example-image}
\caption{Four-Node architecture}
\label{fig:4nodes}
\end{wrapfigure}
Le noeud contrôleur héberge le service d’identité, le service d’image, la partie management de compute et du réseau, plusieurs agents réseau, et le dashboard. Il inclut également les services support comme une base de données SQL, la file de message, et NTP (Network Time Protocol, methode pour maintenir une horloge juste en communiquant avec une source précise).
En option, le noeud contrôleur peut faire tourner des parties de services de stockage par blocs, de stockage d'objets, d’orchestration et de télémétrie.
\subsection{Compute Node}
Le noeud compute exécute la partie hyperviseur de compute qui fait fonctionner les instances. par défaut, compute utilise l’hyperviseur KVM. Le noeud compute héberge également un agent du service réseau qui connecte les instances aux réseaux virtuels et fournit des services de firewalling aux instances via les groupes de sécurité.
Il est possible de déployer plus d’un noeud compute. Chaque noeud nécessite au minimum deux interfaces réseau.
\end{document}
答案2
我找到了一个解决方案,也许不是最好的,因为每次遇到这种情况我都必须手动设置标题规则长度,但总比没有好。
\documentclass[french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{wrapfig}
\usepackage[justification=centering]{caption}
\usepackage[explicit]{titlesec}
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesubsection}
{0.5em}
{#1}
[\titleline{\color{blue!65}\titlerule[2.5pt]}]
\begin{document}
\subsection{Controller Node}
\begin{wrapfigure}[21]{r}{.6\textwidth}
\centering
\includegraphics[width=.6\textwidth]{OpenStackNodes}
\caption{Four-Node architecture}
\label{fig:4nodes}
\end{wrapfigure}
Le noeud contrôleur héberge le service d’identité, le service d’image, la partie management de compute et du réseau, plusieurs agents réseau, et le dashboard. Il inclut également les services support comme une base de données SQL, la file de message, et NTP (Network Time Protocol, methode pour maintenir une horloge juste en communiquant avec une source précise).
En option, le noeud contrôleur peut faire tourner des parties de services de stockage par blocs, de stockage d'objets, d’orchestration et de télémétrie.
\let\oldtitleline\titleline
\renewcommand{\titleline}{\oldtitleline*}
\setlength{\titlewidth}{.38\textwidth}
\subsection{Compute Node}
\label{sub:compute_node}
\setlength{\titlewidth}{\textwidth}
Le noeud compute exécute la partie hyperviseur de compute qui fait fonctionner les instances. par défaut, compute utilise l’hyperviseur KVM. Le noeud compute héberge également un agent du service réseau qui connecte les instances aux réseaux virtuels et fournit des services de firewalling aux instances via les groupes de sécurité.
Il est possible de déployer plus d’un noeud compute. Chaque noeud nécessite au minimum deux interfaces réseau.
\end{document}