我想专门研究波斯语 biditufte 课程。我在报告课程中使用了此代码,但在 biditufte-handout 课程中出现了错误。
\documentclass{report}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\definecolor{sec}{HTML}{DD5C14}
\definecolor{band}{HTML}{EE9C52}
\titleformat{\section}[hang]{\sffamily\Huge\bfseries}{}{0.5ex}%
{\begin{minipage}{0.975\textwidth}%
\noindent
\color{band}%
\llap{\vrule width\textwidth height1ex depth0ex\hskip0.75ex}%
\textcolor{sec}{\unskip#1}%
\hskip0.75ex%
\rlap{\vrule width\textwidth height1ex depth0ex}%
\end{minipage}}[\smallskip]
\usepackage[Kashida]{xepersian}
\settextfont[Language=Default]{Persian Modern}
\setdigitfont{Persian Modern}
\begin{document}
\section[\rl{اولین هدر} ]{\rl{اولین\\ بخش}}
مقداری متن برای اولین بخش
\end{document}
是否有任何解决方案可以在此类中使用 titlesec?如果没有,我该怎么做才能像上面的代码一样更改所有部分?
谢谢。
答案1
该类已在未使用该选项的情况下biditufte-handout
加载,因此您无法使用该选项再次加载它。titlesec
explicit
这不是一个大问题:如果没有这个explicit
选项,最后一个强制参数\titleformat
可以是空的,也可以是一个带参数的宏,部分标题将被传递给该宏。
但是,还必须覆盖\titleformat
该类发出的指令,从而延迟开始文档时的新指令。
\documentclass{biditufte-handout}
\usepackage{xcolor}
\definecolor{sec}{HTML}{DD5C14}
\definecolor{band}{HTML}{EE9C52}
\newcommand{\dosection}[1]{%
\begin{minipage}{0.975\textwidth}
\noindent
\color{band}%
\llap{\vrule width\textwidth height1ex depth0ex\hskip0.75ex}%
\textcolor{sec}{\unskip#1}%
\hskip0.75ex
\rlap{\vrule width\textwidth height1ex depth0ex}%
\end{minipage}%
}
\AtBeginDocument{%
\titleformat{\section}[hang]
{\sffamily\Huge\bfseries}
{}
{0.5ex}
{\dosection}
[\smallskip]%
}
\usepackage[Kashida]{xepersian}
\settextfont[Language=Default]{Persian Modern}
\setdigitfont{Persian Modern}
\begin{document}
\section[\rl{اولین هدر} ]{\rl{اولین\\ بخش}}
مقداری متن برای اولین بخش
\end{document}