继续使用 svmono 时,如何将 halmos 放入 H 型图形的标题中?,当你使用类article
而不是时该怎么办svmono
?pdflatex
运行
\documentclass{article}
\pagestyle{empty}
\usepackage{float}
\makeatletter
\newcommand*{\qedSymbol}{\rule{1ex}{1ex}}%% or \boxempty,\square, etc.
\newcommand*{\qedOne}{{\unskip\nobreak\hfil\penalty50\hskip1em\null\nobreak\hfil\qedSymbol\parfillskip=\z@\finalhyphendemerits=0\endgraf}}
\newcommand{\qedTwo}{\penalty-100\mbox{}\quad\nobreak\hfill\nobreak\qedSymbol}% from http://tex.stackexchange.com/a/654684 .
\makeatother
\begin{document}
This long long long long long long long long long long long long long long long long long long long long long long long line contains a nicely placed \qedOne
\begin{figure}[H]%\centering% We usually center the contents.
Figure contents
\caption{This caption contains a wrongly placed \qedOne}
\end{figure}
This long long long long long long long long long long long long long long long long long long long line long long line also contains a nicely placed \qedTwo
\begin{figure}[H]%\centering% We usually center the contents.
Figure contents
\caption{This caption also contains a wrongly placed \qedTwo}
\end{figure}
\end{document}
产量
如您所见,标题中的墓碑符号不在右边距。如何将这些墓碑移到右边?(不,请不要建议\marginnote
、\marginpar
或\marginline
,因为我们的非最小示例将文本写入边距并加载一些影响/重新定义这些命令的包。同样,固定的、不灵活的解决方案也不受欢迎\hskip10em\qedSymbol
,因为它们会在文本、边距或字体发生变化时中断;我们对更灵活的方式感兴趣。另外,不要使用包caption
(因为它会破坏非最小示例中的其他内容)。)
答案1
我希望这可以在任何非 MWE 中工作。第三个标题有一些结尾的“x”,用于显示最后一行无法容纳更多文本时的结果,因此即使只有一个“x”也会导致换行,如第四张图所示。
\documentclass{article}
\usepackage{lipsum}
\newcommand\qed{%
\nobreak\mbox{ }\nobreak\hfill%
\hspace{\linewidth minus .999\linewidth}%
\rule{1ex}{1ex}\par}
\begin{document}
\noindent\lipsum[1][1] \qed
\lipsum[1][1-2] \qed
\lipsum[1][1-4] \qed
\begin{figure}[h!]
\centering\rule{5cm}{1cm}
\caption{\lipsum[3][1]\qed}
\end{figure}
\begin{figure}[h!]
\centering\rule{5cm}{1cm}\caption{\lipsum[3][1-3]\qed}
\end{figure}
\begin{figure}[h!]
\centering\rule{5cm}{1cm}\caption{\lipsum[3][1-3] xxxxxxxx\qed}
\end{figure}
\begin{figure}[h!]
\centering\rule{5cm}{1cm}\caption{\lipsum[3][1-3] xxxxxxxxx\qed}
\end{figure}
\end{document}