如何使用不同的描述逻辑符号来格式化文本?

如何使用不同的描述逻辑符号来格式化文本?

我有以下内容:

\textbf{Example 1.2:} In figure 1, \(Joint\_Structure \in SNOMED CT\) 
while \(FMA\models\neg(Joint\equiv set\_of\_Joints)\). If the mappings 
\(Joint\_Structure,Joint,\equiv)\) and \(Joint\_Structure 
Sets\_of\_Joints},\equiv)\) exist in the final alignment, the mappings 
should be flagged as unstable since they introduce new relationship 
\(Sets\_of\_Joints\equiv Joint\) in the merged ontology that is not 
entailed in FMA which is the origin of the entities.

当我编译它时,LaTeX 会在单词之间放置较大的空格。我该如何修复它?

在此处输入图片描述

答案1

您要打印的物体非常宽,但线条长度却很窄。

我可以重现错误的间距(并修复以避免错误的字体)。请注意,不建议使用明确的数字:最好使用更高级的方法,使源独立于实际分配的数字。

\documentclass[twocolumn]{article}
\usepackage{amsmath,amsthm}

\newcommand{\lvar}[1]{\mathrm{#1}}

\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{example}[theorem]{Example}

\begin{document}

\section{First}

\begin{theorem}
Some statement
\end{theorem}

\begin{example}
In figure~\ref{jointstr}, \(\lvar{Joint\_Structure} \in \lvar{SNOMEDCT}\) 
while \(\lvar{FMA}\models\neg(\lvar{Joint}\equiv \lvar{set\_of\_Joints})\).
If the mappings \((\lvar{Joint\_Structure},\lvar{Joint},\equiv)\) and 
\((\lvar{Joint\_Structure},\lvar{Sets\_of\_Joints},\equiv)\) exist in the 
final alignment, the mappings should be flagged as unstable since they 
introduce new relationship \(\lvar{Sets\_of\_Joints}\equiv \lvar{Joint}\) in the 
merged ontology that is not entailed in \(\lvar{FMA}\) which is the origin 
of the entities.
\end{example}


\begin{figure}
\centering
A figure

\caption{A caption\label{jointstr}}
\end{figure}

\end{document}

在此处输入图片描述

你真的无能为力。在这些困难的情况下,一个可能的策略是让关系符号周围的空间具有一定的可收缩性。如果我这样做

\begin{example}
\setlength\thickmuskip{5mu plus 5mu minus 3mu} % local setting
In figure~\ref{jointstr}, \(\lvar{Joint\_Structure} \in \lvar{SNOMEDCT}\)
while \(\lvar{FMA}\models\neg(\lvar{Joint}\equiv \lvar{set\_of\_Joints})\).

(其余不变),我得到

在此处输入图片描述

然而,改写通常是最好的策略。你最清楚该怎么做。

答案2

我想对 @egreg 的出色回答添加一条评论:当换行任务变得非常困难时,就像在这种情况下一样,您可能希望在您通常不会这样做的地方允许换行。根据您的文本,我可以\hbox通过执行以下操作完全避免不完整的 es:

  • 允许在逗号后断开公式(这通常是被禁止的);

  • 允许逻辑变量的标识符在下划线后断开;

  • 明确指出单词可以使用连字符的附加点。

请允许我针对最后一点发表一些评论。尽管 TeX 在数学模式下不会自动为“单词”添加连字符,但显式\discretionary{...}{...}{} 在该模式下允许,并按预期运行(第三个字段必须是空的,看见TeXbook,第 292 页);但不幸的是,在数学模式下使用\mathit{...}\textit{...}(或\mathrm{...}和)都会引入额外的装箱级别,从而阻止自由裁量。在(或)\textrm{...}的情况下可以弥补这一点,但另一方面,像“Set_of_Joints”这样的标识符最好使用(或)排版,因为数学模式下斜体校正的处理方式(有关详细信息,请参阅\mathit\mathrm\textit\textrmTeXbook附录 G,规则 14),以及这种处理对“f_”等组合的影响(是的,这个@egreg 的答案中有一个小缺陷)。 补救措施是进入和退出数学模式,如以下代码所示:

\documentclass[twocolumn]{article}
\usepackage{amsmath,amsthm}

\newcommand{\lvar}[1]{\textit{#1}}

\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{example}[theorem]{Example}

\newcommand*{\brul}{\discretionary{\_}{}{\_}}



\begin{document}

\section{A section title}

\begin{theorem}
Some statement
\end{theorem}

\begin{example}
    % Local settings:
    \binoppenalty = \exhyphenpenalty
    \relpenalty = \exhyphenpenalty
    % We disable on purpose egreg's remedy, to emphasize the effects of ours:
    % \setlength\thickmuskip{5mu plus 5mu minus 3mu} % local setting
    In figure~\ref{jointstr}, \(\lvar{Joint\_Struc\-ture} \in
    \lvar{SNO}\)\lvar{\-MED CT} while \(\lvar{FMA}\models\neg(\lvar{Joint}\equiv
    \lvar{set\_}\)\lvar{\brul of\brul Joints}$)$.  If the mappings
    $($\lvar{Joint\_Struc\-}\(\lvar{ture},\allowbreak \lvar{Joint},\allowbreak
    {\equiv})\) and $($\lvar{Joint\brul Struc\-}\(\lvar{ture},\allowbreak
    \lvar{Sets}\)\lvar{\brul of\brul}\(\lvar{Joints},\allowbreak \equiv)\) exist
    in the final alignment, the mappings should be flagged as unstable since
    they introduce new relationship \lvar{Sets\brul
    of\brul}\(\lvar{Joints}\equiv \lvar{Joint}\) in the merged ontology that is
    not entailed in \(\lvar{FMA}\) which is the origin of the entities.
\end{example}

Compare \( \textit{Set\_of\_Joints} \) with \( \mathit{Set\_of\_Joints} \): the
latter includes the italic correction after the~``\textit{f}''.

\begin{figure}
\centering
A figure

\caption{A caption\label{jointstr}}
\end{figure}

\end{document}

然而,值得注意的是,只有当参数\mathsurround等于零(在 LaTeX 中通常如此)时,这才会按预期工作(如果且)。

无论如何,在这种情况下,您应该考虑至少显示一些公式。

以下是我们的代码示例的输出:

示例代码的输出

相关内容