
我使用最新的 MacTex 版本和 Lualatex 排版創建了一本書。 ( \documentclass[a4paper,11pt,twoside]{book}
) 我已經\reflectbox
在整個文件中進行了測試,並且始終工作正常,但是,當我想使用該命令來翻轉符號時,我通過以下方式將其包含在目錄中
\addtocontents{toc}{~\noindent\hfil\reflectbox{\fontsize{20pt}{20pt}{\fryingpan}} \hspace{2pt} {\textbf{\large{Recipes}}} \hspace{2pt} {\fontsize{20pt}{20pt}{\fryingpan}}\hfil\par}
我得到 Tex:661:未定義的控制序列。
我還嘗試過包含更多括號,例如
\addtocontents{toc}{~\noindent\hfil{\reflectbox{\fontsize{20pt}{20pt}{\fryingpan}}} \hspace{2pt} {\textbf{\large{Recipes}}} \hspace{2pt} {\fontsize{20pt}{20pt}{\fryingpan}}\hfil\par}
但最終會出現相同的錯誤。
如果沒有\reflectbox
,程式碼可以正常運作:
\addtocontents{toc}{~\noindent\hfil{\fontsize{20pt}{20pt}{\fryingpan}} \hspace{2pt} {\textbf{\large{Recipes}}} \hspace{2pt} {\fontsize{20pt}{20pt}{\fryingpan}}\hfil\par}
有任何想法嗎?詹姆士
這是我的序言:
\documentclass[a4paper,11pt,twoside]{book}
\renewcommand{\baselinestretch}{1}
\usepackage[no-math]{luatexja-fontspec}
\setmainjfont{Hiragino Mincho Pro}
\setsansjfont{Hiragino Sans}
\setmainfont[Ligatures=TeX]{CMU Serif}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
\ltjsetparameter{jacharrange={-1, -2, +3, -4, -5, +6, +7, +8}}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{russian}
\setotherlanguage{japanese}
\setlength{\columnsep}{3em}
\setlength{\columnseprule}{0.5pt}
%\setlength{\footnotesep}{0.3cm}
\setlength{\skip\footins}{18pt}
\usepackage [top=1.8cm,
bottom=1.8cm,
left=3cm,
right=2cm,
headheight=17pt,
includehead,includefoot,
%heightrounded,
%showframe
]{geometry}
\usepackage{multicol}
\usepackage{parskip}
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
\usepackage{verbatim}
\usepackage{graphicx}
\setlength{\intextsep}{18pt}
\setlength{\textfloatsep}{\baselineskip}
\setlength{\floatsep}{\baselineskip}
\usepackage[export]{adjustbox}
\usepackage{rotating}
\usepackage{fancyhdr}
\usepackage{float}
\usepackage{wrapfig}
%\usepackage{subcaption}
\usepackage{caption}
\captionsetup[figure]{aboveskip=7pt, belowskip=- \baselineskip,font=footnotesize,labelfont=bf}
\usepackage{enumitem}
\setlist[itemize]{parsep=4pt}
\setlist[enumerate]{parsep=5pt}
\usepackage{gensymb}
%\usepackage{wrapfig}
\usepackage{natbib}
\usepackage{array,tabu}
\usepackage{amssymb, pifont, marvosym, tikzsymbols, fdsymbol, wasysym, fontawesome, ifsym, academicons}
\usepackage{setspace}
\usepackage{xcolor}
\definecolor{orcid}{HTML}{a7cc46}
\definecolor{RG}{HTML}{21cbbb}
\definecolor{linkedin}{HTML}{1078b3}
\definecolor{twitter}{HTML}{2aa3ef}
\definecolor{face}{HTML}{4469b0}
\usepackage{skak}
\usepackage{chngcntr}
\usepackage{textcomp}
\usepackage{titlesec}
\usepackage{longtable}
%\usepackage{amsmath}
%\usepackage{svg}
\usepackage{nicefrac}
\usepackage{balance}
\usepackage{mdwlist}
\usepackage{imakeidx}
%\usepackage[font=normalsize]{idxlayout}
\usepackage[final]{pdfpages}
\makeindex[columns=2, columnseprule, title=Index]
\PassOptionsToPackage{hyphens}{url}\usepackage[breaklinks,hidelinks,linktocpage=true]{hyperref}
\hypersetup{%
colorlinks = true,
linkcolor = blue,
urlcolor = blue
}
\setlistdepth{4}
\newlist{myEnumerate}{enumerate}{4}
\setlist[enumerate,1]{label=\textit{\arabic*.}}
\setlist[enumerate,2]{label=\textit{\alph*.}}
\setlist[enumerate,3]{label=\textit{\roman*.}}
\setlist[enumerate,4]{label=$$}
\titleformat{\chapter}[block]{\color{black}\Large\bfseries\filcenter}{}{0pt}{}
\titlespacing*{\chapter}{0pt}{0pt}{0pt}
\titleformat{\section}[block]{\color{black}\Large\bfseries\filcenter}{}{1em}{}
\setcounter{secnumdepth}{0}
\setcounter{tocdepth}{3} %definition of the no. of levels in the ToC list
\renewcommand{\thefootnote}{\scriptsize{\roman{footnote}}} %fontsize footnote
\addto\captionsenglish{\renewcommand{\contentsname}{Table of Contents \label{TaoCo}}} %Title of ToC
%definition of \quote margins
\renewenvironment{quote}{%
\list{}{%
\leftmargin20pt % this is the adjusting screw
\rightmargin\leftmargin
}
\item\relax
}
{\endlist}
%--------------------------PAGESTYLE Preface-----------------------------------------
\fancypagestyle{preface}{
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[L]{\small Preface}
\fancyhead[R]{\small Name}
\fancyfoot[C]{\small Name}
%\fancyfoot[LE,RO]{\small \thepage}
}
答案1
如果您打算經常使用這個反射煎鍋,我建議為它編寫一個巨集:
\newcommand\napgniyrf{\protect\reflectbox{\fontsize{20pt}{20pt}{\fryingpan}}}
請注意\protect
上面評論中的建議。透過此更改,您的 MWE(或至少是您的 MWE 應該是的!:) 可以很好地生成:
這是完整的程式碼:
\documentclass{article}
\usepackage{tikzsymbols}
\usepackage{graphicx}
\newcommand\napgniyrf{\protect\reflectbox{\fontsize{20pt}{20pt}{\fryingpan}}}
\begin{document}
\addtocontents{toc}{~\noindent\hfil{\fontsize{20pt}{20pt}{\fryingpan}}\hspace{2pt}{\textbf{\large{Recipes}}}\hspace{2pt}{\fontsize{20pt}{20pt}{\fryingpan}}\hfil\par}
\addtocontents{toc}{~\noindent\hfil\napgniyrf\hspace{2pt}{\textbf{\large{Recipes}}}\hspace{2pt}{\napgniyrf}\hfil\par}
\tableofcontents
\end{document}
您可能還想定義
\newcommand\Fryingpan{\fontsize{20pt}{20pt}{\fryingpan}}
這樣您就不需要\fontsize
在想使用時就使用\fryingpan
.
答案2
爭論很感人,因此應該保護\addtocontents
諸如此類的脆弱命令。\reflectbox
相反,定義一個強大的命令會更容易。
我會避免\fontsize{20pt}{20pt}
這樣做:\scalebox
更好。
\documentclass{article}
\usepackage{tikzsymbols}
\usepackage{graphicx}
\DeclareRobustCommand\mnapgniyrf{\scalebox{-2}[2]{\fryingpan}}
\DeclareRobustCommand\mfryingpan{\scalebox{2}{\fryingpan}}
\begin{document}
\addtocontents{toc}{%
\noindent\hfil\mfryingpan
\hspace{2pt}\textbf{\large{Recipes}}\hspace{2pt}%
\mnapgniyrf\par
}
\tableofcontents
\end{document}
如果您需要使用不同大小的符號,則另一種策略是
\DeclareRobustCommand\mnapgniyrf[1]{\scalebox{-#1}[#1]{\fryingpan}}
\DeclareRobustCommand\mfryingpan[1]{\scalebox{#1}{\fryingpan}}
要求雙倍尺寸的呼聲將是
\mfryingpan{2}
\mnapgniyrf{2}