<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.bayernflora.de/index.php?action=history&amp;feed=atom&amp;title=Vorlage%3AForce_last_punctuation</id>
	<title>Vorlage:Force last punctuation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.bayernflora.de/index.php?action=history&amp;feed=atom&amp;title=Vorlage%3AForce_last_punctuation"/>
	<link rel="alternate" type="text/html" href="https://www.bayernflora.de/index.php?title=Vorlage:Force_last_punctuation&amp;action=history"/>
	<updated>2026-10-12T21:48:55Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Flora von Bayern</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.bayernflora.de/index.php?title=Vorlage:Force_last_punctuation&amp;diff=151&amp;oldid=prev</id>
		<title>imported&gt;Iris Leininger: 1 Version</title>
		<link rel="alternate" type="text/html" href="https://www.bayernflora.de/index.php?title=Vorlage:Force_last_punctuation&amp;diff=151&amp;oldid=prev"/>
		<updated>2013-10-23T11:24:09Z</updated>

		<summary type="html">&lt;p&gt;1 Version&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 23. Oktober 2013, 13:24 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Iris Leininger</name></author>
	</entry>
	<entry>
		<id>https://www.bayernflora.de/index.php?title=Vorlage:Force_last_punctuation&amp;diff=5061&amp;oldid=prev</id>
		<title>imported&gt;Andreas Plank: docu</title>
		<link rel="alternate" type="text/html" href="https://www.bayernflora.de/index.php?title=Vorlage:Force_last_punctuation&amp;diff=5061&amp;oldid=prev"/>
		<updated>2011-09-08T14:25:05Z</updated>

		<summary type="html">&lt;p&gt;docu&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#if: {{{1|}}}&amp;lt;!-- (1) Parameter 1 given?&lt;br /&gt;
  {{{1|}}} → punctuation&lt;br /&gt;
  {{{2|}}} → string&lt;br /&gt;
THEN --&amp;gt;|&amp;lt;!--&lt;br /&gt;
  CASES , ; : . ! ?&lt;br /&gt;
&lt;br /&gt;
  --&amp;gt;{{#switch:{{Trim|{{{1|}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force comma as last character&lt;br /&gt;
  --&amp;gt;|,= &amp;lt;!--&lt;br /&gt;
  :&lt;br /&gt;
    ;&lt;br /&gt;
      .&lt;br /&gt;
        !&lt;br /&gt;
          ?&lt;br /&gt;
            , comma&lt;br /&gt;
--&amp;gt;{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes : → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: : | {{{allow|}}} |&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;|,}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes ; → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ; | {{{allow|}}} |&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;|,}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes . → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: . | {{{allow|}}} |.|,}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes ! → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ! | {{{allow|}}} |!|,}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes ? → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ? | {{{allow|}}} |?|,}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes ,&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}},&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force semicolon as last character&lt;br /&gt;
  --&amp;gt;|;= &amp;lt;!--&lt;br /&gt;
  .&lt;br /&gt;
    !&lt;br /&gt;
      ?&lt;br /&gt;
        ,&lt;br /&gt;
          :&lt;br /&gt;
            ; semicolon&lt;br /&gt;
--&amp;gt;{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes . → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: . | {{{allow|}}} |.|&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes ! → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ! | {{{allow|}}} |!|&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes ? → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ? | {{{allow|}}} |?|&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes , → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: , | {{{allow|}}} |,|&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes : → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: : | {{{allow|}}} |&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes ;&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}};&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force colon as last character&lt;br /&gt;
  --&amp;gt;|:= &amp;lt;!--&lt;br /&gt;
  ;&lt;br /&gt;
    .&lt;br /&gt;
      !&lt;br /&gt;
        ?&lt;br /&gt;
          ,&lt;br /&gt;
            : colon → Beware! It becomes indentation if parsed through {{#if: }} etc.&lt;br /&gt;
--&amp;gt;{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes ; → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ; | {{{allow|}}} |&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes . → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: . | {{{allow|}}} |.|&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes ! → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ! | {{{allow|}}} |!|&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes ? → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ? | {{{allow|}}} |?|&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes , → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: , | {{{allow|}}} |,|&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes :&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}}:&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
   CASE: force dot as last character&lt;br /&gt;
  --&amp;gt;|.= &amp;lt;!--&lt;br /&gt;
  !&lt;br /&gt;
    ?&lt;br /&gt;
      ,&lt;br /&gt;
        :&lt;br /&gt;
          ;&lt;br /&gt;
            . dot&lt;br /&gt;
--&amp;gt;{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes ! → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ! | {{{allow|}}} |!|.}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes ? → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ? | {{{allow|}}} |?|.}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes , → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: , | {{{allow|}}} |,|.}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes : → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: : | {{{allow|}}} |&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;|.}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes ; → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ; | {{{allow|}}} |&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;|.}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes .&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}}.&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force exclamation mark as last character&lt;br /&gt;
  --&amp;gt;|!=  &amp;lt;!--&lt;br /&gt;
  ?&lt;br /&gt;
    ,&lt;br /&gt;
      :&lt;br /&gt;
        ;&lt;br /&gt;
          .&lt;br /&gt;
            ! exclamation mark&lt;br /&gt;
--&amp;gt;{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes ? → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ? | {{{allow|}}} |?|!}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes , → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: , | {{{allow|}}} |,|!}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes : → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: : | {{{allow|}}} |&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;|!}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes ; → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ; | {{{allow|}}} |&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;|!}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes . → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: . | {{{allow|}}} |.|!}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes !&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}}!&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force question mark as last character&lt;br /&gt;
  --&amp;gt;|?=  &amp;lt;!--&lt;br /&gt;
  ,&lt;br /&gt;
    :&lt;br /&gt;
      ;&lt;br /&gt;
        .&lt;br /&gt;
          !&lt;br /&gt;
            ? question mark&lt;br /&gt;
--&amp;gt;{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes , → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: , | {{{allow|}}} | ,|?}}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes : → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: : | {{{allow|}}} |&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;|?}}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes ; → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ; | {{{allow|}}} |&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;|?}}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes . → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: . | {{{allow|}}} |.|?}}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes ! → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}{{#ifeq: ! | {{{allow|}}} |!|?}}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes ?&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
               possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}}?&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  CASE: force no punctuation&lt;br /&gt;
  --&amp;gt;| delete = &amp;lt;!--&lt;br /&gt;
  ;&lt;br /&gt;
    .&lt;br /&gt;
      !&lt;br /&gt;
        ?&lt;br /&gt;
          ,&lt;br /&gt;
            :&lt;br /&gt;
              no punctuation&lt;br /&gt;
--&amp;gt;{{#ifeq: ; |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
    yes ; → remove last character + punctuation&lt;br /&gt;
  --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
      other&lt;br /&gt;
  --&amp;gt;|{{#ifeq: . |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
      yes . → remove last character + punctuation&lt;br /&gt;
    --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
        other&lt;br /&gt;
    --&amp;gt;|{{#ifeq: ! |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
        yes ! → remove last character + punctuation&lt;br /&gt;
      --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
          other&lt;br /&gt;
      --&amp;gt;|{{#ifeq: ? |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
          yes ? → remove last character + punctuation&lt;br /&gt;
        --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
            other&lt;br /&gt;
        --&amp;gt;|{{#ifeq: , |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
            yes , → remove last character + punctuation&lt;br /&gt;
          --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
              other&lt;br /&gt;
          --&amp;gt;|{{#ifeq: : |{{#sub: {{{2|}}}|-1}}&amp;lt;!--&lt;br /&gt;
              yes : → remove just last character&lt;br /&gt;
            --&amp;gt;|{{#sub: {{{2|}}} | 0 | {{#expr: {{#len: {{{2|}}} }} - 1 }} }}&amp;lt;!--&lt;br /&gt;
                possibly no punctuation found&lt;br /&gt;
            --&amp;gt;|{{{2|}}}&amp;lt;!--&lt;br /&gt;
          --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
        --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
    --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
  TODO something other to implement?&lt;br /&gt;
  --&amp;gt;| #default = {{{2|}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--&lt;br /&gt;
ELSE  --&amp;gt;|&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
//////////////////////////&lt;br /&gt;
// (3) Error handling, hints about usage&lt;br /&gt;
//////////////////////////&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;{{TemplateError | text = &amp;lt;!--&lt;br /&gt;
 (3) Examples here  --&amp;gt;&lt;br /&gt;
This template checks for the last punctuation character and removes it if there should be comma (,) colon (:) semicolon (;) exclamation mark (!) question mark (?) or a dot (.). So it forces to be there one of these characters. But it can also remove the last character. Examples:&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | : |Text had a dot.}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text had a dot:&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | . |Text and question mark remains? | allow = ? }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text and question mark remains? (force a dot if no question mark)&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | delete |Text had a question mark?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text had a question mark&lt;br /&gt;
&lt;br /&gt;
There exist also the [[template: remove last punctuation]], which is just a wrapper to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | delete |Text had a question mark?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 --&amp;gt;}}&amp;lt;!-- end error handling --&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- if {{{1|}}} end --&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
 (4) Short documentation here.&lt;br /&gt;
     Otherwise use {{documentation}} here and&lt;br /&gt;
     add later a larger documantation on a seperate&lt;br /&gt;
     page “Template_name/doc”&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
This template checks for the last punctuation character and removes it if there should be comma (,) colon (:) semicolon (;) exclamation mark (!) question mark (?) or a dot (.). So it forces to be there one of these characters. But it can also remove the last character. Examples:&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | : |Text had a dot.}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text had a dot:&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | . |Text and question mark remains? | allow = ? }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text and question mark remains? (force a dot if no question mark)&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | delete |Text had a question mark?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → Text had a question mark&lt;br /&gt;
&lt;br /&gt;
There exist also the [[template: remove last punctuation]], which is just a wrapper to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{force last punctuation | delete |Text had a question mark?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
[[Category: {{#switch: {{CONTENTLANGUAGE}}&lt;br /&gt;
| de = Vorlagenprogrammierung&lt;br /&gt;
| en = Template programming&lt;br /&gt;
| #default = Template programming&lt;br /&gt;
}}&amp;lt;!-- end-switch --&amp;gt;]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
   (5) sorting&lt;br /&gt;
--&amp;gt;{{DEFAULTSORT: {{PAGENAME}} }}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Andreas Plank</name></author>
	</entry>
</feed>