![我怎样才能使删除大写字母(lettrine)后的前几行向左对齐?](https://linux22.com/image/359219/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E4%BD%BF%E5%88%A0%E9%99%A4%E5%A4%A7%E5%86%99%E5%AD%97%E6%AF%8D%EF%BC%88lettrine%EF%BC%89%E5%90%8E%E7%9A%84%E5%89%8D%E5%87%A0%E8%A1%8C%E5%90%91%E5%B7%A6%E5%AF%B9%E9%BD%90%EF%BC%9F.png)
使用以下代码,字母章节编号后面的第一行文本的开头并不总是与第二行的开头完全对齐。
改变 Nindent 或 Findent 的值并不能从整体上解决问题。
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lettrine}
\usepackage{lipsum}
%%%%chapter format
\newcommand{\chaplabel}{}
\newcommand{\gnumChapters}{0}
\newcommand{\gChapter}[1]{\lettrine[lines=2,nindent=.25em,findent=.1em]{{\textcolor{black}{#1}}}{}\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}\renewcommand{\gnumChapters}{#1}}
%%%%verse format
\makeatletter
% define a 'smaller textsuperscript' macro
\DeclareRobustCommand*\textsmallsuperscript[1]{%
\@textsmallsuperscript{\selectfont#1}}
\def\@textsmallsuperscript#1{%
{\m@th\ensuremath{^{\mbox{\fontsize\ssf@size\z@#1}}}}}
\makeatletter
\newcommand{\gverse}[1]{{\textsmallsuperscript{#1}\hspace*{.1em}\ignorespaces\markboth{\chaplabel\ \gnumChapters:#1}{\chaplabel\gnumChapters:#1}}\ignorespaces}
\begin{document}
\gChapter{1}
\gverse{1-2}\lipsum[2]
\gChapter{11}
\gverse{3}\lipsum[3]
\gChapter{22}
\gverse{4}\lipsum[4]
\gChapter{33}
\gverse{5}\lipsum[5]
\gChapter{245}
\gverse{6}\lipsum[6]
\end{document}
答案1
缩进块的第一行以 后的行尾空格开始\gChapter{...}
。可以使用 删除它\ignorespaces
,例如:
\newcommand{\gChapter}[1]{%
\lettrine[
lines=2,
findent=0.5em,
nindent=0em,
]{%
{\textcolor{black}{#1}}%
}{}%
\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}%
\renewcommand{\gnumChapters}{#1}%
\ignorespaces
}
LaTeX 警告
LaTeX Font Warning: Size substitutions with differences
(Font) up to 5.26443pt have occurred.
可以通过使用包fix-cm
(使 Computer Modern 字体可扩展) 或lmodern
(Latin Modern Fonts,Computer Modern 的后继者) 来删除。示例使用后者: