我收到了一些波兰语文本,其中包含对话。我刚刚了解到,在波兰语排版中,对话中的每个语句都以破折号开头后跟一个固定宽度的空格。现在我有很多这样的案例:
\textit{--- Jaki jest język wietnamski?} \\
\textit{--- Język wietnamski nie jest trudny.} \\
生成结果:
显然,这是不是固定宽度空格。我在以下文章中找到了有关如何在文本中获取固定宽度空格的描述:“固定宽度的单词间距”但在我看来,这太复杂了,无法用于本例。有没有简单的方法可以将这些空格(位于“开头”破折号后面的空格)更改为固定宽度的空格?定义一些固定宽度的空格(\newcommand
)也可能有效...
答案1
把这个放在序言里
\newcommand{\opendialog}{---\enspace}
\newcommand{\dialog}[1]{\opendialog\textit{#1}}
并在文件中,
\dialog{To be or not to be, that is the question}
完整示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}
\newcommand{\opendialog}{---\enspace}
\newcommand{\dialog}[1]{\opendialog\textit{#1}}
\setlength{\textwidth}{5.1cm} % just to make the text wrap
\begin{document}
\dialog{Jaki jest język wietnamski?}
\dialog{Język wietnamski nie jest trudny.}
\end{document}
您可能不想使用 0.5em 的空间,而是\enspace
希望使用更小的空间。使用宏的一大优势是,您只需在一个地方进行操作即可更改整体外观。
答案2
答案3
- 加载
babel
你的语言以获得正确的连字符 - 加载
microtype
修复了许多这些问题 将对话放入一个组中并放入
\RaggedRight
其中。这会将所有内容刷新到左侧。我建议为此编写一个命令或环境。% arara: pdflatex \documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[polish]{babel} \setlength{\textwidth}{4.3cm} % guessing something which produces your screen-shot \usepackage{microtype} \usepackage{ragged2e} \usepackage{blindtext} %just for demo \begin{document} \blindtext \noindent {\RaggedRight \textit{--- Jaki jest język wietnamski?} \par \textit{--- Język wietnamski nie jest trudny.} \par } \noindent \blindtext \end{document}
这样的自定义命令可以是
\newcommand{\dialogowac}[1]{{\par\RaggedRight\textit{--- #1}\par}}
但是如果您开始一个新段落,则不会有缩进。