LaTeXer
LaTeXer
这家伙很懒,什么也没写!

注册于 5年前

回答
500
文章
343
关注者
241

解决方案一:选自:https://tex.stackexchange.com/questions/16336/add-an-asterisk-in-front-of-section-label-in-toc

\documentclass{book}
\usepackage{tocloft}
\usepackage{lipsum} % for dummy text
\newenvironment{hard}
{\renewcommand{\thesection}{*\thechapter.\arabic{section}}}
{}
% set section numbers in TOC flush right (from the tocloft documentation)
\newlength{\extralen}
\setlength{\extralen}{0.5em}    % need some extra space at end of number
\renewcommand{\cftsecpresnum}{\hfill} % note the double ‘l’ 
\renewcommand{\cftsecaftersnum}{\hspace*{\extralen}}
\addtolength{\cftsecnumwidth}{\extralen}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A regular section}\label{easylabel}
In Section~\ref{easylabel} we see\ldots
\lipsum
\begin{hard}
\section{A hard section}\label{hardlabel}
\lipsum
\end{hard}
In Section~\ref{hardlabel} we see\ldots
\end{document}

效果图:
image.png

解决方案二:莲枝提供:

\usepackage[titles]{tocloft}
\usepackage{etoolbox}

\section{Foo}
\addtocontents{toc}{\protecting{\renewcommand{\cftsubsecpresnum}{\makebox[0pt][r]{$\star$\space}}}}
\subsection{Something something}
\addtocontents{toc}{\protecting{\renewcommand{\cftsubsecpresnum}{}}}

效果图:
image.png

整体的格式基本差不多了,上下间距在设置字体大小的时候都考虑了。没必要去各种调试。

下面这个例子,来自 LaTeX 入门:

\vspace{\baselineskip}% 被忽略的高度
\[
\text{实数} \begin{cases}
\text{有理数}\smash[t]{\begin{cases}
\text{整数}\smash{\begin{cases}
\text{奇数} \\ \text{偶数}
\end{cases}}\\
\text{分数}
\end{cases}} \\[4ex]
\text{无理数}\smash[b]{\begin{cases}
\text{代数无理数} \\ \text{超越数}
\end{cases}}
\end{cases}
\]

样子如下:
image.png

实际就是一个命令如下,如果你是 texlive 默认自带了,命令行执行如下:

latexdiff  old.tex  new.tex  >output.tex

如果命令行或者终端不在tex文件目录则需要添加完整文件path。其中old.tex是修改之前的文件;new.tex是完善之后的文件;

这里输入引用文本符合千万不能忘记 output则为输出差异化tex文件。里面Texlive编译这个输出文件就可以一目了然看到变化了!

图片使用 tikz 绘图,可以直接 cite 或者 ref 的。独立文档之外的图片 肯定不行了。

代码太乱了,看不明白,最好给个完整还原样例。

推荐改改版吧,换用 ctexbook 作为基础类来做,就没这个问题了。

选自:https://wenda.latexstudio.net/q-2575.html
\setwisdom[分隔符]{名言列表}\addwisdom[分隔符]{名言列表}设置名言列表

\documentclass{ctexart}
\usepackage{fancyhdr}
\usepackage{xparse}
\usepackage{xcolor}

\ExplSyntaxOn

\seq_new:N \g__wisdom_seq
\int_new:N \g__wisdom_idx_int

\int_gzero:N \g__wisdom_idx_int

\msg_new:nnn { wisdom } { invalid } { Invalid~index! }

\NewDocumentCommand \setwisdom { O{\\} m }
  {
    \set_wisdom:nn { #1 } { #2 }
  }

\NewDocumentCommand \addwisdom { O{\\} m }
  {
    \add_wisdom:nn { #1 } { #2 }
  }

\NewDocumentCommand \usewisdom { o }
  {
    \IfValueTF { #1 }
      {
        \int_compare:nTF
          { 1 <= #1 <= \seq_count:N \g__wisdom_seq }
          { \seq_item:Nn \g__wisdom_seq { #1 } }
          { \msg_error:nn { wisdom } { invalid } }
      }
      { \use_wisdom: }
  }

\cs_new_protected:Nn \set_wisdom:nn
  {
    \seq_gclear:N \g__wisdom_seq
    \seq_gset_split:Nnn \g__wisdom_seq { #1 } { #2 }
  }

\cs_new_protected:Nn \add_wisdom:nn
  {
    \seq_set_split:Nnn \l_tmpa_seq { #1 } { #2 }
    \seq_gconcat:NNN \g__wisdom_seq \g__wisdom_seq \l_tmpa_seq
  }

\cs_new_protected:Nn \use_wisdom:
  {
    \int_compare:nTF
      { \g__wisdom_idx_int = \seq_count:N \g__wisdom_seq }
      { \int_gzero:N \g__wisdom_idx_int }
      { \int_gincr:N \g__wisdom_idx_int }
    \seq_item:Nn \g__wisdom_seq { \g__wisdom_idx_int }
  }

\ExplSyntaxOff

\fancyhf{}
\renewcommand\headrulewidth{0pt}
\pagestyle{fancy}
\fancyfoot[C]{\itshape\color{teal}\usewisdom}

\setwisdom{
  Guilty consciences make men cowards.\\
  做贼心虚。\\
  Honesty is the best policy.\\
  做人诚信为本。
}
\addwisdom{
  Come what may, heaven won't fall.\\
  做你的吧,天塌不下来。
}

\begin{document}
abc
\newpage
abc
\newpage
abc
\newpage
abc
\end{document}

可以看看这个例子,bicaption 包文档的第 5 节“自定义列表”中记录的那样工作,即为此目的使用选项 listtype+=...,看看如下例子:

\documentclass{ctexbook}
\usepackage{caption,bicaption,graphicx}
\captionsetup[figure][bi-second]{name=Figure}
\usepackage{mwe}

% Use the bicaption package with list type "figureEng" for the 2nd language
\captionsetup[bi-second]{listtype+=Eng}
% Define type "figureEng" and \listoffigureEng
\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=lof2]{figureEng}[Figure][List of Figures]

\begin{document}
\frontmatter
\listoffigures
\listoffigureEng
\mainmatter
\blindtext
\begin{figure}[!htbp]
    \centering
    \includegraphics{example-image.pdf}
    \bicaption{第一个图}{first figure}
    \label{fig:figure1}
\end{figure}

\blindtext
\begin{figure}[!htbp]
    \centering
    \includegraphics{example-image.pdf}
    \bicaption{第二个图}{second figure}
    \label{fig:figure2}
\end{figure}
\end{document}

image.png

image.png

1, 请把代码放在代码块里,编辑器都显示的很清楚了。

2,CJK 的中文支持方式,十年前基本都不再用了。现在新的中文支持都不用了,当然无法编译了。自己改改更新下知识。建议看看:
https://ctan.org/pkg/lshort-zh-cn

发布
问题