如何在RMarkdown中实现句末句号显示在右引号外侧
问题描述
我正在使用RMarkdown撰写论文,希望句末的句号能够正常显示在句子末尾。
我统一使用"字符作为左右引号,已明确将句号插入在右引号之后,但实际渲染效果如下:
文档前置配置
\documentclass[12pt, a4paper, twoside, openright]{report} \usepackage{sectsty} \usepackage[style=authoryear, sorting=nyt, backend=bibtex]{biblatex} \usepackage[italian]{babel} \usepackage{float} \usepackage{paralist} \usepackage{setspace} \usepackage{fancyhdr} \usepackage{lastpage} \usepackage{dcolumn} \usepackage{graphicx} \usepackage{geometry} \usepackage{subfiles} \usepackage[utf8]{inputenc} \usepackage{titlesec} \usepackage{amsmath} \usepackage{amssymb} \usepackage{dsfont} \usepackage{bm} \usepackage{wasysym} \usepackage{amstext} \usepackage{array} \usepackage{hhline} \usepackage[labelfont=bf]{caption} \usepackage{csquotes} \renewcommand{\baselinestretch}{1.4} \geometry{left = 3cm, right = 3cm, top = 3cm, bottom = 2.5cm} \graphicspath{{img}} \setcounter{chapter}{0} \renewcommand{\thesection}{\thechapter.\arabic{section}} \titleformat{\chapter}[hang]{\normalfont\huge\bfseries\raggedright}{\thechapter}{40pt}{\huge} \sectionfont{\bfseries\Large\raggedright} \subsectionfont{\raggedright} \subsubsectionfont{\itshape\raggedright} \newcommand{\R}{\mathbb{R}} \newcolumntype{L}{>{$}l<{$}} \bibliography{bibliografia.bib}
异常效果对应的文本代码
"...tutto sia correlato con tutto il resto, ma oggetti vicini siano più correlati di oggetti lontani".
请问我该如何修复这个问题?
解决方案
这个问题是加载意大利语语言包babel和引用格式化包csquotes后,LaTeX自动遵循意大利语排版规范,将句末标点调整到了引号内部导致的,可以根据需求选择以下任意一种方法修复:
- 方法1:临时修复单处位置
如果只有少数几处需要调整,在右引号和句号之间插入零宽间距命令\kern0pt打断自动调整逻辑即可,修改后代码如下:
"...tutto sia correlato con tutto il resto, ma oggetti vicini siano più correlati di oggetti lontani"\kern0pt.
- 方法2:全局禁用标点位置自动调整
如果希望所有文档内容都按照手动输入的标点位置渲染,不需要遵循意大利语默认排版规则,在导言区加载babel的代码之后添加配置即可:
\usepackage[italian]{babel} \makeatletter \def\Italian@punctuation#1{} \makeatother
- 方法3:使用规范的引用命令
建议使用csquotes包提供的\enquote{}命令包裹引用内容,不要直接打"符号,既可以自动适配左右引号样式,也可以手动控制标点位置:
\enquote{...tutto sia correlato con tutto il resto, ma oggetti vicini siano più correlati di oggetti lontani}.
如果用这种写法还是出现标点移位,在导言区添加以下配置即可:
\SetBlockEnvironment{quotation}{\kern0pt} \renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
内容的提问来源于stack exchange,提问作者FranzGoogle
相关产品推荐
相关产品推荐

