当前位置: 首页 > 知识库问答 >
问题:

如何在DITA OT和FOP中使用时恢复中的间距

屠德宇
2023-03-14

对于我们的PDF用户指南,我们使用

这是

<codeblock>&lt;ExpressAccess&gt;
                  &lt;Class&gt;ExpressAccess&lt;/Class&gt;
                  &lt;Version&gt;1&lt;/Version&gt;
                  &lt;Members&gt;
                              &lt;DisableAllAdmin&gt;0&lt;/DisableAllAdmin&gt;
                  &lt;/Members&gt;
     &lt;/ExpressAccess&gt;</codeblock> 

这是我们用来呈现它的XSLT:

<fo:block xsl:use-attribute-sets="pre">            
  <xsl:call-template name="commonattributes"/>
  <xsl:call-template name="setFrame"/>
  <xsl:call-template name="setScale"/>
  <xsl:call-template name="setExpanse"/>
            
  <fo:bidi-override direction="ltr" unicode-bidi="bidi-override">
    <xsl:apply-templates/>
  </fo:bidi-override>
</fo:block>

以下是从左到右语言的输出:

但在阿拉伯语中,输出如下所示:

以下是两种情况的结果 FO 代码

<fo:block background-color="#D9D9D6" font-size="9pt" line-height="106%" linefeed-treatment="preserve" space-after="0.6em" space-before="0.6em" text-align="start" white-space-collapse="false" white-space-treatment="preserve" wrap-option="wrap" line-height-shift-adjustment="disregard-shifts" font-family="Courier New"><fo:bidi-override direction="ltr" unicode-bidi="bidi-override">&lt;ExpressAccess&gt;
                  &lt;Class&gt;ExpressAccess&lt;/Class&gt;
                  &lt;Version&gt;1&lt;/Version&gt;
                  &lt;Members&gt;
                              &lt;DisableAllAdmin&gt;0&lt;/DisableAllAdmin&gt;
                  &lt;/Members&gt;
     &lt;/ExpressAccess&gt;</fo:bidi-override></fo:block>

这是用DITA OT 3.6.1和附带的FOP 2.5生成的。感谢任何帮助。谢谢你。

更新:我尝试了Kevin Brown提供的修复程序。当我在块中添加text-领导="左"时,代码块向左对齐,保留了空格和缩进。但是最后一行仍然有错误放置的右括号的问题(

共有1个答案

阎德义
2023-03-14

我相信您已经在更高的级别上设置了文本对齐和文本对齐,这会导致代码块右对齐。我这样做了:

            <fo:flow flow-name="xsl-region-body" direction="rtl" font-family="Arial" text-align="right" text-align-last="right">
            <fo:block>سيقوم أخصائي التخدير (طبيب مؤهل في التخدير) بإجراء التخدير فوق الجافية لك. وفي العادة، يُعاون أخصائي التخدير طبيب ممارس من فريق الرعاية الصحية ومؤهل بشكل خاص.</fo:block>                 
            <fo:block background-color="#D9D9D6" font-size="9pt" line-height="106%" linefeed-treatment="preserve" space-after="0.6em" space-before="0.6em" text-align="left" text-align-last="left" white-space-collapse="false" white-space-treatment="preserve" wrap-option="wrap" line-height-shift-adjustment="disregard-shifts" font-family="Courier New">
                <fo:bidi-override direction="ltr" unicode-bidi="bidi-override">
&lt;ExpressAccess&gt;
     &lt;Class&gt;ExpressAccess&lt;/Class&gt;
     &lt;Version&gt;1&lt;/Version&gt;
     &lt;Members&gt;
          &lt;DisableAllAdmin&gt;0&lt;/DisableAllAdmin&gt;
     &lt;/Members&gt;
&lt;/ExpressAccess&gt;
                </fo:bidi-override>
            </fo:block>
        </fo:flow>

这产生了这样的结果:

 类似资料:
  • 我必须实现创建暂停和恢复状态音频的应用程序,当我的应用程序作为启动时,音频是启动的,当我按下模拟器上的后退按钮时,音频音乐处于暂停状态,但当我的活动从停止状态返回前台时,我的音频音乐不会恢复。这是我的密码。

  • 问题内容: 我写了Python脚本来处理大量的大文本文件,并且可能 要花费很多时间 。有时,需要停止正在运行的脚本并在以后恢复它。停止脚本的可能原因是程序崩溃,磁盘空间不足或需要执行此操作的其他原因。我想为脚本实现一种“停止/恢复”机制。 在 车站 :脚本退出和保存其当前状态。 在 简历 :剧本开始,但是从最新的保存状态持续 我将使用 pickle 和 信号 模块来实现它。 我将很高兴听到如何以p

  • 我有一个ViewPager有3个碎片绑定在FragmentPagerAdapter在一个FragmentActivity中,当我切换到不同的应用程序,回到我的应用程序后,或者在一个输入调用后,碎片没有恢复到以前的状态,一个碎片完全消失了,一些碎片按钮点击不工作..但在模拟器中它的工作很好 帮帮我吧...

  • 我正在尝试使用Rest服务,该服务接收带有密钥的图像。我正在Visual Studio 2017中使用RestSharp v.106.10.1。我有下面的代码,执行时返回一条带有服务器响应的消息,表示包到达时没有映像。你能帮我弄清楚我做错了什么吗?。 这是我的密码 邮递员寄信的方式是这样的。头contentType:application/x-www-form-urlencoded,表单数据中的主

  • 我编码一个tempmute命令,我想让机器人在JDA重新启动后恢复计时器,如何做到这一点?

  • Recover 中间件 Recover 中间件从 panic 链中的任意位置恢复程序, 打印堆栈的错误信息,并将错误集中交给 HTTPErrorHandler 处理。 使用 e.Use(middleware.Recover()) 自定义配置 使用 e := echo.New() e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{