如何消除粗體或大臉字元造成的額外空間?

如何消除粗體或大臉字元造成的額外空間?
\documentclass[letterpaper,10pt]{article}

\begin{document}
\textbf{ \Large Blahblahblah}
\end{document}

由於某種原因\textbf\Large從左邊距創建了這個額外的不需要的空間。我該如何擺脫它?\hfill沒有做任何事情來將文字推回原位,\begin{flushleft}...撒謊並且實際上沒有\textbf向左齊平。

答案1

這個問題與粗體和普通字體無關。相反,您會看到段落的預設縮排。關閉它的一種方法(對於一個段落)是使用\noindent.

\documentclass[letterpaper,10pt]{article}

\begin{document}

A normal paragraph.

\textbf{\Large A normal bold paragraph.}

\noindent
A normal paragraph with \texttt{\textbackslash noindent}.

\noindent\textbf{\Large A bold paragraph with \texttt{\textbackslash noindent}.}
\end{document}

在此輸入影像描述

答案2

有兩個單獨的問題導致文字無法從文字區塊的左側邊距開始。這兩個問題實際上與文字字串恰好以粗體和大字體呈現這一事實無關。

讓我們先研究 OP 的 MWE 的增強版本以及相關輸出的螢幕截圖。 (左側邊緣下方的垂直線代表文字區塊的邊緣。)

\documentclass{article}
\usepackage{showframe} % to show edges of text block
\newcommand\Once{Once upon a time, \dots} % test text string
\begin{document}
\vspace*{1mm}  % just for this example

\textbf{ \Large \Once} % OP's example

\textbf{\Large \Once} % no space before "\Large"

\Once % normal font size and font weight

\noindent
\textbf{\Large \Once} % no more indentation!

\setlength\parindent{0pt} % suppress paragraph indentation globally
\textbf{\Large \Once}
\end{document}

在此輸入影像描述

如第三行所示,縮排問題是不是由於文字字串以粗體/大號呈現而導致。相反,發生這種情況是因為 (a) 文字字串出現在(邏輯)段落的開頭,並且 (b)article文檔類別(以及許多其他文檔類別)設定了一個非零值\parindent,這是控制的參數段落第一行縮排多少。

另請注意,第一行是縮排的比第二行是。\textbf{ \Large \Once}和 和有什麼差別\textbf{\Large \Once}?它是{和之間的空白字元\Large。 TeX 不會吞噬全部空白字元。當心三月十五日。並小心不小心插入的空格。

第四行和第五行顯示如何抑制段落第一行的縮排:對於一次性抑制,請使用\noindent;對於全域抑制,設定\parindent0pt。另外:如果您設定\parindent0pt,您可能還應該將\parskip-- 控制段落之間垂直空白量的參數設為非零值,例如\setlength\parskip{0.5\baselineskip}

相關內容