拿了橘子跑啊
拿了橘子跑啊
这家伙很懒,什么也没写!

注册于 4年前

回答
87
文章
0
关注者
4

这个应该是模板设置好的章节样式,如果用模板就不要去改它。自己参照模板写文档的话,找到 cls 相应定义,直接修改(非常不建议,特别是修改 TDS 下的模板)或者用 xpatchetoolbox 等宏包去 patch 部分语句修改。

我习惯用 subcaption 包,不喜欢用 subfigsubfigure 包(三个宏包两两相互冲突,不要同时加载)。例子如下:

\documentclass{article}
\usepackage{mwe,graphicx,caption,subcaption}
\begin{document}
\begin{figure}
  \begin{minipage}{0.32\linewidth}
    \includegraphics[width=\linewidth]{example-image-a.pdf}
    \subcaption{1st}\label{fig:a}
  \end{minipage}
  \begin{minipage}{0.32\linewidth}
    \includegraphics[width=\linewidth]{example-image-a.pdf}
    \subcaption{2nd}\label{fig:b}
  \end{minipage}
  \begin{minipage}{0.32\linewidth}
    \includegraphics[width=\linewidth]{example-image-a.pdf}
    \subcaption{3rd}\label{fig:c}
  \end{minipage}
  \caption{The sample}\label{fig:sample}
\end{figure}
\end{document}

上面例子里也可以用 subfiguresubtable 替代 minipage 子环境(只是改一下环境名称,参数格式类型完全一致),子环境内可以用 \caption 替代 \subcaption(参数格式类型也是一致),子环境外 figure 环境内使用 \caption 命令。两种用法都是可以的,可以根据自己的习惯使用。

为什么不用文档类的选项 [twocolumn] 呢?默认就是一列排满再排第二列的啊。

如果不想要 “第一章” “第二章” 这两个章节编号,可以用\frontmatter 来把这两章放在前置的部分,如“前言” “序”之类的章节结构。需要编号的章前使用 \mainmatter 开始正文部分,文末不需要编号的章节可以用\backmatter 来开启后置部分,如“后记”、“跋”等。(当然,这仅对基础文档类是 book 文档类时才有效。)至于说单列排版、行间距控制和抑制页码的产生,那就需要自己去改了。有的有宏包可以设置,有的需要自己去 patch 命令,或者干脆自己重定义。

要看(1) (2) 这种编号在文档结构的含义是什么,从仅仅这一段来看,类似 enumerate 环境的条目编号,那么在 \item 后用行内公式,公式里用带 -ed 的数学子环境 aligned 就可以。示例:

\documentclass{article}
\usepackage{amsmath}
\usepackage[shortlabels]{enumitem}
\begin{document}
\begin{enumerate}[(1)]
  \item 
  $\begin{aligned}[t]
    (a+b)^2 & = a\cdot a + b\cdot a + a\cdot b + b\cdot b \\ 
            & =a^2+2ab+b^2
  \end{aligned}$
  \item  
  $\begin{aligned}[t] 
  (a+b)\cdot(a-b) & = a\cdot a +b\cdot a -a\cdot b -b\cdot b \\ 
                  & = a^2-b^2
  \end{aligned}$
\end{enumerate}
\end{document}

效果:
image.png

如果 (1) (2) 作为公式编号出现,那么可以直接用 leqno 选项左边显示公式编号,fleqn 选项将公式左对齐,如果还想把两个公式中的 = 对齐,这个写法可以成为:

\documentclass[fleqn,leqno]{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
(a+b)^2 & = a\cdot a + b\cdot a + a\cdot b + b\cdot b \\ 
        & =a^2+2ab+b^2 \notag\\
(a+b)\cdot(a-b) & = a\cdot a +b\cdot a -a\cdot b -b\cdot b \\ 
                & = a^2-b^2    \notag        
\end{align}
\end{document}

效果:
image.png

方法很多,

  1. 你可以用\makebox[2em][c]{$xxx$} 作为 node 的文字内容,这样需要对齐的节点的宽度就是一致的了,只要内容自然宽度不超过给定的宽度;
  2. 你可以用[every node./style={minimum size=7mm}] 之类的设置全局设定好 node 的最小宽度,当然,内容自然宽度超过这个数值的 node 其宽度还是自然宽度;
  3. 个别需要设定最小宽度的 node 也可以专门为其加选项参数 [minimum size =7mm]

如果一定要断词,自己用\-设置断词点是可以的。或者像 @LaTeXStudio 提供的在下划线断词的方法都是可以的。对于这个案例,我个人认为这些都是专有名词,应该尽量不进行断词,并用抄录形式来表达。可以在不影响文档本意的时候调整一下叙述语句和方式,让换行位置不出现在这些词中间。像“在 XXX 文件中写入……” 后面这段内容完全可以在此换行用 verbatim 等代码抄录环境来单独展示。后面可能就不发生需要在这类词中间换行的情况了。

估计是模板特殊的参考文献样式,这取决于你用了什么参考文献样式。MWE 要给出来。

在我看来,那根本不是段落最后一行的问题。那是不同段落之间的垂直间距问题。这要综合前后几页文档的情况来看。比如说,本页末尾正好排到一个章节标题,但排不下标题后的正文,而页面底部不允许出现无正文的标题,于是标题被放到下一页,而前面这一页的空间不能占满,latex 就会调节各段落之间的垂直间距。你只给这点东西根本看不出问题的所在。问题也不一定就是你想象的那个问题。

所以,MWE 是必要的。

itemize 等列表环境在标准文档类中都是支持跨页显示的,不需要什么设置。如果你发现列表环境不能跨页显示,看看是不是将其放在了 minipage figuretable 这种不支持跨页的盒子中,或者你用的文档类是beamer, itemize 放在了 frame 环境中,这些情况都可能导致 \item 条目或内容过多而无法换页。

对于标准文档类,正常写不要嵌入到其他不可换页的环境中即可。对于beamer, frame 加上 allowframebreaks 选项即可实现换页。不过 allowframebreaks 不建议在文档中过多使用,像 itemize 这类的列表在 beamer 中本来就应该精炼到一页能放下,而且条目不宜过多。

我没有看懂你这个图 X 坐标的逻辑是什么,所以标签问题不知道应该怎么改。不过左右两边的柱状图显示不全的问题你可以给 axis 环境加一个选项 enlarge x limits=0.2 把X坐标的范围向两侧各扩充一定比例就可以了,当然这个放大的比例数字你可以自己调整看情况。

编号没有错误啊,bib 文件里的文献排列顺序和排版出来的文献顺序无关,排版出来的文献顺序取决于你使用的参考文献样式。

发布
问题